diff options
author | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2016-06-27 21:23:35 (GMT) |
---|---|---|
committer | Daniel Pfeifer <daniel@pfeifer-mail.de> | 2016-06-27 21:24:39 (GMT) |
commit | b4b73f56a26c1e1d630e3f262d2d4bafee8231c4 (patch) | |
tree | d1cd9d291b59476041057b2154693a2c430e228c /Source | |
parent | a7a92390964ea5aa7021f71ee69fcc71c4229516 (diff) | |
download | CMake-b4b73f56a26c1e1d630e3f262d2d4bafee8231c4.zip CMake-b4b73f56a26c1e1d630e3f262d2d4bafee8231c4.tar.gz CMake-b4b73f56a26c1e1d630e3f262d2d4bafee8231c4.tar.bz2 |
cxx features: add check for nullptr
Diffstat (limited to 'Source')
-rw-r--r-- | Source/Checks/cm_cxx_features.cmake | 1 | ||||
-rw-r--r-- | Source/Checks/cm_cxx_nullptr.cxx | 14 | ||||
-rw-r--r-- | Source/cmConfigure.cmake.h.in | 7 |
3 files changed, 22 insertions, 0 deletions
diff --git a/Source/Checks/cm_cxx_features.cmake b/Source/Checks/cm_cxx_features.cmake index 18dbaf8..6fde7b6 100644 --- a/Source/Checks/cm_cxx_features.cmake +++ b/Source/Checks/cm_cxx_features.cmake @@ -32,6 +32,7 @@ function(cm_check_cxx_feature name) endfunction() if(CMAKE_CXX_STANDARD) + cm_check_cxx_feature(nullptr) cm_check_cxx_feature(override) cm_check_cxx_feature(unordered_map) cm_check_cxx_feature(unordered_set) diff --git a/Source/Checks/cm_cxx_nullptr.cxx b/Source/Checks/cm_cxx_nullptr.cxx new file mode 100644 index 0000000..500684a --- /dev/null +++ b/Source/Checks/cm_cxx_nullptr.cxx @@ -0,0 +1,14 @@ +int test(int) +{ + return -1; +} + +int test(int*) +{ + return 0; +} + +int main() +{ + return test(nullptr); +} diff --git a/Source/cmConfigure.cmake.h.in b/Source/cmConfigure.cmake.h.in index a8d4f58..7e48b2d 100644 --- a/Source/cmConfigure.cmake.h.in +++ b/Source/cmConfigure.cmake.h.in @@ -29,12 +29,19 @@ #cmakedefine CMAKE_USE_ELF_PARSER #cmakedefine CMAKE_USE_MACH_PARSER #cmakedefine CMAKE_ENCODING_UTF8 +#cmakedefine CMake_HAVE_CXX_NULLPTR #cmakedefine CMake_HAVE_CXX_OVERRIDE #cmakedefine CMake_HAVE_CXX_UNORDERED_MAP #cmakedefine CMake_HAVE_CXX_UNORDERED_SET #define CMAKE_BIN_DIR "/@CMAKE_BIN_DIR@" #define CMAKE_DATA_DIR "/@CMAKE_DATA_DIR@" +#ifdef CMake_HAVE_CXX_NULLPTR +#define CM_NULLPTR nullptr +#else +#define CM_NULLPTR 0 +#endif + #ifdef CMake_HAVE_CXX_OVERRIDE #define CM_OVERRIDE override #else |