]> gitweb.ps.run Git - toc/blobdiff - antlr4-cpp-runtime-4.9.2-source/runtime/build/CMakeFiles/3.17.2/CompilerIdC/CMakeCCompilerId.c
add antlr source code and ReadMe
[toc] / antlr4-cpp-runtime-4.9.2-source / runtime / build / CMakeFiles / 3.17.2 / CompilerIdC / CMakeCCompilerId.c
diff --git a/antlr4-cpp-runtime-4.9.2-source/runtime/build/CMakeFiles/3.17.2/CompilerIdC/CMakeCCompilerId.c b/antlr4-cpp-runtime-4.9.2-source/runtime/build/CMakeFiles/3.17.2/CompilerIdC/CMakeCCompilerId.c
new file mode 100644 (file)
index 0000000..2d12d8f
--- /dev/null
@@ -0,0 +1,671 @@
+#ifdef __cplusplus\r
+# error "A C++ compiler has been selected for C."\r
+#endif\r
+\r
+#if defined(__18CXX)\r
+# define ID_VOID_MAIN\r
+#endif\r
+#if defined(__CLASSIC_C__)\r
+/* cv-qualifiers did not exist in K&R C */\r
+# define const\r
+# define volatile\r
+#endif\r
+\r
+\r
+/* Version number components: V=Version, R=Revision, P=Patch\r
+   Version date components:   YYYY=Year, MM=Month,   DD=Day  */\r
+\r
+#if defined(__INTEL_COMPILER) || defined(__ICC)\r
+# define COMPILER_ID "Intel"\r
+# if defined(_MSC_VER)\r
+#  define SIMULATE_ID "MSVC"\r
+# endif\r
+# if defined(__GNUC__)\r
+#  define SIMULATE_ID "GNU"\r
+# endif\r
+  /* __INTEL_COMPILER = VRP */\r
+# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100)\r
+# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10)\r
+# if defined(__INTEL_COMPILER_UPDATE)\r
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE)\r
+# else\r
+#  define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER   % 10)\r
+# endif\r
+# if defined(__INTEL_COMPILER_BUILD_DATE)\r
+  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */\r
+#  define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE)\r
+# endif\r
+# if defined(_MSC_VER)\r
+   /* _MSC_VER = VVRR */\r
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)\r
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)\r
+# endif\r
+# if defined(__GNUC__)\r
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUC__)\r
+# elif defined(__GNUG__)\r
+#  define SIMULATE_VERSION_MAJOR DEC(__GNUG__)\r
+# endif\r
+# if defined(__GNUC_MINOR__)\r
+#  define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__)\r
+# endif\r
+# if defined(__GNUC_PATCHLEVEL__)\r
+#  define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)\r
+# endif\r
+\r
+#elif defined(__PATHCC__)\r
+# define COMPILER_ID "PathScale"\r
+# define COMPILER_VERSION_MAJOR DEC(__PATHCC__)\r
+# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__)\r
+# if defined(__PATHCC_PATCHLEVEL__)\r
+#  define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__)\r
+# endif\r
+\r
+#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__)\r
+# define COMPILER_ID "Embarcadero"\r
+# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF)\r
+# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF)\r
+# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__     & 0xFFFF)\r
+\r
+#elif defined(__BORLANDC__)\r
+# define COMPILER_ID "Borland"\r
+  /* __BORLANDC__ = 0xVRR */\r
+# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8)\r
+# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF)\r
+\r
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200\r
+# define COMPILER_ID "Watcom"\r
+   /* __WATCOMC__ = VVRR */\r
+# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100)\r
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)\r
+# if (__WATCOMC__ % 10) > 0\r
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)\r
+# endif\r
+\r
+#elif defined(__WATCOMC__)\r
+# define COMPILER_ID "OpenWatcom"\r
+   /* __WATCOMC__ = VVRP + 1100 */\r
+# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100)\r
+# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10)\r
+# if (__WATCOMC__ % 10) > 0\r
+#  define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10)\r
+# endif\r
+\r
+#elif defined(__SUNPRO_C)\r
+# define COMPILER_ID "SunPro"\r
+# if __SUNPRO_C >= 0x5100\r
+   /* __SUNPRO_C = 0xVRRP */\r
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12)\r
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF)\r
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)\r
+# else\r
+   /* __SUNPRO_CC = 0xVRP */\r
+#  define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8)\r
+#  define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF)\r
+#  define COMPILER_VERSION_PATCH HEX(__SUNPRO_C    & 0xF)\r
+# endif\r
+\r
+#elif defined(__HP_cc)\r
+# define COMPILER_ID "HP"\r
+  /* __HP_cc = VVRRPP */\r
+# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000)\r
+# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100)\r
+# define COMPILER_VERSION_PATCH DEC(__HP_cc     % 100)\r
+\r
+#elif defined(__DECC)\r
+# define COMPILER_ID "Compaq"\r
+  /* __DECC_VER = VVRRTPPPP */\r
+# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000)\r
+# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000  % 100)\r
+# define COMPILER_VERSION_PATCH DEC(__DECC_VER         % 10000)\r
+\r
+#elif defined(__IBMC__) && defined(__COMPILER_VER__)\r
+# define COMPILER_ID "zOS"\r
+  /* __IBMC__ = VRP */\r
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)\r
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)\r
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)\r
+\r
+#elif defined(__ibmxl__) && defined(__clang__)\r
+# define COMPILER_ID "XLClang"\r
+# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__)\r
+# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__)\r
+# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__)\r
+# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__)\r
+\r
+\r
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800\r
+# define COMPILER_ID "XL"\r
+  /* __IBMC__ = VRP */\r
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)\r
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)\r
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)\r
+\r
+#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800\r
+# define COMPILER_ID "VisualAge"\r
+  /* __IBMC__ = VRP */\r
+# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100)\r
+# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10)\r
+# define COMPILER_VERSION_PATCH DEC(__IBMC__    % 10)\r
+\r
+#elif defined(__PGI)\r
+# define COMPILER_ID "PGI"\r
+# define COMPILER_VERSION_MAJOR DEC(__PGIC__)\r
+# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__)\r
+# if defined(__PGIC_PATCHLEVEL__)\r
+#  define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__)\r
+# endif\r
+\r
+#elif defined(_CRAYC)\r
+# define COMPILER_ID "Cray"\r
+# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR)\r
+# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR)\r
+\r
+#elif defined(__TI_COMPILER_VERSION__)\r
+# define COMPILER_ID "TI"\r
+  /* __TI_COMPILER_VERSION__ = VVVRRRPPP */\r
+# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000)\r
+# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000   % 1000)\r
+# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__        % 1000)\r
+\r
+#elif defined(__FUJITSU) || defined(__FCC_VERSION) || defined(__fcc_version)\r
+# define COMPILER_ID "Fujitsu"\r
+\r
+#elif defined(__ghs__)\r
+# define COMPILER_ID "GHS"\r
+/* __GHS_VERSION_NUMBER = VVVVRP */\r
+# ifdef __GHS_VERSION_NUMBER\r
+# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100)\r
+# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10)\r
+# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER      % 10)\r
+# endif\r
+\r
+#elif defined(__TINYC__)\r
+# define COMPILER_ID "TinyCC"\r
+\r
+#elif defined(__BCC__)\r
+# define COMPILER_ID "Bruce"\r
+\r
+#elif defined(__SCO_VERSION__)\r
+# define COMPILER_ID "SCO"\r
+\r
+#elif defined(__ARMCC_VERSION) && !defined(__clang__)\r
+# define COMPILER_ID "ARMCC"\r
+#if __ARMCC_VERSION >= 1000000\r
+  /* __ARMCC_VERSION = VRRPPPP */\r
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000)\r
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100)\r
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION     % 10000)\r
+#else\r
+  /* __ARMCC_VERSION = VRPPPP */\r
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000)\r
+  # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10)\r
+  # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION    % 10000)\r
+#endif\r
+\r
+\r
+#elif defined(__clang__) && defined(__apple_build_version__)\r
+# define COMPILER_ID "AppleClang"\r
+# if defined(_MSC_VER)\r
+#  define SIMULATE_ID "MSVC"\r
+# endif\r
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)\r
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)\r
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)\r
+# if defined(_MSC_VER)\r
+   /* _MSC_VER = VVRR */\r
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)\r
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)\r
+# endif\r
+# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__)\r
+\r
+#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION)\r
+# define COMPILER_ID "ARMClang"\r
+  # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000)\r
+  # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100)\r
+  # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION     % 10000)\r
+# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION)\r
+\r
+#elif defined(__clang__)\r
+# define COMPILER_ID "Clang"\r
+# if defined(_MSC_VER)\r
+#  define SIMULATE_ID "MSVC"\r
+# endif\r
+# define COMPILER_VERSION_MAJOR DEC(__clang_major__)\r
+# define COMPILER_VERSION_MINOR DEC(__clang_minor__)\r
+# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__)\r
+# if defined(_MSC_VER)\r
+   /* _MSC_VER = VVRR */\r
+#  define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100)\r
+#  define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100)\r
+# endif\r
+\r
+#elif defined(__GNUC__)\r
+# define COMPILER_ID "GNU"\r
+# define COMPILER_VERSION_MAJOR DEC(__GNUC__)\r
+# if defined(__GNUC_MINOR__)\r
+#  define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__)\r
+# endif\r
+# if defined(__GNUC_PATCHLEVEL__)\r
+#  define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__)\r
+# endif\r
+\r
+#elif defined(_MSC_VER)\r
+# define COMPILER_ID "MSVC"\r
+  /* _MSC_VER = VVRR */\r
+# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100)\r
+# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100)\r
+# if defined(_MSC_FULL_VER)\r
+#  if _MSC_VER >= 1400\r
+    /* _MSC_FULL_VER = VVRRPPPPP */\r
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000)\r
+#  else\r
+    /* _MSC_FULL_VER = VVRRPPPP */\r
+#   define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000)\r
+#  endif\r
+# endif\r
+# if defined(_MSC_BUILD)\r
+#  define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD)\r
+# endif\r
+\r
+#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__)\r
+# define COMPILER_ID "ADSP"\r
+#if defined(__VISUALDSPVERSION__)\r
+  /* __VISUALDSPVERSION__ = 0xVVRRPP00 */\r
+# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24)\r
+# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF)\r
+# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8  & 0xFF)\r
+#endif\r
+\r
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)\r
+# define COMPILER_ID "IAR"\r
+# if defined(__VER__) && defined(__ICCARM__)\r
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000)\r
+#  define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000)\r
+#  define COMPILER_VERSION_PATCH DEC((__VER__) % 1000)\r
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)\r
+# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__))\r
+#  define COMPILER_VERSION_MAJOR DEC((__VER__) / 100)\r
+#  define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100))\r
+#  define COMPILER_VERSION_PATCH DEC(__SUBVERSION__)\r
+#  define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__)\r
+# endif\r
+\r
+#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC)\r
+# define COMPILER_ID "SDCC"\r
+# if defined(__SDCC_VERSION_MAJOR)\r
+#  define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR)\r
+#  define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR)\r
+#  define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH)\r
+# else\r
+  /* SDCC = VRP */\r
+#  define COMPILER_VERSION_MAJOR DEC(SDCC/100)\r
+#  define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10)\r
+#  define COMPILER_VERSION_PATCH DEC(SDCC    % 10)\r
+# endif\r
+\r
+\r
+/* These compilers are either not known or too old to define an\r
+  identification macro.  Try to identify the platform and guess that\r
+  it is the native compiler.  */\r
+#elif defined(__hpux) || defined(__hpua)\r
+# define COMPILER_ID "HP"\r
+\r
+#else /* unknown compiler */\r
+# define COMPILER_ID ""\r
+#endif\r
+\r
+/* Construct the string literal in pieces to prevent the source from\r
+   getting matched.  Store it in a pointer rather than an array\r
+   because some compilers will just produce instructions to fill the\r
+   array rather than assigning a pointer to a static array.  */\r
+char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]";\r
+#ifdef SIMULATE_ID\r
+char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]";\r
+#endif\r
+\r
+#ifdef __QNXNTO__\r
+char const* qnxnto = "INFO" ":" "qnxnto[]";\r
+#endif\r
+\r
+#if defined(__CRAYXE) || defined(__CRAYXC)\r
+char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]";\r
+#endif\r
+\r
+#define STRINGIFY_HELPER(X) #X\r
+#define STRINGIFY(X) STRINGIFY_HELPER(X)\r
+\r
+/* Identify known platforms by name.  */\r
+#if defined(__linux) || defined(__linux__) || defined(linux)\r
+# define PLATFORM_ID "Linux"\r
+\r
+#elif defined(__CYGWIN__)\r
+# define PLATFORM_ID "Cygwin"\r
+\r
+#elif defined(__MINGW32__)\r
+# define PLATFORM_ID "MinGW"\r
+\r
+#elif defined(__APPLE__)\r
+# define PLATFORM_ID "Darwin"\r
+\r
+#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)\r
+# define PLATFORM_ID "Windows"\r
+\r
+#elif defined(__FreeBSD__) || defined(__FreeBSD)\r
+# define PLATFORM_ID "FreeBSD"\r
+\r
+#elif defined(__NetBSD__) || defined(__NetBSD)\r
+# define PLATFORM_ID "NetBSD"\r
+\r
+#elif defined(__OpenBSD__) || defined(__OPENBSD)\r
+# define PLATFORM_ID "OpenBSD"\r
+\r
+#elif defined(__sun) || defined(sun)\r
+# define PLATFORM_ID "SunOS"\r
+\r
+#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__)\r
+# define PLATFORM_ID "AIX"\r
+\r
+#elif defined(__hpux) || defined(__hpux__)\r
+# define PLATFORM_ID "HP-UX"\r
+\r
+#elif defined(__HAIKU__)\r
+# define PLATFORM_ID "Haiku"\r
+\r
+#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS)\r
+# define PLATFORM_ID "BeOS"\r
+\r
+#elif defined(__QNX__) || defined(__QNXNTO__)\r
+# define PLATFORM_ID "QNX"\r
+\r
+#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__)\r
+# define PLATFORM_ID "Tru64"\r
+\r
+#elif defined(__riscos) || defined(__riscos__)\r
+# define PLATFORM_ID "RISCos"\r
+\r
+#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__)\r
+# define PLATFORM_ID "SINIX"\r
+\r
+#elif defined(__UNIX_SV__)\r
+# define PLATFORM_ID "UNIX_SV"\r
+\r
+#elif defined(__bsdos__)\r
+# define PLATFORM_ID "BSDOS"\r
+\r
+#elif defined(_MPRAS) || defined(MPRAS)\r
+# define PLATFORM_ID "MP-RAS"\r
+\r
+#elif defined(__osf) || defined(__osf__)\r
+# define PLATFORM_ID "OSF1"\r
+\r
+#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv)\r
+# define PLATFORM_ID "SCO_SV"\r
+\r
+#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX)\r
+# define PLATFORM_ID "ULTRIX"\r
+\r
+#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX)\r
+# define PLATFORM_ID "Xenix"\r
+\r
+#elif defined(__WATCOMC__)\r
+# if defined(__LINUX__)\r
+#  define PLATFORM_ID "Linux"\r
+\r
+# elif defined(__DOS__)\r
+#  define PLATFORM_ID "DOS"\r
+\r
+# elif defined(__OS2__)\r
+#  define PLATFORM_ID "OS2"\r
+\r
+# elif defined(__WINDOWS__)\r
+#  define PLATFORM_ID "Windows3x"\r
+\r
+# else /* unknown platform */\r
+#  define PLATFORM_ID\r
+# endif\r
+\r
+#elif defined(__INTEGRITY)\r
+# if defined(INT_178B)\r
+#  define PLATFORM_ID "Integrity178"\r
+\r
+# else /* regular Integrity */\r
+#  define PLATFORM_ID "Integrity"\r
+# endif\r
+\r
+#else /* unknown platform */\r
+# define PLATFORM_ID\r
+\r
+#endif\r
+\r
+/* For windows compilers MSVC and Intel we can determine\r
+   the architecture of the compiler being used.  This is because\r
+   the compilers do not have flags that can change the architecture,\r
+   but rather depend on which compiler is being used\r
+*/\r
+#if defined(_WIN32) && defined(_MSC_VER)\r
+# if defined(_M_IA64)\r
+#  define ARCHITECTURE_ID "IA64"\r
+\r
+# elif defined(_M_X64) || defined(_M_AMD64)\r
+#  define ARCHITECTURE_ID "x64"\r
+\r
+# elif defined(_M_IX86)\r
+#  define ARCHITECTURE_ID "X86"\r
+\r
+# elif defined(_M_ARM64)\r
+#  define ARCHITECTURE_ID "ARM64"\r
+\r
+# elif defined(_M_ARM)\r
+#  if _M_ARM == 4\r
+#   define ARCHITECTURE_ID "ARMV4I"\r
+#  elif _M_ARM == 5\r
+#   define ARCHITECTURE_ID "ARMV5I"\r
+#  else\r
+#   define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM)\r
+#  endif\r
+\r
+# elif defined(_M_MIPS)\r
+#  define ARCHITECTURE_ID "MIPS"\r
+\r
+# elif defined(_M_SH)\r
+#  define ARCHITECTURE_ID "SHx"\r
+\r
+# else /* unknown architecture */\r
+#  define ARCHITECTURE_ID ""\r
+# endif\r
+\r
+#elif defined(__WATCOMC__)\r
+# if defined(_M_I86)\r
+#  define ARCHITECTURE_ID "I86"\r
+\r
+# elif defined(_M_IX86)\r
+#  define ARCHITECTURE_ID "X86"\r
+\r
+# else /* unknown architecture */\r
+#  define ARCHITECTURE_ID ""\r
+# endif\r
+\r
+#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC)\r
+# if defined(__ICCARM__)\r
+#  define ARCHITECTURE_ID "ARM"\r
+\r
+# elif defined(__ICCRX__)\r
+#  define ARCHITECTURE_ID "RX"\r
+\r
+# elif defined(__ICCRH850__)\r
+#  define ARCHITECTURE_ID "RH850"\r
+\r
+# elif defined(__ICCRL78__)\r
+#  define ARCHITECTURE_ID "RL78"\r
+\r
+# elif defined(__ICCRISCV__)\r
+#  define ARCHITECTURE_ID "RISCV"\r
+\r
+# elif defined(__ICCAVR__)\r
+#  define ARCHITECTURE_ID "AVR"\r
+\r
+# elif defined(__ICC430__)\r
+#  define ARCHITECTURE_ID "MSP430"\r
+\r
+# elif defined(__ICCV850__)\r
+#  define ARCHITECTURE_ID "V850"\r
+\r
+# elif defined(__ICC8051__)\r
+#  define ARCHITECTURE_ID "8051"\r
+\r
+# else /* unknown architecture */\r
+#  define ARCHITECTURE_ID ""\r
+# endif\r
+\r
+#elif defined(__ghs__)\r
+# if defined(__PPC64__)\r
+#  define ARCHITECTURE_ID "PPC64"\r
+\r
+# elif defined(__ppc__)\r
+#  define ARCHITECTURE_ID "PPC"\r
+\r
+# elif defined(__ARM__)\r
+#  define ARCHITECTURE_ID "ARM"\r
+\r
+# elif defined(__x86_64__)\r
+#  define ARCHITECTURE_ID "x64"\r
+\r
+# elif defined(__i386__)\r
+#  define ARCHITECTURE_ID "X86"\r
+\r
+# else /* unknown architecture */\r
+#  define ARCHITECTURE_ID ""\r
+# endif\r
+#else\r
+#  define ARCHITECTURE_ID\r
+#endif\r
+\r
+/* Convert integer to decimal digit literals.  */\r
+#define DEC(n)                   \\r
+  ('0' + (((n) / 10000000)%10)), \\r
+  ('0' + (((n) / 1000000)%10)),  \\r
+  ('0' + (((n) / 100000)%10)),   \\r
+  ('0' + (((n) / 10000)%10)),    \\r
+  ('0' + (((n) / 1000)%10)),     \\r
+  ('0' + (((n) / 100)%10)),      \\r
+  ('0' + (((n) / 10)%10)),       \\r
+  ('0' +  ((n) % 10))\r
+\r
+/* Convert integer to hex digit literals.  */\r
+#define HEX(n)             \\r
+  ('0' + ((n)>>28 & 0xF)), \\r
+  ('0' + ((n)>>24 & 0xF)), \\r
+  ('0' + ((n)>>20 & 0xF)), \\r
+  ('0' + ((n)>>16 & 0xF)), \\r
+  ('0' + ((n)>>12 & 0xF)), \\r
+  ('0' + ((n)>>8  & 0xF)), \\r
+  ('0' + ((n)>>4  & 0xF)), \\r
+  ('0' + ((n)     & 0xF))\r
+\r
+/* Construct a string literal encoding the version number components. */\r
+#ifdef COMPILER_VERSION_MAJOR\r
+char const info_version[] = {\r
+  'I', 'N', 'F', 'O', ':',\r
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[',\r
+  COMPILER_VERSION_MAJOR,\r
+# ifdef COMPILER_VERSION_MINOR\r
+  '.', COMPILER_VERSION_MINOR,\r
+#  ifdef COMPILER_VERSION_PATCH\r
+   '.', COMPILER_VERSION_PATCH,\r
+#   ifdef COMPILER_VERSION_TWEAK\r
+    '.', COMPILER_VERSION_TWEAK,\r
+#   endif\r
+#  endif\r
+# endif\r
+  ']','\0'};\r
+#endif\r
+\r
+/* Construct a string literal encoding the internal version number. */\r
+#ifdef COMPILER_VERSION_INTERNAL\r
+char const info_version_internal[] = {\r
+  'I', 'N', 'F', 'O', ':',\r
+  'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_',\r
+  'i','n','t','e','r','n','a','l','[',\r
+  COMPILER_VERSION_INTERNAL,']','\0'};\r
+#endif\r
+\r
+/* Construct a string literal encoding the version number components. */\r
+#ifdef SIMULATE_VERSION_MAJOR\r
+char const info_simulate_version[] = {\r
+  'I', 'N', 'F', 'O', ':',\r
+  's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[',\r
+  SIMULATE_VERSION_MAJOR,\r
+# ifdef SIMULATE_VERSION_MINOR\r
+  '.', SIMULATE_VERSION_MINOR,\r
+#  ifdef SIMULATE_VERSION_PATCH\r
+   '.', SIMULATE_VERSION_PATCH,\r
+#   ifdef SIMULATE_VERSION_TWEAK\r
+    '.', SIMULATE_VERSION_TWEAK,\r
+#   endif\r
+#  endif\r
+# endif\r
+  ']','\0'};\r
+#endif\r
+\r
+/* Construct the string literal in pieces to prevent the source from\r
+   getting matched.  Store it in a pointer rather than an array\r
+   because some compilers will just produce instructions to fill the\r
+   array rather than assigning a pointer to a static array.  */\r
+char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]";\r
+char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]";\r
+\r
+\r
+\r
+\r
+#if !defined(__STDC__)\r
+# if (defined(_MSC_VER) && !defined(__clang__)) \\r
+  || (defined(__ibmxl__) || defined(__IBMC__))\r
+#  define C_DIALECT "90"\r
+# else\r
+#  define C_DIALECT\r
+# endif\r
+#elif __STDC_VERSION__ >= 201000L\r
+# define C_DIALECT "11"\r
+#elif __STDC_VERSION__ >= 199901L\r
+# define C_DIALECT "99"\r
+#else\r
+# define C_DIALECT "90"\r
+#endif\r
+const char* info_language_dialect_default =\r
+  "INFO" ":" "dialect_default[" C_DIALECT "]";\r
+\r
+/*--------------------------------------------------------------------------*/\r
+\r
+#ifdef ID_VOID_MAIN\r
+void main() {}\r
+#else\r
+# if defined(__CLASSIC_C__)\r
+int main(argc, argv) int argc; char *argv[];\r
+# else\r
+int main(int argc, char* argv[])\r
+# endif\r
+{\r
+  int require = 0;\r
+  require += info_compiler[argc];\r
+  require += info_platform[argc];\r
+  require += info_arch[argc];\r
+#ifdef COMPILER_VERSION_MAJOR\r
+  require += info_version[argc];\r
+#endif\r
+#ifdef COMPILER_VERSION_INTERNAL\r
+  require += info_version_internal[argc];\r
+#endif\r
+#ifdef SIMULATE_ID\r
+  require += info_simulate[argc];\r
+#endif\r
+#ifdef SIMULATE_VERSION_MAJOR\r
+  require += info_simulate_version[argc];\r
+#endif\r
+#if defined(__CRAYXE) || defined(__CRAYXC)\r
+  require += info_cray[argc];\r
+#endif\r
+  require += info_language_dialect_default[argc];\r
+  (void)argv;\r
+  return require;\r
+}\r
+#endif\r