2020-06-15 19:01:28 -07:00
|
|
|
(defconst cosmo-cpp-constants-c11
|
|
|
|
'("__STDC_IEC_559__"
|
|
|
|
"__FILE__"
|
|
|
|
"__LINE__"
|
|
|
|
"__DATE__"))
|
|
|
|
|
2020-12-05 12:20:41 -08:00
|
|
|
(defconst cosmo-cpp-constants-chibicc
|
|
|
|
'("__cosmo__"
|
|
|
|
"__chibicc__"))
|
|
|
|
|
2020-06-15 19:01:28 -07:00
|
|
|
(defconst cosmo-cpp-constants-gcc-412
|
2020-08-25 04:23:25 -07:00
|
|
|
'("__BASE_FILE__"
|
|
|
|
"__CHAR_BIT__"
|
|
|
|
"__FUNCTION__"
|
|
|
|
"__GNUC_MINOR__"
|
|
|
|
"__GNUC_PATCHLEVEL__"
|
|
|
|
"__GNUC__"
|
2021-02-08 09:19:00 -08:00
|
|
|
"__APPLE__"
|
2024-03-22 19:27:11 -07:00
|
|
|
"__linux__"
|
2024-07-31 02:09:15 -07:00
|
|
|
"__gnu_linux__"
|
2023-01-20 09:25:45 -08:00
|
|
|
"__HAIKU__"
|
2023-01-08 05:47:18 -08:00
|
|
|
"__CYGWIN__"
|
2023-01-06 19:55:00 -08:00
|
|
|
"__EMSCRIPTEN__"
|
2022-12-21 23:06:55 -08:00
|
|
|
"__ANDROID__"
|
2022-11-03 09:32:12 -07:00
|
|
|
"__FreeBSD__"
|
|
|
|
"__NetBSD__"
|
|
|
|
"__NetBSD_Version__"
|
|
|
|
"__OpenBSD__"
|
2024-07-31 02:09:15 -07:00
|
|
|
"__Fuchsia__"
|
2022-12-21 23:06:55 -08:00
|
|
|
"__COSMOPOLITAN__"
|
2023-08-12 22:30:05 -07:00
|
|
|
"__COSMOCC__"
|
|
|
|
"__FATCOSMOCC__"
|
2022-12-21 23:06:55 -08:00
|
|
|
"__GLIBC__"
|
2024-07-31 02:09:15 -07:00
|
|
|
"__ELF__"
|
|
|
|
"__GNU__"
|
2022-11-03 09:32:12 -07:00
|
|
|
"__linux"
|
2021-06-24 12:31:26 -07:00
|
|
|
"__MACH__"
|
2020-08-25 04:23:25 -07:00
|
|
|
"__GNUG__"
|
|
|
|
"__INCLUDE_LEVEL__"
|
|
|
|
"__INTMAX_MAX__"
|
|
|
|
"__INT_MAX__"
|
|
|
|
"__LONG_LONG_MAX__"
|
|
|
|
"__LONG_MAX__"
|
|
|
|
"__SCHAR_MAX__"
|
|
|
|
"__SHRT_MAX__"
|
|
|
|
"__DBL_MIN__"
|
|
|
|
"__DBL_MAX__"
|
2020-12-05 12:20:41 -08:00
|
|
|
"__LDBL_MIN__"
|
|
|
|
"__LDBL_MAX__"
|
2020-08-25 04:23:25 -07:00
|
|
|
"__FLT_MIN__"
|
|
|
|
"__FLT_MAX__"
|
|
|
|
"__WCHAR_MAX__"
|
2020-09-06 21:39:00 -07:00
|
|
|
"__WCHAR_UNSIGNED__"
|
|
|
|
"__AES__"
|
|
|
|
"__AVX__"
|
|
|
|
"__AVX2__"
|
2023-05-13 08:08:32 -07:00
|
|
|
"__AVX512F__"
|
2023-11-10 15:41:55 -08:00
|
|
|
"__AVX512BW__"
|
|
|
|
"__AVX512CD__"
|
|
|
|
"__AVX512DQ__"
|
|
|
|
"__AVX512BF16__"
|
2024-03-24 03:14:25 -07:00
|
|
|
"__AVX512FP16__"
|
2023-11-10 15:41:55 -08:00
|
|
|
"__AVX512IFMA__"
|
|
|
|
"__AVX5124VNNIW__"
|
|
|
|
"__AVX512VBMI__"
|
|
|
|
"__AVX512VNNI__"
|
2024-03-30 19:00:40 -07:00
|
|
|
"__AVX512VL__"
|
2023-11-10 15:41:55 -08:00
|
|
|
"__AVXVNNI__"
|
2024-01-29 15:45:10 -08:00
|
|
|
"__AVXVNNIINT8__"
|
|
|
|
"__AVXVNNIINT16__"
|
2020-09-06 21:39:00 -07:00
|
|
|
"__ABM__"
|
|
|
|
"__BMI__"
|
|
|
|
"__BMI2__"
|
|
|
|
"__FMA__"
|
2023-05-18 19:05:08 -07:00
|
|
|
"__FAST_MATH__"
|
2024-08-16 21:18:26 -07:00
|
|
|
"__FINITE_MATH_ONLY__"
|
2024-02-25 14:57:28 -08:00
|
|
|
"__ROUNDING_MATH__"
|
|
|
|
"__NO_MATH_ERRNO__"
|
2023-05-08 21:38:30 -07:00
|
|
|
"__FMA4__"
|
2023-05-09 12:14:57 -07:00
|
|
|
"__F16C__"
|
2023-05-08 21:38:30 -07:00
|
|
|
"__CLZERO__"
|
|
|
|
"__MWAITX__"
|
|
|
|
"__SGX__"
|
|
|
|
"__VAES__"
|
|
|
|
"__VSX__"
|
2020-09-06 21:39:00 -07:00
|
|
|
"__ADX__"
|
|
|
|
"__PCLMUL__"
|
2024-05-29 10:12:49 -07:00
|
|
|
"__VPCLMULQDQ__"
|
2020-09-06 21:39:00 -07:00
|
|
|
"__POPCNT__"
|
|
|
|
"__RDRND__"
|
|
|
|
"__RDSEED__"
|
|
|
|
"__SHA__"
|
|
|
|
"__SSE__"
|
|
|
|
"__SSE2__"
|
|
|
|
"__SSE3__"
|
|
|
|
"__SSSE3__"
|
2023-06-05 15:50:15 -07:00
|
|
|
"__SSE4A__"
|
2020-09-06 21:39:00 -07:00
|
|
|
"__SSE4_1__"
|
|
|
|
"__SSE4_2__"
|
|
|
|
"__XSAVE__"
|
|
|
|
"__CLFLUSHOPT__"
|
2021-08-19 06:07:37 -07:00
|
|
|
"__RDPID__"
|
|
|
|
"FLT_ROUNDS"))
|
2020-06-15 19:01:28 -07:00
|
|
|
|
|
|
|
(defconst cosmo-cpp-constants-gcc-92
|
2022-11-10 21:52:47 -08:00
|
|
|
'("__x86_64__"
|
|
|
|
"__arm__"
|
|
|
|
"__aarch64__"
|
2023-05-09 12:14:57 -07:00
|
|
|
"__AARCH64EB__"
|
2024-03-30 19:00:40 -07:00
|
|
|
"__ARM_ARCH"
|
2023-05-09 12:14:57 -07:00
|
|
|
"__ARM_NEON"
|
2024-03-30 19:00:40 -07:00
|
|
|
"__ARM_FEATURE_FMA"
|
|
|
|
"__ARM_FEATURE_FP16_VECTOR_ARITHMETIC"
|
|
|
|
"__ARM_FEATURE_DOTPROD"
|
|
|
|
"__ARM_FEATURE_FRINT"
|
|
|
|
"__ARM_FEATURE_RNG"
|
|
|
|
"__ARM_FEATURE_CLZ"
|
|
|
|
"__ARM_FEATURE_CRC32"
|
|
|
|
"__ARM_FEATURE_CRYPTO"
|
|
|
|
"__ARM_FEATURE_ATOMICS"
|
|
|
|
"__ARM_FEATURE_MATMUL_INT8"
|
|
|
|
"__ARM_FEATURE_NUMERIC_MAXMIN"
|
|
|
|
"__ARM_FEATURE_QBIT"
|
|
|
|
"__ARM_FEATURE_QRDMX"
|
|
|
|
"__ARM_FEATURE_SHA2"
|
|
|
|
"__ARM_FEATURE_SHA3"
|
|
|
|
"__ARM_FEATURE_SHA512"
|
|
|
|
"__ARM_FEATURE_SM3"
|
|
|
|
"__ARM_FEATURE_SM4"
|
|
|
|
"__ARM_FEATURE_FP16_FML"
|
|
|
|
"__ARM_FP16_ARGS"
|
|
|
|
"__ARM_FP16_FORMAT_ALTERNATIVE"
|
|
|
|
"__ARM_FP16_IEEE"
|
|
|
|
"__ARM_FP_FAST"
|
2022-11-10 21:52:47 -08:00
|
|
|
"__powerpc__"
|
2024-07-31 02:09:15 -07:00
|
|
|
"__POWERPC__"
|
|
|
|
"__ppc__"
|
2022-11-10 21:52:47 -08:00
|
|
|
"__powerpc64__"
|
2023-05-09 12:14:57 -07:00
|
|
|
"__POWER9_VECTOR__"
|
|
|
|
"__wasm_simd128__"
|
2023-05-08 21:38:30 -07:00
|
|
|
"_ARCH_PWR5X"
|
2022-11-10 21:52:47 -08:00
|
|
|
"__mips__"
|
|
|
|
"__s390__"
|
|
|
|
"__s390x__"
|
|
|
|
"__mips64"
|
|
|
|
"__m68k__"
|
|
|
|
"__riscv"
|
2023-05-08 21:38:30 -07:00
|
|
|
"__riscv_flen"
|
2023-02-02 00:32:30 -08:00
|
|
|
"__riscv_xlen"
|
2022-11-10 21:52:47 -08:00
|
|
|
"__MICROBLAZE__"
|
|
|
|
"__amd64__"
|
|
|
|
"__WINT_MAX__"
|
|
|
|
"__BIGGEST_ALIGNMENT__"
|
|
|
|
"__SIZE_MAX__"
|
|
|
|
"__PTRDIFF_MAX__"
|
|
|
|
"__UINTMAX_MAX__"
|
|
|
|
"__SIG_ATOMIC_MAX__"
|
|
|
|
"__INT8_MAX__"
|
|
|
|
"__INT16_MAX__"
|
|
|
|
"__INT32_MAX__"
|
|
|
|
"__INT64_MAX__"
|
|
|
|
"__UINT8_MAX__"
|
|
|
|
"__UINT16_MAX__"
|
|
|
|
"__UINT32_MAX__"
|
|
|
|
"__UINT64_MAX__"
|
|
|
|
"__INT_LEAST8_MAX__"
|
|
|
|
"__INT_LEAST16_MAX__"
|
|
|
|
"__INT_LEAST32_MAX__"
|
|
|
|
"__INT_LEAST64_MAX__"
|
|
|
|
"__UINT_LEAST8_MAX__"
|
|
|
|
"__UINT_LEAST16_MAX__"
|
|
|
|
"__UINT_LEAST32_MAX__"
|
|
|
|
"__UINT_LEAST64_MAX__"
|
|
|
|
"__INT_FAST8_MAX__"
|
|
|
|
"__INT_FAST16_MAX__"
|
|
|
|
"__INT_FAST32_MAX__"
|
|
|
|
"__INT_FAST64_MAX__"
|
|
|
|
"__UINT_FAST8_MAX__"
|
|
|
|
"__UINT_FAST16_MAX__"
|
|
|
|
"__UINT_FAST32_MAX__"
|
|
|
|
"__UINT_FAST64_MAX__"
|
|
|
|
"__INTPTR_MAX__"
|
|
|
|
"__UINTPTR_MAX__"
|
|
|
|
"__WCHAR_MIN__"
|
|
|
|
"__WINT_MIN__"
|
|
|
|
"__SIG_ATOMIC_MIN__"
|
|
|
|
"__SCHAR_WIDTH__"
|
|
|
|
"__SHRT_WIDTH__"
|
|
|
|
"__INT_WIDTH__"
|
|
|
|
"__LONG_WIDTH__"
|
|
|
|
"__LONG_LONG_WIDTH__"
|
|
|
|
"__PTRDIFF_WIDTH__"
|
|
|
|
"__SIG_ATOMIC_WIDTH__"
|
|
|
|
"__SIZE_WIDTH__"
|
|
|
|
"__WCHAR_WIDTH__"
|
|
|
|
"__WINT_WIDTH__"
|
|
|
|
"__INT_LEAST8_WIDTH__"
|
|
|
|
"__INT_LEAST16_WIDTH__"
|
|
|
|
"__INT_LEAST32_WIDTH__"
|
|
|
|
"__INT_LEAST64_WIDTH__"
|
|
|
|
"__INT_FAST8_WIDTH__"
|
|
|
|
"__INT_FAST16_WIDTH__"
|
|
|
|
"__INT_FAST32_WIDTH__"
|
|
|
|
"__INT_FAST64_WIDTH__"
|
|
|
|
"__INTPTR_WIDTH__"
|
|
|
|
"__INTMAX_WIDTH__"
|
|
|
|
"__SIZEOF_INT__"
|
|
|
|
"__SIZEOF_INTMAX__"
|
|
|
|
"__SIZEOF_UINTMAX__"
|
|
|
|
"__SIZEOF_LONG__"
|
|
|
|
"__SIZEOF_LONG_LONG__"
|
|
|
|
"__SIZEOF_SHORT__"
|
|
|
|
"__SIZEOF_POINTER__"
|
|
|
|
"__SIZEOF_FLOAT__"
|
|
|
|
"__SIZEOF_DOUBLE__"
|
|
|
|
"__SIZEOF_LONG_DOUBLE__"
|
|
|
|
"__SIZEOF_SIZE_T__"
|
|
|
|
"__SIZEOF_WCHAR_T__"
|
|
|
|
"__SIZEOF_WINT_T__"
|
|
|
|
"__SIZEOF_PTRDIFF_T__"
|
|
|
|
"__TIMESTAMP__"
|
|
|
|
"_GNU_SOURCE"
|
|
|
|
"_BSD_SOURCE"
|
2023-08-13 20:31:27 -07:00
|
|
|
"_COSMO_SOURCE"
|
2024-03-22 19:27:11 -07:00
|
|
|
"_XOPEN_SOURCE"
|
|
|
|
"__FLT16_HAS_QUIET_NAN__"
|
|
|
|
"__FLT16_DIG__"
|
|
|
|
"__FLT16_MIN_EXP__"
|
|
|
|
"__FLT16_MAX_10_EXP__"
|
|
|
|
"__FLT16_DECIMAL_DIG__"
|
|
|
|
"__FLT16_DENORM_MIN__"
|
|
|
|
"__FLT16_MIN_10_EXP__"
|
|
|
|
"__FLT16_IS_IEC_60559__"
|
|
|
|
"__FLT16_MAX_EXP__"
|
|
|
|
"__FLT16_EPSILON__"
|
|
|
|
"__FLT16_NORM_MAX__"
|
|
|
|
"__FLT16_MAX__"
|
|
|
|
"__FLT16_HAS_INFINITY__"
|
|
|
|
"__FLT16_MANT_DIG__"
|
|
|
|
"__FLT16_MIN__"
|
|
|
|
"__FLT16_HAS_DENORM__"))
|
2020-06-15 19:01:28 -07:00
|
|
|
|
|
|
|
(defconst cosmo-cpp-constants-cosmopolitan
|
|
|
|
'("__SAUCE__"
|
|
|
|
"ARG_MAX"
|
|
|
|
"PATH_MAX"
|
|
|
|
"BUFSIZ"
|
|
|
|
"CHAR_BIT"
|
|
|
|
"NAME_MAX"
|
|
|
|
"NSIG"
|
|
|
|
"CHILD_MAX"
|
|
|
|
"OPEN_MAX"
|
|
|
|
"ATEXIT_MAX"
|
2022-11-10 21:52:47 -08:00
|
|
|
"LONG_BIT"
|
2020-06-15 19:01:28 -07:00
|
|
|
"IM_FEELING_NAUGHTY"
|
2020-10-01 01:20:13 -07:00
|
|
|
"__REAL_MODE__"
|
2023-05-08 21:38:30 -07:00
|
|
|
"__ia16__"
|
2020-06-15 19:01:28 -07:00
|
|
|
"__x86__"
|
2020-10-10 21:18:53 -07:00
|
|
|
"__i386__"
|
2022-11-10 21:52:47 -08:00
|
|
|
"__i486__"
|
|
|
|
"__i586__"
|
|
|
|
"__i686__"
|
2020-10-10 21:18:53 -07:00
|
|
|
"__W__"
|
|
|
|
"__PG__"
|
|
|
|
"__MFENTRY__"
|
|
|
|
"__MNO_VZEROUPPER__"
|
2021-10-14 19:36:49 -07:00
|
|
|
"__MNO_RED_ZONE__"
|
2020-10-10 21:18:53 -07:00
|
|
|
"__MNOP_MCOUNT__"
|
2021-10-14 19:36:49 -07:00
|
|
|
"__MRECORD_MCOUNT__"
|
|
|
|
"__FNO_OMIT_FRAME_POINTER__"))
|
2020-06-15 19:01:28 -07:00
|
|
|
|
2022-11-02 23:12:32 -07:00
|
|
|
(defconst cosmo-cpp-constants-clang
|
|
|
|
'("__llvm__"
|
|
|
|
"__clang__"
|
|
|
|
"_MSC_VER"
|
2023-05-09 12:14:57 -07:00
|
|
|
"_WIN32"
|
|
|
|
"__MINGW32__"
|
2022-11-02 23:12:32 -07:00
|
|
|
"__INTEL_COMPILER"))
|
|
|
|
|
2020-06-15 19:01:28 -07:00
|
|
|
(defconst cosmo-cpp-constants
|
|
|
|
(append cosmo-cpp-constants-c11
|
2022-11-02 23:12:32 -07:00
|
|
|
cosmo-cpp-constants-clang
|
2020-06-15 19:01:28 -07:00
|
|
|
cosmo-cpp-constants-gcc-92
|
|
|
|
cosmo-cpp-constants-gcc-412
|
2020-12-05 12:20:41 -08:00
|
|
|
cosmo-cpp-constants-chibicc
|
2020-06-15 19:01:28 -07:00
|
|
|
cosmo-cpp-constants-cosmopolitan))
|
|
|
|
|
|
|
|
(defconst cosmo-cpp-constants-regex
|
|
|
|
(concat "\\_<" (regexp-opt cosmo-cpp-constants) "\\_>"))
|
|
|
|
|
|
|
|
(provide 'cosmo-cpp-constants)
|