1#ifdef __cplusplus
2# error "An Objective-C++ compiler has been selected for Objective-C."
3#endif
4
5@CMAKE_OBJC_COMPILER_ID_CONTENT@
6
7/* Construct the string literal in pieces to prevent the source from
8   getting matched.  Store it in a pointer rather than an array
9   because some compilers will just produce instructions to fill the
10   array rather than assigning a pointer to a static array.  */
11char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";
12#ifdef SIMULATE_ID
13char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";
14#endif
15
16#ifdef __QNXNTO__
17char const* qnxnto = "INFO" ":" "qnxnto[]";
18#endif
19
20@CMAKE_OBJC_COMPILER_ID_PLATFORM_CONTENT@
21@CMAKE_OBJC_COMPILER_ID_ERROR_FOR_TEST@
22
23#if !defined(__STDC__)
24# if (defined(_MSC_VER) && !defined(__clang__)) \
25  || (defined(__ibmxl__) || defined(__IBMC__))
26#  define C_VERSION "90"
27# else
28#  define C_VERSION
29# endif
30#elif __STDC_VERSION__ > 201710L
31# define C_VERSION "23"
32#elif __STDC_VERSION__ >= 201710L
33# define C_VERSION "17"
34#elif __STDC_VERSION__ >= 201000L
35# define C_VERSION "11"
36#elif __STDC_VERSION__ >= 199901L
37# define C_VERSION "99"
38#else
39# define C_VERSION "90"
40#endif
41const char* info_language_standard_default =
42  "INFO" ":" "standard_default[" C_VERSION "]";
43
44const char* info_language_extensions_default = "INFO" ":" "extensions_default["
45#if (defined(__clang__) || defined(__GNUC__)) && !defined(__STRICT_ANSI__)
46  "ON"
47#else
48  "OFF"
49#endif
50"]";
51
52/*--------------------------------------------------------------------------*/
53
54int main(int argc, char* argv[])
55{
56  int require = 0;
57  require += info_compiler[argc];
58  require += info_platform[argc];
59  require += info_arch[argc];
60#ifdef COMPILER_VERSION_MAJOR
61  require += info_version[argc];
62#endif
63#ifdef COMPILER_VERSION_INTERNAL
64  require += info_version_internal[argc];
65#endif
66#ifdef SIMULATE_ID
67  require += info_simulate[argc];
68#endif
69#ifdef SIMULATE_VERSION_MAJOR
70  require += info_simulate_version[argc];
71#endif
72  require += info_language_standard_default[argc];
73  require += info_language_extensions_default[argc];
74  (void)argv;
75  return require;
76}
77