diff options
Diffstat (limited to 'test/Preprocessor/init.c')
-rw-r--r-- | test/Preprocessor/init.c | 503 |
1 files changed, 465 insertions, 38 deletions
diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index 51e1233456b8b..68d057d87b082 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -724,21 +724,21 @@ // AARCH64-NETBSD:#define __INT32_FMTi__ "i" // AARCH64-NETBSD:#define __INT32_MAX__ 2147483647 // AARCH64-NETBSD:#define __INT32_TYPE__ int -// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL -// AARCH64-NETBSD:#define __INT64_FMTd__ "lld" -// AARCH64-NETBSD:#define __INT64_FMTi__ "lli" -// AARCH64-NETBSD:#define __INT64_MAX__ 9223372036854775807LL -// AARCH64-NETBSD:#define __INT64_TYPE__ long long int +// AARCH64-NETBSD:#define __INT64_C_SUFFIX__ L +// AARCH64-NETBSD:#define __INT64_FMTd__ "ld" +// AARCH64-NETBSD:#define __INT64_FMTi__ "li" +// AARCH64-NETBSD:#define __INT64_MAX__ 9223372036854775807L +// AARCH64-NETBSD:#define __INT64_TYPE__ long int // AARCH64-NETBSD:#define __INT8_C_SUFFIX__ // AARCH64-NETBSD:#define __INT8_FMTd__ "hhd" // AARCH64-NETBSD:#define __INT8_FMTi__ "hhi" // AARCH64-NETBSD:#define __INT8_MAX__ 127 // AARCH64-NETBSD:#define __INT8_TYPE__ signed char -// AARCH64-NETBSD:#define __INTMAX_C_SUFFIX__ LL -// AARCH64-NETBSD:#define __INTMAX_FMTd__ "lld" -// AARCH64-NETBSD:#define __INTMAX_FMTi__ "lli" -// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807LL -// AARCH64-NETBSD:#define __INTMAX_TYPE__ long long int +// AARCH64-NETBSD:#define __INTMAX_C_SUFFIX__ L +// AARCH64-NETBSD:#define __INTMAX_FMTd__ "ld" +// AARCH64-NETBSD:#define __INTMAX_FMTi__ "li" +// AARCH64-NETBSD:#define __INTMAX_MAX__ 9223372036854775807L +// AARCH64-NETBSD:#define __INTMAX_TYPE__ long int // AARCH64-NETBSD:#define __INTMAX_WIDTH__ 64 // AARCH64-NETBSD:#define __INTPTR_FMTd__ "ld" // AARCH64-NETBSD:#define __INTPTR_FMTi__ "li" @@ -824,15 +824,15 @@ // AARCH64-NETBSD:#define __UINT32_C_SUFFIX__ U // AARCH64-NETBSD:#define __UINT32_MAX__ 4294967295U // AARCH64-NETBSD:#define __UINT32_TYPE__ unsigned int -// AARCH64-NETBSD:#define __UINT64_C_SUFFIX__ ULL -// AARCH64-NETBSD:#define __UINT64_MAX__ 18446744073709551615ULL -// AARCH64-NETBSD:#define __UINT64_TYPE__ long long unsigned int +// AARCH64-NETBSD:#define __UINT64_C_SUFFIX__ UL +// AARCH64-NETBSD:#define __UINT64_MAX__ 18446744073709551615UL +// AARCH64-NETBSD:#define __UINT64_TYPE__ long unsigned int // AARCH64-NETBSD:#define __UINT8_C_SUFFIX__ // AARCH64-NETBSD:#define __UINT8_MAX__ 255 // AARCH64-NETBSD:#define __UINT8_TYPE__ unsigned char -// AARCH64-NETBSD:#define __UINTMAX_C_SUFFIX__ ULL -// AARCH64-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615ULL -// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int +// AARCH64-NETBSD:#define __UINTMAX_C_SUFFIX__ UL +// AARCH64-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615UL +// AARCH64-NETBSD:#define __UINTMAX_TYPE__ long unsigned int // AARCH64-NETBSD:#define __UINTMAX_WIDTH__ 64 // AARCH64-NETBSD:#define __UINTPTR_MAX__ 18446744073709551615UL // AARCH64-NETBSD:#define __UINTPTR_TYPE__ long unsigned int @@ -2652,7 +2652,7 @@ // Thumbebv7: #define __THUMB_INTERWORK__ 1 // Thumbebv7: #define __thumb2__ 1 -// RUN: %clang -E -dM -ffreestanding -target thumbv7-pc-mingw32 %s -o - | FileCheck -match-full-lines -check-prefix THUMB-MINGW %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7-pc-windows-gnu -fdwarf-exceptions %s -o - | FileCheck -match-full-lines -check-prefix THUMB-MINGW %s // THUMB-MINGW:#define __ARM_DWARF_EH__ 1 @@ -6370,7 +6370,7 @@ // PPCPOWER9:#define _ARCH_PWR7 1 // PPCPOWER9:#define _ARCH_PWR9 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +float128 -target-cpu power8 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-FLOAT128 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +float128 -target-cpu power9 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-FLOAT128 %s // PPC-FLOAT128:#define __FLOAT128__ 1 // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-LINUX %s @@ -8965,6 +8965,9 @@ // PS4:#define __x86_64__ 1 // PS4:#define unix 1 // +// RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=x86_64-scei-ps4 < /dev/null | FileCheck -match-full-lines -check-prefix PS4-CXX %s +// PS4-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 32UL +// // RUN: %clang_cc1 -E -dM -triple=x86_64-pc-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix X86-64-DECLSPEC %s // RUN: %clang_cc1 -E -dM -fms-extensions -triple=x86_64-unknown-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix X86-64-DECLSPEC %s // X86-64-DECLSPEC: #define __declspec{{.*}} @@ -8999,6 +9002,13 @@ // RUN: %clang_cc1 -x c++ -triple sparc-rtems-elf -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSOURCE %s // GNUSOURCE:#define _GNU_SOURCE 1 // +// Check that the GNUstep Objective-C ABI defines exist and are clamped at the +// highest supported version. +// RUN: %clang_cc1 -x objective-c -triple i386-unknown-freebsd -fobjc-runtime=gnustep-1.9 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSTEP1 %s +// GNUSTEP1:#define __OBJC_GNUSTEP_RUNTIME_ABI__ 18 +// RUN: %clang_cc1 -x objective-c -triple i386-unknown-freebsd -fobjc-runtime=gnustep-2.5 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSTEP2 %s +// GNUSTEP2:#define __OBJC_GNUSTEP_RUNTIME_ABI__ 20 +// // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix NORTTI %s // NORTTI: #define __GXX_ABI_VERSION {{.*}} // NORTTI-NOT:#define __GXX_RTTI @@ -9161,10 +9171,10 @@ // WEBASSEMBLY32-NEXT:#define __INTMAX_MAX__ 9223372036854775807LL // WEBASSEMBLY32-NEXT:#define __INTMAX_TYPE__ long long int // WEBASSEMBLY32-NEXT:#define __INTMAX_WIDTH__ 64 -// WEBASSEMBLY32-NEXT:#define __INTPTR_FMTd__ "d" -// WEBASSEMBLY32-NEXT:#define __INTPTR_FMTi__ "i" -// WEBASSEMBLY32-NEXT:#define __INTPTR_MAX__ 2147483647 -// WEBASSEMBLY32-NEXT:#define __INTPTR_TYPE__ int +// WEBASSEMBLY32-NEXT:#define __INTPTR_FMTd__ "ld" +// WEBASSEMBLY32-NEXT:#define __INTPTR_FMTi__ "li" +// WEBASSEMBLY32-NEXT:#define __INTPTR_MAX__ 2147483647L +// WEBASSEMBLY32-NEXT:#define __INTPTR_TYPE__ long int // WEBASSEMBLY32-NEXT:#define __INTPTR_WIDTH__ 32 // WEBASSEMBLY32-NEXT:#define __INT_FAST16_FMTd__ "hd" // WEBASSEMBLY32-NEXT:#define __INT_FAST16_FMTi__ "hi" @@ -9229,10 +9239,10 @@ // WEBASSEMBLY32-NEXT:#define __ORDER_PDP_ENDIAN__ 3412 // WEBASSEMBLY32-NEXT:#define __POINTER_WIDTH__ 32 // WEBASSEMBLY32-NEXT:#define __PRAGMA_REDEFINE_EXTNAME 1 -// WEBASSEMBLY32-NEXT:#define __PTRDIFF_FMTd__ "d" -// WEBASSEMBLY32-NEXT:#define __PTRDIFF_FMTi__ "i" -// WEBASSEMBLY32-NEXT:#define __PTRDIFF_MAX__ 2147483647 -// WEBASSEMBLY32-NEXT:#define __PTRDIFF_TYPE__ int +// WEBASSEMBLY32-NEXT:#define __PTRDIFF_FMTd__ "ld" +// WEBASSEMBLY32-NEXT:#define __PTRDIFF_FMTi__ "li" +// WEBASSEMBLY32-NEXT:#define __PTRDIFF_MAX__ 2147483647L +// WEBASSEMBLY32-NEXT:#define __PTRDIFF_TYPE__ long int // WEBASSEMBLY32-NEXT:#define __PTRDIFF_WIDTH__ 32 // WEBASSEMBLY32-NOT:#define __REGISTER_PREFIX__ // WEBASSEMBLY32-NEXT:#define __SCHAR_MAX__ 127 @@ -9252,12 +9262,12 @@ // WEBASSEMBLY32-NEXT:#define __SIZEOF_SIZE_T__ 4 // WEBASSEMBLY32-NEXT:#define __SIZEOF_WCHAR_T__ 4 // WEBASSEMBLY32-NEXT:#define __SIZEOF_WINT_T__ 4 -// WEBASSEMBLY32-NEXT:#define __SIZE_FMTX__ "X" -// WEBASSEMBLY32-NEXT:#define __SIZE_FMTo__ "o" -// WEBASSEMBLY32-NEXT:#define __SIZE_FMTu__ "u" -// WEBASSEMBLY32-NEXT:#define __SIZE_FMTx__ "x" -// WEBASSEMBLY32-NEXT:#define __SIZE_MAX__ 4294967295U -// WEBASSEMBLY32-NEXT:#define __SIZE_TYPE__ unsigned int +// WEBASSEMBLY32-NEXT:#define __SIZE_FMTX__ "lX" +// WEBASSEMBLY32-NEXT:#define __SIZE_FMTo__ "lo" +// WEBASSEMBLY32-NEXT:#define __SIZE_FMTu__ "lu" +// WEBASSEMBLY32-NEXT:#define __SIZE_FMTx__ "lx" +// WEBASSEMBLY32-NEXT:#define __SIZE_MAX__ 4294967295UL +// WEBASSEMBLY32-NEXT:#define __SIZE_TYPE__ long unsigned int // WEBASSEMBLY32-NEXT:#define __SIZE_WIDTH__ 32 // WEBASSEMBLY32-NEXT:#define __STDC_HOSTED__ 0 // WEBASSEMBLY32-NOT:#define __STDC_MB_MIGHT_NEQ_WC__ @@ -9305,12 +9315,12 @@ // WEBASSEMBLY32-NEXT:#define __UINTMAX_MAX__ 18446744073709551615ULL // WEBASSEMBLY32-NEXT:#define __UINTMAX_TYPE__ long long unsigned int // WEBASSEMBLY32-NEXT:#define __UINTMAX_WIDTH__ 64 -// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTX__ "X" -// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTo__ "o" -// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTu__ "u" -// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTx__ "x" -// WEBASSEMBLY32-NEXT:#define __UINTPTR_MAX__ 4294967295U -// WEBASSEMBLY32-NEXT:#define __UINTPTR_TYPE__ unsigned int +// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTX__ "lX" +// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTo__ "lo" +// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTu__ "lu" +// WEBASSEMBLY32-NEXT:#define __UINTPTR_FMTx__ "lx" +// WEBASSEMBLY32-NEXT:#define __UINTPTR_MAX__ 4294967295UL +// WEBASSEMBLY32-NEXT:#define __UINTPTR_TYPE__ long unsigned int // WEBASSEMBLY32-NEXT:#define __UINTPTR_WIDTH__ 32 // WEBASSEMBLY32-NEXT:#define __UINT_FAST16_FMTX__ "hX" // WEBASSEMBLY32-NEXT:#define __UINT_FAST16_FMTo__ "ho" @@ -10003,3 +10013,420 @@ // ARM-DARWIN-BAREMETAL-64: #define __PTRDIFF_TYPE__ long int // ARM-DARWIN-BAREMETAL-64: #define __SIZE_TYPE__ long unsigned int +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv32 < /dev/null \ +// RUN: | FileCheck -match-full-lines -check-prefix=RISCV32 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv32-unknown-linux < /dev/null \ +// RUN: | FileCheck -match-full-lines -check-prefixes=RISCV32,RISCV32-LINUX %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv32 \ +// RUN: -fforce-enable-int128 < /dev/null | FileCheck -match-full-lines \ +// RUN: -check-prefixes=RISCV32,RISCV32-INT128 %s +// RISCV32: #define _ILP32 1 +// RISCV32: #define __ATOMIC_ACQUIRE 2 +// RISCV32: #define __ATOMIC_ACQ_REL 4 +// RISCV32: #define __ATOMIC_CONSUME 1 +// RISCV32: #define __ATOMIC_RELAXED 0 +// RISCV32: #define __ATOMIC_RELEASE 3 +// RISCV32: #define __ATOMIC_SEQ_CST 5 +// RISCV32: #define __BIGGEST_ALIGNMENT__ 16 +// RISCV32: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +// RISCV32: #define __CHAR16_TYPE__ unsigned short +// RISCV32: #define __CHAR32_TYPE__ unsigned int +// RISCV32: #define __CHAR_BIT__ 8 +// RISCV32: #define __DBL_DECIMAL_DIG__ 17 +// RISCV32: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +// RISCV32: #define __DBL_DIG__ 15 +// RISCV32: #define __DBL_EPSILON__ 2.2204460492503131e-16 +// RISCV32: #define __DBL_HAS_DENORM__ 1 +// RISCV32: #define __DBL_HAS_INFINITY__ 1 +// RISCV32: #define __DBL_HAS_QUIET_NAN__ 1 +// RISCV32: #define __DBL_MANT_DIG__ 53 +// RISCV32: #define __DBL_MAX_10_EXP__ 308 +// RISCV32: #define __DBL_MAX_EXP__ 1024 +// RISCV32: #define __DBL_MAX__ 1.7976931348623157e+308 +// RISCV32: #define __DBL_MIN_10_EXP__ (-307) +// RISCV32: #define __DBL_MIN_EXP__ (-1021) +// RISCV32: #define __DBL_MIN__ 2.2250738585072014e-308 +// RISCV32: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ +// RISCV32: #define __ELF__ 1 +// RISCV32: #define __FINITE_MATH_ONLY__ 0 +// RISCV32: #define __FLT_DECIMAL_DIG__ 9 +// RISCV32: #define __FLT_DENORM_MIN__ 1.40129846e-45F +// RISCV32: #define __FLT_DIG__ 6 +// RISCV32: #define __FLT_EPSILON__ 1.19209290e-7F +// RISCV32: #define __FLT_EVAL_METHOD__ 0 +// RISCV32: #define __FLT_HAS_DENORM__ 1 +// RISCV32: #define __FLT_HAS_INFINITY__ 1 +// RISCV32: #define __FLT_HAS_QUIET_NAN__ 1 +// RISCV32: #define __FLT_MANT_DIG__ 24 +// RISCV32: #define __FLT_MAX_10_EXP__ 38 +// RISCV32: #define __FLT_MAX_EXP__ 128 +// RISCV32: #define __FLT_MAX__ 3.40282347e+38F +// RISCV32: #define __FLT_MIN_10_EXP__ (-37) +// RISCV32: #define __FLT_MIN_EXP__ (-125) +// RISCV32: #define __FLT_MIN__ 1.17549435e-38F +// RISCV32: #define __FLT_RADIX__ 2 +// RISCV32: #define __GCC_ATOMIC_BOOL_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_CHAR_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_INT_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_LLONG_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_LONG_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_POINTER_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_SHORT_LOCK_FREE 1 +// RISCV32: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +// RISCV32: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1 +// RISCV32: #define __GNUC_MINOR__ {{.*}} +// RISCV32: #define __GNUC_PATCHLEVEL__ {{.*}} +// RISCV32: #define __GNUC_STDC_INLINE__ 1 +// RISCV32: #define __GNUC__ {{.*}} +// RISCV32: #define __GXX_ABI_VERSION {{.*}} +// RISCV32: #define __ILP32__ 1 +// RISCV32: #define __INT16_C_SUFFIX__ +// RISCV32: #define __INT16_MAX__ 32767 +// RISCV32: #define __INT16_TYPE__ short +// RISCV32: #define __INT32_C_SUFFIX__ +// RISCV32: #define __INT32_MAX__ 2147483647 +// RISCV32: #define __INT32_TYPE__ int +// RISCV32: #define __INT64_C_SUFFIX__ LL +// RISCV32: #define __INT64_MAX__ 9223372036854775807LL +// RISCV32: #define __INT64_TYPE__ long long int +// RISCV32: #define __INT8_C_SUFFIX__ +// RISCV32: #define __INT8_MAX__ 127 +// RISCV32: #define __INT8_TYPE__ signed char +// RISCV32: #define __INTMAX_C_SUFFIX__ LL +// RISCV32: #define __INTMAX_MAX__ 9223372036854775807LL +// RISCV32: #define __INTMAX_TYPE__ long long int +// RISCV32: #define __INTMAX_WIDTH__ 64 +// RISCV32: #define __INTPTR_MAX__ 2147483647 +// RISCV32: #define __INTPTR_TYPE__ int +// RISCV32: #define __INTPTR_WIDTH__ 32 +// TODO: RISC-V GCC defines INT_FAST16 as int +// RISCV32: #define __INT_FAST16_MAX__ 32767 +// RISCV32: #define __INT_FAST16_TYPE__ short +// RISCV32: #define __INT_FAST32_MAX__ 2147483647 +// RISCV32: #define __INT_FAST32_TYPE__ int +// RISCV32: #define __INT_FAST64_MAX__ 9223372036854775807LL +// RISCV32: #define __INT_FAST64_TYPE__ long long int +// TODO: RISC-V GCC defines INT_FAST8 as int +// RISCV32: #define __INT_FAST8_MAX__ 127 +// RISCV32: #define __INT_FAST8_TYPE__ signed char +// RISCV32: #define __INT_LEAST16_MAX__ 32767 +// RISCV32: #define __INT_LEAST16_TYPE__ short +// RISCV32: #define __INT_LEAST32_MAX__ 2147483647 +// RISCV32: #define __INT_LEAST32_TYPE__ int +// RISCV32: #define __INT_LEAST64_MAX__ 9223372036854775807LL +// RISCV32: #define __INT_LEAST64_TYPE__ long long int +// RISCV32: #define __INT_LEAST8_MAX__ 127 +// RISCV32: #define __INT_LEAST8_TYPE__ signed char +// RISCV32: #define __INT_MAX__ 2147483647 +// RISCV32: #define __LDBL_DECIMAL_DIG__ 36 +// RISCV32: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L +// RISCV32: #define __LDBL_DIG__ 33 +// RISCV32: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L +// RISCV32: #define __LDBL_HAS_DENORM__ 1 +// RISCV32: #define __LDBL_HAS_INFINITY__ 1 +// RISCV32: #define __LDBL_HAS_QUIET_NAN__ 1 +// RISCV32: #define __LDBL_MANT_DIG__ 113 +// RISCV32: #define __LDBL_MAX_10_EXP__ 4932 +// RISCV32: #define __LDBL_MAX_EXP__ 16384 +// RISCV32: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L +// RISCV32: #define __LDBL_MIN_10_EXP__ (-4931) +// RISCV32: #define __LDBL_MIN_EXP__ (-16381) +// RISCV32: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +// RISCV32: #define __LITTLE_ENDIAN__ 1 +// RISCV32: #define __LONG_LONG_MAX__ 9223372036854775807LL +// RISCV32: #define __LONG_MAX__ 2147483647L +// RISCV32: #define __NO_INLINE__ 1 +// RISCV32: #define __POINTER_WIDTH__ 32 +// RISCV32: #define __PRAGMA_REDEFINE_EXTNAME 1 +// RISCV32: #define __PTRDIFF_MAX__ 2147483647 +// RISCV32: #define __PTRDIFF_TYPE__ int +// RISCV32: #define __PTRDIFF_WIDTH__ 32 +// RISCV32: #define __SCHAR_MAX__ 127 +// RISCV32: #define __SHRT_MAX__ 32767 +// RISCV32: #define __SIG_ATOMIC_MAX__ 2147483647 +// RISCV32: #define __SIG_ATOMIC_WIDTH__ 32 +// RISCV32: #define __SIZEOF_DOUBLE__ 8 +// RISCV32: #define __SIZEOF_FLOAT__ 4 +// RISCV32-INT128: #define __SIZEOF_INT128__ 16 +// RISCV32: #define __SIZEOF_INT__ 4 +// RISCV32: #define __SIZEOF_LONG_DOUBLE__ 16 +// RISCV32: #define __SIZEOF_LONG_LONG__ 8 +// RISCV32: #define __SIZEOF_LONG__ 4 +// RISCV32: #define __SIZEOF_POINTER__ 4 +// RISCV32: #define __SIZEOF_PTRDIFF_T__ 4 +// RISCV32: #define __SIZEOF_SHORT__ 2 +// RISCV32: #define __SIZEOF_SIZE_T__ 4 +// RISCV32: #define __SIZEOF_WCHAR_T__ 4 +// RISCV32: #define __SIZEOF_WINT_T__ 4 +// RISCV32: #define __SIZE_MAX__ 4294967295U +// RISCV32: #define __SIZE_TYPE__ unsigned int +// RISCV32: #define __SIZE_WIDTH__ 32 +// RISCV32: #define __STDC_HOSTED__ 0 +// RISCV32: #define __STDC_UTF_16__ 1 +// RISCV32: #define __STDC_UTF_32__ 1 +// RISCV32: #define __STDC_VERSION__ 201112L +// RISCV32: #define __STDC__ 1 +// RISCV32: #define __UINT16_C_SUFFIX__ +// RISCV32: #define __UINT16_MAX__ 65535 +// RISCV32: #define __UINT16_TYPE__ unsigned short +// RISCV32: #define __UINT32_C_SUFFIX__ U +// RISCV32: #define __UINT32_MAX__ 4294967295U +// RISCV32: #define __UINT32_TYPE__ unsigned int +// RISCV32: #define __UINT64_C_SUFFIX__ ULL +// RISCV32: #define __UINT64_MAX__ 18446744073709551615ULL +// RISCV32: #define __UINT64_TYPE__ long long unsigned int +// RISCV32: #define __UINT8_C_SUFFIX__ +// RISCV32: #define __UINT8_MAX__ 255 +// RISCV32: #define __UINT8_TYPE__ unsigned char +// RISCV32: #define __UINTMAX_C_SUFFIX__ ULL +// RISCV32: #define __UINTMAX_MAX__ 18446744073709551615ULL +// RISCV32: #define __UINTMAX_TYPE__ long long unsigned int +// RISCV32: #define __UINTMAX_WIDTH__ 64 +// RISCV32: #define __UINTPTR_MAX__ 4294967295U +// RISCV32: #define __UINTPTR_TYPE__ unsigned int +// RISCV32: #define __UINTPTR_WIDTH__ 32 +// TODO: RISC-V GCC defines UINT_FAST16 to be unsigned int +// RISCV32: #define __UINT_FAST16_MAX__ 65535 +// RISCV32: #define __UINT_FAST16_TYPE__ unsigned short +// RISCV32: #define __UINT_FAST32_MAX__ 4294967295U +// RISCV32: #define __UINT_FAST32_TYPE__ unsigned int +// RISCV32: #define __UINT_FAST64_MAX__ 18446744073709551615ULL +// RISCV32: #define __UINT_FAST64_TYPE__ long long unsigned int +// TODO: RISC-V GCC defines UINT_FAST8 to be unsigned int +// RISCV32: #define __UINT_FAST8_MAX__ 255 +// RISCV32: #define __UINT_FAST8_TYPE__ unsigned char +// RISCV32: #define __UINT_LEAST16_MAX__ 65535 +// RISCV32: #define __UINT_LEAST16_TYPE__ unsigned short +// RISCV32: #define __UINT_LEAST32_MAX__ 4294967295U +// RISCV32: #define __UINT_LEAST32_TYPE__ unsigned int +// RISCV32: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL +// RISCV32: #define __UINT_LEAST64_TYPE__ long long unsigned int +// RISCV32: #define __UINT_LEAST8_MAX__ 255 +// RISCV32: #define __UINT_LEAST8_TYPE__ unsigned char +// RISCV32: #define __USER_LABEL_PREFIX__ +// RISCV32: #define __WCHAR_MAX__ 2147483647 +// RISCV32: #define __WCHAR_TYPE__ int +// RISCV32: #define __WCHAR_WIDTH__ 32 +// RISCV32: #define __WINT_TYPE__ unsigned int +// RISCV32: #define __WINT_UNSIGNED__ 1 +// RISCV32: #define __WINT_WIDTH__ 32 +// RISCV32-LINUX: #define __gnu_linux__ 1 +// RISCV32-LINUX: #define __linux 1 +// RISCV32-LINUX: #define __linux__ 1 +// RISCV32: #define __riscv 1 +// RISCV32: #define __riscv_cmodel_medlow 1 +// RISCV32: #define __riscv_float_abi_soft 1 +// RISCV32: #define __riscv_xlen 32 +// RISCV32-LINUX: #define __unix 1 +// RISCV32-LINUX: #define __unix__ 1 +// RISCV32-LINUX: #define linux 1 +// RISCV32-LINUX: #define unix 1 + +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv64 < /dev/null \ +// RUN: | FileCheck -match-full-lines -check-prefix=RISCV64 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=riscv64-unknown-linux < /dev/null \ +// RUN: | FileCheck -match-full-lines -check-prefixes=RISCV64,RISCV64-LINUX %s +// RISCV64: #define _LP64 1 +// RISCV64: #define __ATOMIC_ACQUIRE 2 +// RISCV64: #define __ATOMIC_ACQ_REL 4 +// RISCV64: #define __ATOMIC_CONSUME 1 +// RISCV64: #define __ATOMIC_RELAXED 0 +// RISCV64: #define __ATOMIC_RELEASE 3 +// RISCV64: #define __ATOMIC_SEQ_CST 5 +// RISCV64: #define __BIGGEST_ALIGNMENT__ 16 +// RISCV64: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +// RISCV64: #define __CHAR16_TYPE__ unsigned short +// RISCV64: #define __CHAR32_TYPE__ unsigned int +// RISCV64: #define __CHAR_BIT__ 8 +// RISCV64: #define __DBL_DECIMAL_DIG__ 17 +// RISCV64: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +// RISCV64: #define __DBL_DIG__ 15 +// RISCV64: #define __DBL_EPSILON__ 2.2204460492503131e-16 +// RISCV64: #define __DBL_HAS_DENORM__ 1 +// RISCV64: #define __DBL_HAS_INFINITY__ 1 +// RISCV64: #define __DBL_HAS_QUIET_NAN__ 1 +// RISCV64: #define __DBL_MANT_DIG__ 53 +// RISCV64: #define __DBL_MAX_10_EXP__ 308 +// RISCV64: #define __DBL_MAX_EXP__ 1024 +// RISCV64: #define __DBL_MAX__ 1.7976931348623157e+308 +// RISCV64: #define __DBL_MIN_10_EXP__ (-307) +// RISCV64: #define __DBL_MIN_EXP__ (-1021) +// RISCV64: #define __DBL_MIN__ 2.2250738585072014e-308 +// RISCV64: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ +// RISCV64: #define __ELF__ 1 +// RISCV64: #define __FINITE_MATH_ONLY__ 0 +// RISCV64: #define __FLT_DECIMAL_DIG__ 9 +// RISCV64: #define __FLT_DENORM_MIN__ 1.40129846e-45F +// RISCV64: #define __FLT_DIG__ 6 +// RISCV64: #define __FLT_EPSILON__ 1.19209290e-7F +// RISCV64: #define __FLT_EVAL_METHOD__ 0 +// RISCV64: #define __FLT_HAS_DENORM__ 1 +// RISCV64: #define __FLT_HAS_INFINITY__ 1 +// RISCV64: #define __FLT_HAS_QUIET_NAN__ 1 +// RISCV64: #define __FLT_MANT_DIG__ 24 +// RISCV64: #define __FLT_MAX_10_EXP__ 38 +// RISCV64: #define __FLT_MAX_EXP__ 128 +// RISCV64: #define __FLT_MAX__ 3.40282347e+38F +// RISCV64: #define __FLT_MIN_10_EXP__ (-37) +// RISCV64: #define __FLT_MIN_EXP__ (-125) +// RISCV64: #define __FLT_MIN__ 1.17549435e-38F +// RISCV64: #define __FLT_RADIX__ 2 +// RISCV64: #define __GCC_ATOMIC_BOOL_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_CHAR_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_INT_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_LLONG_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_LONG_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_POINTER_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_SHORT_LOCK_FREE 1 +// RISCV64: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +// RISCV64: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 1 +// RISCV64: #define __GNUC_MINOR__ {{.*}} +// RISCV64: #define __GNUC_PATCHLEVEL__ {{.*}} +// RISCV64: #define __GNUC_STDC_INLINE__ 1 +// RISCV64: #define __GNUC__ {{.*}} +// RISCV64: #define __GXX_ABI_VERSION {{.*}} +// RISCV64: #define __INT16_C_SUFFIX__ +// RISCV64: #define __INT16_MAX__ 32767 +// RISCV64: #define __INT16_TYPE__ short +// RISCV64: #define __INT32_C_SUFFIX__ +// RISCV64: #define __INT32_MAX__ 2147483647 +// RISCV64: #define __INT32_TYPE__ int +// RISCV64: #define __INT64_C_SUFFIX__ L +// RISCV64: #define __INT64_MAX__ 9223372036854775807L +// RISCV64: #define __INT64_TYPE__ long int +// RISCV64: #define __INT8_C_SUFFIX__ +// RISCV64: #define __INT8_MAX__ 127 +// RISCV64: #define __INT8_TYPE__ signed char +// RISCV64: #define __INTMAX_C_SUFFIX__ L +// RISCV64: #define __INTMAX_MAX__ 9223372036854775807L +// RISCV64: #define __INTMAX_TYPE__ long int +// RISCV64: #define __INTMAX_WIDTH__ 64 +// RISCV64: #define __INTPTR_MAX__ 9223372036854775807L +// RISCV64: #define __INTPTR_TYPE__ long int +// RISCV64: #define __INTPTR_WIDTH__ 64 +// TODO: RISC-V GCC defines INT_FAST16 as int +// RISCV64: #define __INT_FAST16_MAX__ 32767 +// RISCV64: #define __INT_FAST16_TYPE__ short +// RISCV64: #define __INT_FAST32_MAX__ 2147483647 +// RISCV64: #define __INT_FAST32_TYPE__ int +// RISCV64: #define __INT_FAST64_MAX__ 9223372036854775807L +// RISCV64: #define __INT_FAST64_TYPE__ long int +// TODO: RISC-V GCC defines INT_FAST8 as int +// RISCV64: #define __INT_FAST8_MAX__ 127 +// RISCV64: #define __INT_FAST8_TYPE__ signed char +// RISCV64: #define __INT_LEAST16_MAX__ 32767 +// RISCV64: #define __INT_LEAST16_TYPE__ short +// RISCV64: #define __INT_LEAST32_MAX__ 2147483647 +// RISCV64: #define __INT_LEAST32_TYPE__ int +// RISCV64: #define __INT_LEAST64_MAX__ 9223372036854775807L +// RISCV64: #define __INT_LEAST64_TYPE__ long int +// RISCV64: #define __INT_LEAST8_MAX__ 127 +// RISCV64: #define __INT_LEAST8_TYPE__ signed char +// RISCV64: #define __INT_MAX__ 2147483647 +// RISCV64: #define __LDBL_DECIMAL_DIG__ 36 +// RISCV64: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L +// RISCV64: #define __LDBL_DIG__ 33 +// RISCV64: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L +// RISCV64: #define __LDBL_HAS_DENORM__ 1 +// RISCV64: #define __LDBL_HAS_INFINITY__ 1 +// RISCV64: #define __LDBL_HAS_QUIET_NAN__ 1 +// RISCV64: #define __LDBL_MANT_DIG__ 113 +// RISCV64: #define __LDBL_MAX_10_EXP__ 4932 +// RISCV64: #define __LDBL_MAX_EXP__ 16384 +// RISCV64: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L +// RISCV64: #define __LDBL_MIN_10_EXP__ (-4931) +// RISCV64: #define __LDBL_MIN_EXP__ (-16381) +// RISCV64: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +// RISCV64: #define __LITTLE_ENDIAN__ 1 +// RISCV64: #define __LONG_LONG_MAX__ 9223372036854775807LL +// RISCV64: #define __LONG_MAX__ 9223372036854775807L +// RISCV64: #define __LP64__ 1 +// RISCV64: #define __NO_INLINE__ 1 +// RISCV64: #define __POINTER_WIDTH__ 64 +// RISCV64: #define __PRAGMA_REDEFINE_EXTNAME 1 +// RISCV64: #define __PTRDIFF_MAX__ 9223372036854775807L +// RISCV64: #define __PTRDIFF_TYPE__ long int +// RISCV64: #define __PTRDIFF_WIDTH__ 64 +// RISCV64: #define __SCHAR_MAX__ 127 +// RISCV64: #define __SHRT_MAX__ 32767 +// RISCV64: #define __SIG_ATOMIC_MAX__ 2147483647 +// RISCV64: #define __SIG_ATOMIC_WIDTH__ 32 +// RISCV64: #define __SIZEOF_DOUBLE__ 8 +// RISCV64: #define __SIZEOF_FLOAT__ 4 +// RISCV64: #define __SIZEOF_INT__ 4 +// RISCV64: #define __SIZEOF_LONG_DOUBLE__ 16 +// RISCV64: #define __SIZEOF_LONG_LONG__ 8 +// RISCV64: #define __SIZEOF_LONG__ 8 +// RISCV64: #define __SIZEOF_POINTER__ 8 +// RISCV64: #define __SIZEOF_PTRDIFF_T__ 8 +// RISCV64: #define __SIZEOF_SHORT__ 2 +// RISCV64: #define __SIZEOF_SIZE_T__ 8 +// RISCV64: #define __SIZEOF_WCHAR_T__ 4 +// RISCV64: #define __SIZEOF_WINT_T__ 4 +// RISCV64: #define __SIZE_MAX__ 18446744073709551615UL +// RISCV64: #define __SIZE_TYPE__ long unsigned int +// RISCV64: #define __SIZE_WIDTH__ 64 +// RISCV64: #define __STDC_HOSTED__ 0 +// RISCV64: #define __STDC_UTF_16__ 1 +// RISCV64: #define __STDC_UTF_32__ 1 +// RISCV64: #define __STDC_VERSION__ 201112L +// RISCV64: #define __STDC__ 1 +// RISCV64: #define __UINT16_C_SUFFIX__ +// RISCV64: #define __UINT16_MAX__ 65535 +// RISCV64: #define __UINT16_TYPE__ unsigned short +// RISCV64: #define __UINT32_C_SUFFIX__ U +// RISCV64: #define __UINT32_MAX__ 4294967295U +// RISCV64: #define __UINT32_TYPE__ unsigned int +// RISCV64: #define __UINT64_C_SUFFIX__ UL +// RISCV64: #define __UINT64_MAX__ 18446744073709551615UL +// RISCV64: #define __UINT64_TYPE__ long unsigned int +// RISCV64: #define __UINT8_C_SUFFIX__ +// RISCV64: #define __UINT8_MAX__ 255 +// RISCV64: #define __UINT8_TYPE__ unsigned char +// RISCV64: #define __UINTMAX_C_SUFFIX__ UL +// RISCV64: #define __UINTMAX_MAX__ 18446744073709551615UL +// RISCV64: #define __UINTMAX_TYPE__ long unsigned int +// RISCV64: #define __UINTMAX_WIDTH__ 64 +// RISCV64: #define __UINTPTR_MAX__ 18446744073709551615UL +// RISCV64: #define __UINTPTR_TYPE__ long unsigned int +// RISCV64: #define __UINTPTR_WIDTH__ 64 +// TODO: RISC-V GCC defines UINT_FAST16 to be unsigned int +// RISCV64: #define __UINT_FAST16_MAX__ 65535 +// RISCV64: #define __UINT_FAST16_TYPE__ unsigned short +// RISCV64: #define __UINT_FAST32_MAX__ 4294967295U +// RISCV64: #define __UINT_FAST32_TYPE__ unsigned int +// RISCV64: #define __UINT_FAST64_MAX__ 18446744073709551615UL +// RISCV64: #define __UINT_FAST64_TYPE__ long unsigned int +// TODO: RISC-V GCC defines UINT_FAST8 to be unsigned int +// RISCV64: #define __UINT_FAST8_MAX__ 255 +// RISCV64: #define __UINT_FAST8_TYPE__ unsigned char +// RISCV64: #define __UINT_LEAST16_MAX__ 65535 +// RISCV64: #define __UINT_LEAST16_TYPE__ unsigned short +// RISCV64: #define __UINT_LEAST32_MAX__ 4294967295U +// RISCV64: #define __UINT_LEAST32_TYPE__ unsigned int +// RISCV64: #define __UINT_LEAST64_MAX__ 18446744073709551615UL +// RISCV64: #define __UINT_LEAST64_TYPE__ long unsigned int +// RISCV64: #define __UINT_LEAST8_MAX__ 255 +// RISCV64: #define __UINT_LEAST8_TYPE__ unsigned char +// RISCV64: #define __USER_LABEL_PREFIX__ +// RISCV64: #define __WCHAR_MAX__ 2147483647 +// RISCV64: #define __WCHAR_TYPE__ int +// RISCV64: #define __WCHAR_WIDTH__ 32 +// RISCV64: #define __WINT_TYPE__ unsigned int +// RISCV64: #define __WINT_UNSIGNED__ 1 +// RISCV64: #define __WINT_WIDTH__ 32 +// RISCV64-LINUX: #define __gnu_linux__ 1 +// RISCV64-LINUX: #define __linux 1 +// RISCV64-LINUX: #define __linux__ 1 +// RISCV64: #define __riscv 1 +// RISCV64: #define __riscv_cmodel_medlow 1 +// RISCV64: #define __riscv_float_abi_soft 1 +// RISCV64: #define __riscv_xlen 64 +// RISCV64-LINUX: #define __unix 1 +// RISCV64-LINUX: #define __unix__ 1 +// RISCV64-LINUX: #define linux 1 +// RISCV64-LINUX: #define unix 1 |