1 /* This source file must have a .cpp extension so that all C++ compilers
2 recognize the extension without flags. Borland does not know .cxx for
5 # error "An Objective-C compiler has been selected for Objective-C++."
8 @CMAKE_OBJCXX_COMPILER_ID_CONTENT@
10 /* Construct the string literal in pieces to prevent the source from
11 getting matched. Store it in a pointer rather than an array
12 because some compilers will just produce instructions to fill the
13 array rather than assigning a pointer to a static array. */
14 char const* info_compiler
= "INFO" ":" "compiler[" COMPILER_ID
"]";
16 char const* info_simulate
= "INFO" ":" "simulate[" SIMULATE_ID
"]";
20 char const* qnxnto
= "INFO" ":" "qnxnto[]";
23 @CMAKE_OBJCXX_COMPILER_ID_PLATFORM_CONTENT@
24 @CMAKE_OBJCXX_COMPILER_ID_ERROR_FOR_TEST@
26 #if defined(_MSC_VER) && defined(_MSVC_LANG)
27 #define CXX_STD _MSVC_LANG
29 #define CXX_STD __cplusplus
32 const char* info_language_standard_default
= "INFO" ":" "standard_default["
35 #elfif CXX_STD > 201703L
37 #elif CXX_STD >= 201703L
39 #elif CXX_STD >= 201402L
41 #elif CXX_STD >= 201103L
48 const char* info_language_extensions_default
= "INFO" ":" "extensions_default["
49 #if (defined(__clang__) || defined(__GNUC__)) && !defined(__STRICT_ANSI__)
56 /*--------------------------------------------------------------------------*/
58 int main(int argc
, char* argv
[])
61 require
+= info_compiler
[argc
];
62 require
+= info_platform
[argc
];
63 #ifdef COMPILER_VERSION_MAJOR
64 require
+= info_version
[argc
];
66 #ifdef COMPILER_VERSION_INTERNAL
67 require
+= info_version_internal
[argc
];
70 require
+= info_simulate
[argc
];
72 #ifdef SIMULATE_VERSION_MAJOR
73 require
+= info_simulate_version
[argc
];
75 require
+= info_language_standard_default
[argc
];
76 require
+= info_language_extensions_default
[argc
];