
In Linux C++ terms dialect usually refers to having GNU extensions or not. Change the name to better reflect that this is about the standard version.
68 lines
1.8 KiB
Mathematica
68 lines
1.8 KiB
Mathematica
#ifdef __cplusplus
|
|
# error "An Objective-C++ compiler has been selected for Objective-C."
|
|
#endif
|
|
|
|
@CMAKE_OBJC_COMPILER_ID_CONTENT@
|
|
|
|
/* Construct the string literal in pieces to prevent the source from
|
|
getting matched. Store it in a pointer rather than an array
|
|
because some compilers will just produce instructions to fill the
|
|
array rather than assigning a pointer to a static array. */
|
|
char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
|
|
#ifdef SIMULATE_ID
|
|
char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
|
|
#endif
|
|
|
|
#ifdef __QNXNTO__
|
|
char const* qnxnto = "INFO" ":" "qnxnto[]";
|
|
#endif
|
|
|
|
@CMAKE_OBJC_COMPILER_ID_PLATFORM_CONTENT@
|
|
@CMAKE_OBJC_COMPILER_ID_ERROR_FOR_TEST@
|
|
|
|
#if !defined(__STDC__)
|
|
# if (defined(_MSC_VER) && !defined(__clang__)) \
|
|
|| (defined(__ibmxl__) || defined(__IBMC__))
|
|
# define C_VERSION "90"
|
|
# else
|
|
# define C_VERSION
|
|
# endif
|
|
#elif __STDC_VERSION__ > 201710L
|
|
# define C_VERSION "23"
|
|
#elif __STDC_VERSION__ >= 201710L
|
|
# define C_VERSION "17"
|
|
#elif __STDC_VERSION__ >= 201000L
|
|
# define C_VERSION "11"
|
|
#elif __STDC_VERSION__ >= 199901L
|
|
# define C_VERSION "99"
|
|
#else
|
|
# define C_VERSION "90"
|
|
#endif
|
|
const char* info_language_standard_default =
|
|
"INFO" ":" "standard_default[" C_VERSION "]";
|
|
|
|
/*--------------------------------------------------------------------------*/
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
int require = 0;
|
|
require += info_compiler[argc];
|
|
require += info_platform[argc];
|
|
require += info_arch[argc];
|
|
#ifdef COMPILER_VERSION_MAJOR
|
|
require += info_version[argc];
|
|
#endif
|
|
#ifdef COMPILER_VERSION_INTERNAL
|
|
require += info_version_internal[argc];
|
|
#endif
|
|
#ifdef SIMULATE_ID
|
|
require += info_simulate[argc];
|
|
#endif
|
|
#ifdef SIMULATE_VERSION_MAJOR
|
|
require += info_simulate_version[argc];
|
|
#endif
|
|
require += info_language_standard_default[argc];
|
|
(void)argv;
|
|
return require;
|
|
}
|