diff options
Diffstat (limited to 'test/Preprocessor')
32 files changed, 2222 insertions, 1593 deletions
diff --git a/test/Preprocessor/Weverything_pragma.c b/test/Preprocessor/Weverything_pragma.c new file mode 100644 index 000000000000..142543175458 --- /dev/null +++ b/test/Preprocessor/Weverything_pragma.c @@ -0,0 +1,29 @@ +// RUN: %clang_cc1 -Weverything -fsyntax-only -verify %s + +// Test that the pragma overrides command line option -Weverythings, + +// a diagnostic with DefaultIgnore. This is part of a group 'unused-macro' +// but -Weverything forces it +#define UNUSED_MACRO1 1 // expected-warning{{macro is not used}} + +void foo() // expected-warning {{no previous prototype for function}} +{ + // A diagnostic without DefaultIgnore, and not part of a group. + (void) L'ab'; // expected-warning {{extraneous characters in character constant ignored}} + +#pragma clang diagnostic warning "-Weverything" // Should not change anyhting. +#define UNUSED_MACRO2 1 // expected-warning{{macro is not used}} + (void) L'cd'; // expected-warning {{extraneous characters in character constant ignored}} + +#pragma clang diagnostic ignored "-Weverything" // Ignore warnings now. +#define UNUSED_MACRO2 1 // no warning + (void) L'ef'; // no warning here + +#pragma clang diagnostic warning "-Weverything" // Revert back to warnings. +#define UNUSED_MACRO3 1 // expected-warning{{macro is not used}} + (void) L'gh'; // expected-warning {{extraneous characters in character constant ignored}} + +#pragma clang diagnostic error "-Weverything" // Give errors now. +#define UNUSED_MACRO4 1 // expected-error{{macro is not used}} + (void) L'ij'; // expected-error {{extraneous characters in character constant ignored}} +} diff --git a/test/Preprocessor/aarch64-target-features.c b/test/Preprocessor/aarch64-target-features.c index dbc29cff292b..5ec9bc685d76 100644 --- a/test/Preprocessor/aarch64-target-features.c +++ b/test/Preprocessor/aarch64-target-features.c @@ -92,16 +92,22 @@ // RUN: %clang -target aarch64 -mcpu=cortex-a53 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-A53 %s // RUN: %clang -target aarch64 -mcpu=cortex-a57 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-A57 %s // RUN: %clang -target aarch64 -mcpu=cortex-a72 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-A72 %s +// RUN: %clang -target aarch64 -mcpu=cortex-a73 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-CORTEX-A73 %s // RUN: %clang -target aarch64 -mcpu=exynos-m1 -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-M1 %s -// CHECK-MCPU-CYCLONE: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" "-target-feature" "+zcm" "-target-feature" "+zcz" +// RUN: %clang -target aarch64 -mcpu=kryo -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-KRYO %s +// RUN: %clang -target aarch64 -mcpu=vulcan -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-VULCAN %s +// CHECK-MCPU-CYCLONE: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crypto" "-target-feature" "+zcm" "-target-feature" "+zcz" // CHECK-MCPU-A35: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" // CHECK-MCPU-A53: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" // CHECK-MCPU-A57: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" // CHECK-MCPU-A72: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" +// CHECK-MCPU-CORTEX-A73: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" // CHECK-MCPU-M1: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" +// CHECK-MCPU-KRYO: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" +// CHECK-MCPU-VULCAN: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" // RUN: %clang -target x86_64-apple-macosx -arch arm64 -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARCH-ARM64 %s -// CHECK-ARCH-ARM64: "-target-cpu" "cyclone" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "+crypto" "-target-feature" "+zcm" "-target-feature" "+zcz" +// CHECK-ARCH-ARM64: "-target-cpu" "cyclone" "-target-feature" "+neon" "-target-feature" "+crypto" "-target-feature" "+zcm" "-target-feature" "+zcz" // RUN: %clang -target aarch64 -march=armv8-a+fp+simd+crc+crypto -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MARCH-1 %s // RUN: %clang -target aarch64 -march=armv8-a+nofp+nosimd+nocrc+nocrypto+fp+simd+crc+crypto -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MARCH-1 %s @@ -123,7 +129,7 @@ // RUN: %clang -target aarch64 -mcpu=generic+Crc -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-2 %s // RUN: %clang -target aarch64 -mcpu=GENERIC+nocrc+CRC -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-2 %s // RUN: %clang -target aarch64 -mcpu=cortex-a53+noSIMD -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-MCPU-3 %s -// CHECK-MCPU-1: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" "-target-feature" "-crypto" "-target-feature" "+zcm" "-target-feature" "+zcz" +// CHECK-MCPU-1: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "-crypto" "-target-feature" "+zcm" "-target-feature" "+zcz" // CHECK-MCPU-2: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "+neon" "-target-feature" "+crc" // CHECK-MCPU-3: "-cc1"{{.*}} "-triple" "aarch64{{.*}}" "-target-feature" "-neon" diff --git a/test/Preprocessor/arm-acle-6.4.c b/test/Preprocessor/arm-acle-6.4.c index 148ce6df090c..11be2c172f3b 100644 --- a/test/Preprocessor/arm-acle-6.4.c +++ b/test/Preprocessor/arm-acle-6.4.c @@ -140,6 +140,7 @@ // RUN: %clang -target arm-none-linux-eabi -mcpu=cortex-r5 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-V7R-IDIV // RUN: %clang -target arm-none-linux-eabi -mcpu=cortex-r7 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-V7R-IDIV +// RUN: %clang -target arm-none-linux-eabi -mcpu=cortex-r8 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-V7R-IDIV // CHECK-V7R-IDIV: __ARM_FEATURE_IDIV 1 diff --git a/test/Preprocessor/arm-acle-6.5.c b/test/Preprocessor/arm-acle-6.5.c index 95adad9faa8e..cc158c82cd8a 100644 --- a/test/Preprocessor/arm-acle-6.5.c +++ b/test/Preprocessor/arm-acle-6.5.c @@ -49,10 +49,13 @@ // CHECK-NO-FMA-NOT: __ARM_FEATURE_FMA -// RUN: %clang -target armv7a-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA -// RUN: %clang -target armv7r-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA +// RUN: %clang -target armv7a-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA +// RUN: %clang -target armv7a-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA +// RUN: %clang -target armv7r-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA +// RUN: %clang -target armv7r-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA // RUN: %clang -target armv7em-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA -// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA +// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-NO-FMA +// RUN: %clang -target armv8-eabi -mfpu=vfpv4 -x c -E -dM %s -o - | FileCheck %s -check-prefix CHECK-FMA // CHECK-FMA: __ARM_FEATURE_FMA 1 diff --git a/test/Preprocessor/arm-target-features.c b/test/Preprocessor/arm-target-features.c index ae27aa0a08b5..be235606e25a 100644 --- a/test/Preprocessor/arm-target-features.c +++ b/test/Preprocessor/arm-target-features.c @@ -1,411 +1,402 @@ -// RUN: %clang -target armv8a-none-linux-gnu -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-V8A %s -// CHECK-V8A: __ARMEL__ 1 -// CHECK-V8A: __ARM_ARCH 8 -// CHECK-V8A: __ARM_ARCH_8A__ 1 -// CHECK-V8A: __ARM_FEATURE_CRC32 1 -// CHECK-V8A: __ARM_FEATURE_DIRECTED_ROUNDING 1 -// CHECK-V8A: __ARM_FEATURE_NUMERIC_MAXMIN 1 -// CHECK-V8A: __ARM_FP 0xE -// CHECK-V8A: __ARM_FP16_ARGS 1 -// CHECK-V8A: __ARM_FP16_FORMAT_IEEE 1 +// RUN: %clang -target armv8a-none-linux-gnu -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V8A %s +// CHECK-V8A: #define __ARMEL__ 1 +// CHECK-V8A: #define __ARM_ARCH 8 +// CHECK-V8A: #define __ARM_ARCH_8A__ 1 +// CHECK-V8A: #define __ARM_FEATURE_CRC32 1 +// CHECK-V8A: #define __ARM_FEATURE_DIRECTED_ROUNDING 1 +// CHECK-V8A: #define __ARM_FEATURE_NUMERIC_MAXMIN 1 +// CHECK-V8A: #define __ARM_FP 0xE +// CHECK-V8A: #define __ARM_FP16_ARGS 1 +// CHECK-V8A: #define __ARM_FP16_FORMAT_IEEE 1 -// RUN: %clang -target armv7a-none-linux-gnu -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-V7 %s -// CHECK-V7: __ARMEL__ 1 -// CHECK-V7: __ARM_ARCH 7 -// CHECK-V7: __ARM_ARCH_7A__ 1 +// RUN: %clang -target armv7a-none-linux-gnu -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V7 %s +// CHECK-V7: #define __ARMEL__ 1 +// CHECK-V7: #define __ARM_ARCH 7 +// CHECK-V7: #define __ARM_ARCH_7A__ 1 // CHECK-V7-NOT: __ARM_FEATURE_CRC32 -// CHECK-V7-NOT: __ARM_FEATURE_NUMERIC_MAXMIN +// CHECK-V7-NOT: __ARM_FEATURE_NUMERIC_MAXMIN // CHECK-V7-NOT: __ARM_FEATURE_DIRECTED_ROUNDING -// CHECK-V7: __ARM_FP 0xC +// CHECK-V7: #define __ARM_FP 0xC -// RUN: %clang -target x86_64-apple-macosx10.10 -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-V7S %s -// CHECK-V7S: __ARMEL__ 1 -// CHECK-V7S: __ARM_ARCH 7 -// CHECK-V7S: __ARM_ARCH_7S__ 1 +// RUN: %clang -target x86_64-apple-macosx10.10 -arch armv7s -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V7S %s +// CHECK-V7S: #define __ARMEL__ 1 +// CHECK-V7S: #define __ARM_ARCH 7 +// CHECK-V7S: #define __ARM_ARCH_7S__ 1 // CHECK-V7S-NOT: __ARM_FEATURE_CRC32 // CHECK-V7S-NOT: __ARM_FEATURE_NUMERIC_MAXMIN // CHECK-V7S-NOT: __ARM_FEATURE_DIRECTED_ROUNDING -// CHECK-V7S: __ARM_FP 0xE +// CHECK-V7S: #define __ARM_FP 0xE -// RUN: %clang -target armv8a -mfloat-abi=hard -x c -E -dM %s | FileCheck --check-prefix=CHECK-V8-BAREHF %s -// CHECK-V8-BAREHF: __ARMEL__ 1 -// CHECK-V8-BAREHF: __ARM_ARCH 8 -// CHECK-V8-BAREHF: __ARM_ARCH_8A__ 1 -// CHECK-V8-BAREHF: __ARM_FEATURE_CRC32 1 -// CHECK-V8-BAREHF: __ARM_FEATURE_DIRECTED_ROUNDING 1 -// CHECK-V8-BAREHF: __ARM_FEATURE_NUMERIC_MAXMIN 1 -// CHECK-V8-BAREHP: __ARM_FP 0xE -// CHECK-V8-BAREHF: __ARM_NEON__ 1 -// CHECK-V8-BAREHF: __ARM_PCS_VFP 1 -// CHECK-V8-BAREHF: __VFP_FP__ 1 +// RUN: %clang -target armv8a -mfloat-abi=hard -x c -E -dM %s | FileCheck -match-full-lines --check-prefix=CHECK-V8-BAREHF %s +// CHECK-V8-BAREHF: #define __ARMEL__ 1 +// CHECK-V8-BAREHF: #define __ARM_ARCH 8 +// CHECK-V8-BAREHF: #define __ARM_ARCH_8A__ 1 +// CHECK-V8-BAREHF: #define __ARM_FEATURE_CRC32 1 +// CHECK-V8-BAREHF: #define __ARM_FEATURE_DIRECTED_ROUNDING 1 +// CHECK-V8-BAREHF: #define __ARM_FEATURE_NUMERIC_MAXMIN 1 +// CHECK-V8-BAREHP: #define __ARM_FP 0xE +// CHECK-V8-BAREHF: #define __ARM_NEON__ 1 +// CHECK-V8-BAREHF: #define __ARM_PCS_VFP 1 +// CHECK-V8-BAREHF: #define __VFP_FP__ 1 -// RUN: %clang -target armv8a -mfloat-abi=hard -mfpu=fp-armv8 -x c -E -dM %s | FileCheck --check-prefix=CHECK-V8-BAREHF-FP %s +// RUN: %clang -target armv8a -mfloat-abi=hard -mfpu=fp-armv8 -x c -E -dM %s | FileCheck -match-full-lines --check-prefix=CHECK-V8-BAREHF-FP %s // CHECK-V8-BAREHF-FP-NOT: __ARM_NEON__ 1 -// CHECK-V8-BAREHP-FP: __ARM_FP 0xE -// CHECK-V8-BAREHF-FP: __VFP_FP__ 1 +// CHECK-V8-BAREHP-FP: #define __ARM_FP 0xE +// CHECK-V8-BAREHF-FP: #define __VFP_FP__ 1 -// RUN: %clang -target armv8a -mfloat-abi=hard -mfpu=neon-fp-armv8 -x c -E -dM %s | FileCheck --check-prefix=CHECK-V8-BAREHF-NEON-FP %s -// RUN: %clang -target armv8a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 -x c -E -dM %s | FileCheck --check-prefix=CHECK-V8-BAREHF-NEON-FP %s -// CHECK-V8-BAREHP-NEON-FP: __ARM_FP 0xE -// CHECK-V8-BAREHF-NEON-FP: __ARM_NEON__ 1 -// CHECK-V8-BAREHF-NEON-FP: __VFP_FP__ 1 +// RUN: %clang -target armv8a -mfloat-abi=hard -mfpu=neon-fp-armv8 -x c -E -dM %s | FileCheck -match-full-lines --check-prefix=CHECK-V8-BAREHF-NEON-FP %s +// RUN: %clang -target armv8a -mfloat-abi=hard -mfpu=crypto-neon-fp-armv8 -x c -E -dM %s | FileCheck -match-full-lines --check-prefix=CHECK-V8-BAREHF-NEON-FP %s +// CHECK-V8-BAREHP-NEON-FP: #define __ARM_FP 0xE +// CHECK-V8-BAREHF-NEON-FP: #define __ARM_NEON__ 1 +// CHECK-V8-BAREHF-NEON-FP: #define __VFP_FP__ 1 -// RUN: %clang -target armv8a -mnocrc -x c -E -dM %s | FileCheck --check-prefix=CHECK-V8-NOCRC %s +// RUN: %clang -target armv8a -mnocrc -x c -E -dM %s | FileCheck -match-full-lines --check-prefix=CHECK-V8-NOCRC %s // CHECK-V8-NOCRC-NOT: __ARM_FEATURE_CRC32 1 // Check that -mhwdiv works properly for armv8/thumbv8 (enabled by default). -// RUN: %clang -target armv8 -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8 %s -// ARMV8:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8 -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8 %s -// THUMBV8:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8-EABI %s -// ARMV8-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv8-eabi -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8-EABI %s -// THUMBV8-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 +// RUN: %clang -target armv8 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8 %s +// RUN: %clang -target armv8 -mthumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8 %s +// RUN: %clang -target armv8-eabi -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8 %s +// RUN: %clang -target armv8-eabi -mthumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8 %s +// V8:#define __ARM_ARCH_EXT_IDIV__ 1 -// RUN: %clang -target armv8 -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NONEHWDIV-ARMV8 %s -// NONEHWDIV-ARMV8-NOT:#define __ARM_ARCH_EXT_IDIV__ +// RUN: %clang -target armv8 -mhwdiv=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mthumb -mhwdiv=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV-V8 %s +// RUN: %clang -target armv8 -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV-V8 %s +// NOHWDIV-V8-NOT:#define __ARM_ARCH_EXT_IDIV__ -// RUN: %clang -target armv8 -mthumb -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=NONEHWDIV-THUMBV8 %s -// NONEHWDIV-THUMBV8-NOT:#define __ARM_ARCH_EXT_IDIV__ +// RUN: %clang -target armv8a -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8A %s +// RUN: %clang -target armv8a -mthumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8A %s +// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8A %s +// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8A %s +// V8A:#define __ARM_ARCH_EXT_IDIV__ 1 +// V8A:#define __ARM_FP 0xE -// RUN: %clang -target armv8 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARMV8 %s -// THUMBHWDIV-ARMV8-NOT:#define __ARM_ARCH_EXT_IDIV__ +// RUN: %clang -target armv8m.base-none-linux-gnu -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8M_BASELINE %s +// V8M_BASELINE: #define __ARM_ARCH 8 +// V8M_BASELINE: #define __ARM_ARCH_8M_BASE__ 1 +// V8M_BASELINE: #define __ARM_ARCH_EXT_IDIV__ 1 +// V8M_BASELINE-NOT: __ARM_ARCH_ISA_ARM +// V8M_BASELINE: #define __ARM_ARCH_ISA_THUMB 1 +// V8M_BASELINE: #define __ARM_ARCH_PROFILE 'M' +// V8M_BASELINE-NOT: __ARM_FEATURE_CRC32 +// V8M_BASELINE-NOT: __ARM_FEATURE_DSP +// V8M_BASELINE-NOT: __ARM_FP 0x{{.*}} +// V8M_BASELINE-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// RUN: %clang -target armv8 -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMBV8 %s -// ARMHWDIV-THUMBV8-NOT:#define __ARM_ARCH_EXT_IDIV__ +// RUN: %clang -target armv8m.main-none-linux-gnu -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8M_MAINLINE %s +// V8M_MAINLINE: #define __ARM_ARCH 8 +// V8M_MAINLINE: #define __ARM_ARCH_8M_MAIN__ 1 +// V8M_MAINLINE: #define __ARM_ARCH_EXT_IDIV__ 1 +// V8M_MAINLINE-NOT: __ARM_ARCH_ISA_ARM +// V8M_MAINLINE: #define __ARM_ARCH_ISA_THUMB 2 +// V8M_MAINLINE: #define __ARM_ARCH_PROFILE 'M' +// V8M_MAINLINE-NOT: __ARM_FEATURE_CRC32 +// V8M_MAINLINE-NOT: __ARM_FEATURE_DSP +// V8M_MAINLINE: #define __ARM_FP 0xE +// V8M_MAINLINE: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -// RUN: %clang -target armv8a -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8A %s -// ARMV8A:#define __ARM_ARCH_EXT_IDIV__ 1 -// ARMV8A: #define __ARM_FP 0xE +// RUN: %clang -target arm-none-linux-gnu -march=armv8-m.main+dsp -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=V8M_MAINLINE_DSP %s +// V8M_MAINLINE_DSP: #define __ARM_ARCH 8 +// V8M_MAINLINE_DSP: #define __ARM_ARCH_8M_MAIN__ 1 +// V8M_MAINLINE_DSP: #define __ARM_ARCH_EXT_IDIV__ 1 +// V8M_MAINLINE_DSP-NOT: __ARM_ARCH_ISA_ARM +// V8M_MAINLINE_DSP: #define __ARM_ARCH_ISA_THUMB 2 +// V8M_MAINLINE_DSP: #define __ARM_ARCH_PROFILE 'M' +// V8M_MAINLINE_DSP-NOT: __ARM_FEATURE_CRC32 +// V8M_MAINLINE_DSP: #define __ARM_FEATURE_DSP 1 +// V8M_MAINLINE_DSP: #define __ARM_FP 0xE +// V8M_MAINLINE_DSP: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 -// RUN: %clang -target armv8a -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8A %s -// THUMBV8A:#define __ARM_ARCH_EXT_IDIV__ 1 -// THUMBV8A: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=ARMV8A-EABI %s -// ARMV8A-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 -// ARMV8A-EABI: #define __ARM_FP 0xE - -// RUN: %clang -target armv8a-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBV8A-EABI %s -// THUMBV8A-EABI:#define __ARM_ARCH_EXT_IDIV__ 1 -// THUMBV8A-EABI: #define __ARM_FP 0xE - -// RUN: %clang -target arm-none-linux-gnu -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-DEFS %s +// RUN: %clang -target arm-none-linux-gnu -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-DEFS %s // CHECK-DEFS:#define __ARM_PCS 1 // CHECK-DEFS:#define __ARM_SIZEOF_MINIMAL_ENUM 4 // CHECK-DEFS:#define __ARM_SIZEOF_WCHAR_T 4 // RUN: %clang -target arm-none-linux-gnu -fno-math-errno -fno-signed-zeros\ // RUN: -fno-trapping-math -fassociative-math -freciprocal-math\ -// RUN: -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-FASTMATH %s +// RUN: -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-FASTMATH %s // RUN: %clang -target arm-none-linux-gnu -ffast-math -x c -E -dM %s -o -\ -// RUN: | FileCheck --check-prefix=CHECK-FASTMATH %s -// CHECK-FASTMATH: __ARM_FP_FAST 1 +// RUN: | FileCheck -match-full-lines --check-prefix=CHECK-FASTMATH %s +// CHECK-FASTMATH: #define __ARM_FP_FAST 1 -// RUN: %clang -target arm-none-linux-gnu -fshort-wchar -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTWCHAR %s +// RUN: %clang -target arm-none-linux-gnu -fshort-wchar -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-SHORTWCHAR %s // CHECK-SHORTWCHAR:#define __ARM_SIZEOF_WCHAR_T 2 -// RUN: %clang -target arm-none-linux-gnu -fshort-enums -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-SHORTENUMS %s +// RUN: %clang -target arm-none-linux-gnu -fshort-enums -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-SHORTENUMS %s // CHECK-SHORTENUMS:#define __ARM_SIZEOF_MINIMAL_ENUM 1 // Test that -mhwdiv has the right effect for a target CPU which has hwdiv enabled by default. -// RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-ARM %s -// DEFAULTHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-THUMB %s -// DEFAULTHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 +// RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=HWDIV %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=HWDIV %s +// RUN: %clang -target armv7 -mcpu=cortex-a15 -mhwdiv=arm -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=HWDIV %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=HWDIV %s +// HWDIV:#define __ARM_ARCH_EXT_IDIV__ 1 -// RUN: %clang -target armv7 -mcpu=cortex-a15 -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s -// ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s -// THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 - -// RUN: %clang -target arm -mcpu=cortex-a15 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-THUMBHWDIV-ARM %s -// DEFAULTHWDIV-THUMBHWDIV-ARM-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target arm -mthumb -mcpu=cortex-a15 -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-ARMHWDIV-THUMB %s -// DEFAULTHWDIV-ARMHWDIV-THUMB-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target arm -mcpu=cortex-a15 -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-NONEHWDIV-ARM %s -// DEFAULTHWDIV-NONEHWDIV-ARM-NOT:#define __ARM_ARCH_EXT_IDIV__ - -// RUN: %clang -target arm -mthumb -mcpu=cortex-a15 -mhwdiv=none -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTHWDIV-NONEHWDIV-THUMB %s -// DEFAULTHWDIV-NONEHWDIV-THUMB-NOT:#define __ARM_ARCH_EXT_IDIV__ +// RUN: %clang -target arm -mcpu=cortex-a15 -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV %s +// RUN: %clang -target arm -mthumb -mcpu=cortex-a15 -mhwdiv=arm -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV %s +// RUN: %clang -target arm -mcpu=cortex-a15 -mhwdiv=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV %s +// RUN: %clang -target arm -mthumb -mcpu=cortex-a15 -mhwdiv=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NOHWDIV %s +// NOHWDIV-NOT:#define __ARM_ARCH_EXT_IDIV__ // Check that -mfpu works properly for Cortex-A7 (enabled by default). -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A7 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A7 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A7 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A7 %s // DEFAULTFPU-A7:#define __ARM_FP 0xE // DEFAULTFPU-A7:#define __ARM_NEON__ 1 // DEFAULTFPU-A7:#define __ARM_VFPV4__ 1 -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a7 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A7 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a7 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A7 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a7 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A7 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a7 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A7 %s // FPUNONE-A7-NOT:#define __ARM_FP 0x{{.*}} // FPUNONE-A7-NOT:#define __ARM_NEON__ 1 // FPUNONE-A7-NOT:#define __ARM_VFPV4__ 1 -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a7 -mfpu=vfp4 -x c -E -dM %s -o - | FileCheck --check-prefix=NONEON-A7 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a7 -mfpu=vfp4 -x c -E -dM %s -o - | FileCheck --check-prefix=NONEON-A7 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a7 -mfpu=vfp4 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NONEON-A7 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a7 -mfpu=vfp4 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NONEON-A7 %s // NONEON-A7:#define __ARM_FP 0xE // NONEON-A7-NOT:#define __ARM_NEON__ 1 // NONEON-A7:#define __ARM_VFPV4__ 1 // Check that -mfpu works properly for Cortex-A5 (enabled by default). -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A5 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A5 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A5 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A5 %s // DEFAULTFPU-A5:#define __ARM_FP 0xE // DEFAULTFPU-A5:#define __ARM_NEON__ 1 // DEFAULTFPU-A5:#define __ARM_VFPV4__ 1 -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a5 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A5 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a5 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A5 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a5 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A5 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a5 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A5 %s // FPUNONE-A5-NOT:#define __ARM_FP 0x{{.*}} // FPUNONE-A5-NOT:#define __ARM_NEON__ 1 // FPUNONE-A5-NOT:#define __ARM_VFPV4__ 1 -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a5 -mfpu=vfp4-d16 -x c -E -dM %s -o - | FileCheck --check-prefix=NONEON-A5 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a5 -mfpu=vfp4-d16 -x c -E -dM %s -o - | FileCheck --check-prefix=NONEON-A5 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a5 -mfpu=vfp4-d16 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NONEON-A5 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a5 -mfpu=vfp4-d16 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=NONEON-A5 %s // NONEON-A5:#define __ARM_FP 0xE // NONEON-A5-NOT:#define __ARM_NEON__ 1 // NONEON-A5:#define __ARM_VFPV4__ 1 // FIXME: add check for further predefines // Test whether predefines are as expected when targeting ep9312. -// RUN: %clang -target armv4t -mcpu=ep9312 -x c -E -dM %s -o - | FileCheck --check-prefix=A4T %s +// RUN: %clang -target armv4t -mcpu=ep9312 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A4T %s // A4T-NOT:#define __ARM_FEATURE_DSP // A4T-NOT:#define __ARM_FP 0x{{.*}} // Test whether predefines are as expected when targeting arm10tdmi. -// RUN: %clang -target armv5 -mcpu=arm10tdmi -x c -E -dM %s -o - | FileCheck --check-prefix=A5T %s +// RUN: %clang -target armv5 -mcpu=arm10tdmi -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A5T %s // A5T-NOT:#define __ARM_FEATURE_DSP // A5T-NOT:#define __ARM_FP 0x{{.*}} // Test whether predefines are as expected when targeting cortex-a5. -// RUN: %clang -target armv7 -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck --check-prefix=A5-ARM %s -// A5-ARM-NOT:#define __ARM_ARCH_EXT_IDIV__ -// A5-ARM:#define __ARM_FEATURE_DSP -// A5-ARM:#define __ARM_FP 0xE - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck --check-prefix=A5-THUMB %s -// A5-THUMB-NOT:#define __ARM_ARCH_EXT_IDIV__ -// A5-THUMB:#define __ARM_FEATURE_DSP -// A5-THUMB:#define __ARM_FP 0xE - -// RUN: %clang -target armv7 -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck --check-prefix=A5 %s -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck --check-prefix=A5 %s +// RUN: %clang -target armv7 -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A5 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a5 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A5 %s // A5:#define __ARM_ARCH 7 // A5:#define __ARM_ARCH_7A__ 1 +// A5-NOT:#define __ARM_ARCH_EXT_IDIV__ // A5:#define __ARM_ARCH_PROFILE 'A' -// A5-NOT: #define __ARM_FEATURE_NUMERIC_MAXMIN // A5-NOT: #define __ARM_FEATURE_DIRECTED_ROUNDING -// A5:#define __ARM_FEATURE_DSP +// A5:#define __ARM_FEATURE_DSP 1 +// A5-NOT: #define __ARM_FEATURE_NUMERIC_MAXMIN // A5:#define __ARM_FP 0xE // Test whether predefines are as expected when targeting cortex-a7. -// RUN: %clang -target armv7k -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck --check-prefix=A7 %s -// RUN: %clang -target armv7k -mthumb -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck --check-prefix=A7 %s +// RUN: %clang -target armv7k -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A7 %s +// RUN: %clang -target armv7k -mthumb -mcpu=cortex-a7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A7 %s // A7:#define __ARM_ARCH 7 // A7:#define __ARM_ARCH_EXT_IDIV__ 1 // A7:#define __ARM_ARCH_PROFILE 'A' -// A7:#define __ARM_FEATURE_DSP +// A7:#define __ARM_FEATURE_DSP 1 // A7:#define __ARM_FP 0xE -// Test whether predefines are as expected when targeting cortex-a8. -// RUN: %clang -target armv7 -mcpu=cortex-a8 -x c -E -dM %s -o - | FileCheck --check-prefix=A8-ARM %s -// A8-ARM-NOT:#define __ARM_ARCH_EXT_IDIV__ -// A8-ARM:#define __ARM_FEATURE_DSP -// A8-ARM:#define __ARM_FP 0xC +// Test whether predefines are as expected when targeting cortex-a7. +// RUN: %clang -target x86_64-apple-darwin -arch armv7k -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV7K %s +// ARMV7K:#define __ARM_ARCH 7 +// ARMV7K:#define __ARM_ARCH_EXT_IDIV__ 1 +// ARMV7K:#define __ARM_ARCH_PROFILE 'A' +// ARMV7K:#define __ARM_DWARF_EH__ 1 +// ARMV7K:#define __ARM_FEATURE_DSP 1 +// ARMV7K:#define __ARM_FP 0xE +// ARMV7K:#define __ARM_PCS_VFP 1 -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a8 -x c -E -dM %s -o - | FileCheck --check-prefix=A8-THUMB %s -// A8-THUMB-NOT:#define __ARM_ARCH_EXT_IDIV__ -// A8-THUMB:#define __ARM_FEATURE_DSP -// A8-THUMB:#define __ARM_FP 0xC -// Test whether predefines are as expected when targeting cortex-a9. -// RUN: %clang -target armv7 -mcpu=cortex-a9 -x c -E -dM %s -o - | FileCheck --check-prefix=A9-ARM %s -// A9-ARM-NOT:#define __ARM_ARCH_EXT_IDIV__ -// A9-ARM:#define __ARM_FEATURE_DSP -// A9-ARM:#define __ARM_FP 0xE +// Test whether predefines are as expected when targeting cortex-a8. +// RUN: %clang -target armv7 -mcpu=cortex-a8 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A8 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a8 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A8 %s +// A8-NOT:#define __ARM_ARCH_EXT_IDIV__ +// A8:#define __ARM_FEATURE_DSP 1 +// A8:#define __ARM_FP 0xC -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a9 -x c -E -dM %s -o - | FileCheck --check-prefix=A9-THUMB %s -// A9-THUMB-NOT:#define __ARM_ARCH_EXT_IDIV__ -// A9-THUMB:#define __ARM_FEATURE_DSP -// A9-THUMB:#define __ARM_FP 0xE +// Test whether predefines are as expected when targeting cortex-a9. +// RUN: %clang -target armv7 -mcpu=cortex-a9 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A9 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a9 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A9 %s +// A9-NOT:#define __ARM_ARCH_EXT_IDIV__ +// A9:#define __ARM_FEATURE_DSP 1 +// A9:#define __ARM_FP 0xE // Check that -mfpu works properly for Cortex-A12 (enabled by default). -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A12 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A12 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A12 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A12 %s // DEFAULTFPU-A12:#define __ARM_FP 0xE // DEFAULTFPU-A12:#define __ARM_NEON__ 1 // DEFAULTFPU-A12:#define __ARM_VFPV4__ 1 -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a12 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A12 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a12 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A12 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a12 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A12 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a12 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A12 %s // FPUNONE-A12-NOT:#define __ARM_FP 0x{{.*}} // FPUNONE-A12-NOT:#define __ARM_NEON__ 1 // FPUNONE-A12-NOT:#define __ARM_VFPV4__ 1 // Test whether predefines are as expected when targeting cortex-a12. -// RUN: %clang -target armv7 -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=A12 %s -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=A12 %s +// RUN: %clang -target armv7 -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A12 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A12 %s // A12:#define __ARM_ARCH 7 // A12:#define __ARM_ARCH_7A__ 1 // A12:#define __ARM_ARCH_EXT_IDIV__ 1 // A12:#define __ARM_ARCH_PROFILE 'A' -// A12:#define __ARM_FEATURE_DSP +// A12:#define __ARM_FEATURE_DSP 1 // A12:#define __ARM_FP 0xE // Test whether predefines are as expected when targeting cortex-a15. -// RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=A15-ARM %s -// A15-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 -// A15-ARM:#define __ARM_FEATURE_DSP -// A15-ARM:#define __ARM_FP 0xE - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=A15-THUMB %s -// A15-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// A15-THUMB:#define __ARM_FEATURE_DSP -// A15-THUMB:#define __ARM_FP 0xE +// RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A15 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A15 %s +// A15:#define __ARM_ARCH_EXT_IDIV__ 1 +// A15:#define __ARM_FEATURE_DSP 1 +// A15:#define __ARM_FP 0xE // Check that -mfpu works properly for Cortex-A17 (enabled by default). -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A17 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A17 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A17 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=DEFAULTFPU-A17 %s // DEFAULTFPU-A17:#define __ARM_FP 0xE // DEFAULTFPU-A17:#define __ARM_NEON__ 1 // DEFAULTFPU-A17:#define __ARM_VFPV4__ 1 -// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a17 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A17 %s -// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a17 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A17 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a17 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A17 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a17 -mfpu=none -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=FPUNONE-A17 %s // FPUNONE-A17-NOT:#define __ARM_FP 0x{{.*}} // FPUNONE-A17-NOT:#define __ARM_NEON__ 1 // FPUNONE-A17-NOT:#define __ARM_VFPV4__ 1 // Test whether predefines are as expected when targeting cortex-a17. -// RUN: %clang -target armv7 -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck --check-prefix=A17 %s -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck --check-prefix=A17 %s +// RUN: %clang -target armv7 -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A17 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a17 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=A17 %s // A17:#define __ARM_ARCH 7 // A17:#define __ARM_ARCH_7A__ 1 // A17:#define __ARM_ARCH_EXT_IDIV__ 1 // A17:#define __ARM_ARCH_PROFILE 'A' -// A17:#define __ARM_FEATURE_DSP +// A17:#define __ARM_FEATURE_DSP 1 // A17:#define __ARM_FP 0xE // Test whether predefines are as expected when targeting swift. -// RUN: %clang -target armv7s -mcpu=swift -x c -E -dM %s -o - | FileCheck --check-prefix=SWIFT-ARM %s -// SWIFT-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 -// SWIFT-ARM:#define __ARM_FEATURE_DSP -// SWIFT-ARM:#define __ARM_FP 0xE +// RUN: %clang -target armv7s -mcpu=swift -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=SWIFT %s +// RUN: %clang -target armv7s -mthumb -mcpu=swift -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=SWIFT %s +// SWIFT:#define __ARM_ARCH_EXT_IDIV__ 1 +// SWIFT:#define __ARM_FEATURE_DSP 1 +// SWIFT:#define __ARM_FP 0xE -// RUN: %clang -target armv7s -mthumb -mcpu=swift -x c -E -dM %s -o - | FileCheck --check-prefix=SWIFT-THUMB %s -// SWIFT-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// SWIFT-THUMB:#define __ARM_FEATURE_DSP -// SWIFT-THUMB:#define __ARM_FP 0xE - -// Test whether predefines are as expected when targeting cortex-a53. -// RUN: %clang -target armv8 -mcpu=cortex-a53 -x c -E -dM %s -o - | FileCheck --check-prefix=A53-ARM %s -// A53-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 -// A53-ARM:#define __ARM_FEATURE_DSP -// A53-ARM:#define __ARM_FP 0xE - -// RUN: %clang -target armv8 -mthumb -mcpu=cortex-a53 -x c -E -dM %s -o - | FileCheck --check-prefix=A53-THUMB %s -// A53-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// A53-THUMB:#define __ARM_FEATURE_DSP -// A53-THUMB:#define __ARM_FP 0xE +// Test whether predefines are as expected when targeting ARMv8-A Cortex implementations +// RUN: %clang -target armv8 -mcpu=cortex-a32 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mthumb -mcpu=cortex-a32 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mcpu=cortex-a35 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mthumb -mcpu=cortex-a35 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mcpu=cortex-a53 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mthumb -mcpu=cortex-a53 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mcpu=cortex-a57 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mthumb -mcpu=cortex-a57 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mcpu=cortex-a72 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mthumb -mcpu=cortex-a72 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mcpu=cortex-a73 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// RUN: %clang -target armv8 -mthumb -mcpu=cortex-a73 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMV8 %s +// ARMV8:#define __ARM_ARCH_EXT_IDIV__ 1 +// ARMV8:#define __ARM_FEATURE_DSP 1 +// ARMV8:#define __ARM_FP 0xE // Test whether predefines are as expected when targeting cortex-r4. -// RUN: %clang -target armv7 -mcpu=cortex-r4 -x c -E -dM %s -o - | FileCheck --check-prefix=R4-ARM %s +// RUN: %clang -target armv7 -mcpu=cortex-r4 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R4-ARM %s // R4-ARM-NOT:#define __ARM_ARCH_EXT_IDIV__ -// R4-ARM:#define __ARM_FEATURE_DSP +// R4-ARM:#define __ARM_FEATURE_DSP 1 // R4-ARM-NOT:#define __ARM_FP 0x{{.*}} -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r4 -x c -E -dM %s -o - | FileCheck --check-prefix=R4-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r4 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R4-THUMB %s // R4-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// R4-THUMB:#define __ARM_FEATURE_DSP +// R4-THUMB:#define __ARM_FEATURE_DSP 1 // R4-THUMB-NOT:#define __ARM_FP 0x{{.*}} // Test whether predefines are as expected when targeting cortex-r4f. -// RUN: %clang -target armv7 -mcpu=cortex-r4f -x c -E -dM %s -o - | FileCheck --check-prefix=R4F-ARM %s +// RUN: %clang -target armv7 -mcpu=cortex-r4f -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R4F-ARM %s // R4F-ARM-NOT:#define __ARM_ARCH_EXT_IDIV__ -// R4F-ARM:#define __ARM_FEATURE_DSP +// R4F-ARM:#define __ARM_FEATURE_DSP 1 // R4F-ARM:#define __ARM_FP 0xC -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r4f -x c -E -dM %s -o - | FileCheck --check-prefix=R4F-THUMB %s -// R4F-THUMBT:#define __ARM_ARCH_EXT_IDIV__ 1 -// R4F-THUMB:#define __ARM_FEATURE_DSP +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r4f -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R4F-THUMB %s +// R4F-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 +// R4F-THUMB:#define __ARM_FEATURE_DSP 1 // R4F-THUMB:#define __ARM_FP 0xC // Test whether predefines are as expected when targeting cortex-r5. -// RUN: %clang -target armv7 -mcpu=cortex-r5 -x c -E -dM %s -o - | FileCheck --check-prefix=R5-ARM %s -// R5-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 -// R5-ARM:#define __ARM_FEATURE_DSP -// R5-ARM:#define __ARM_FP 0xC - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r5 -x c -E -dM %s -o - | FileCheck --check-prefix=R5-THUMB %s -// R5-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// R5-THUMB:#define __ARM_FEATURE_DSP -// R5-THUMB:#define __ARM_FP 0xC +// RUN: %clang -target armv7 -mcpu=cortex-r5 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R5 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r5 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R5 %s +// R5:#define __ARM_ARCH_EXT_IDIV__ 1 +// R5:#define __ARM_FEATURE_DSP 1 +// R5:#define __ARM_FP 0xC -// Test whether predefines are as expected when targeting cortex-r7. -// RUN: %clang -target armv7 -mcpu=cortex-r7 -x c -E -dM %s -o - | FileCheck --check-prefix=R7-ARM %s -// R7-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 -// R7-ARM:#define __ARM_FEATURE_DSP -// R7-ARM:#define __ARM_FP 0xE - -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r7 -x c -E -dM %s -o - | FileCheck --check-prefix=R7-THUMB %s -// R7-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// R7-THUMB:#define __ARM_FEATURE_DSP -// R7-THUMB:#define __ARM_FP 0xE +// Test whether predefines are as expected when targeting cortex-r7 and cortex-r8. +// RUN: %clang -target armv7 -mcpu=cortex-r7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R7-R8 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R7-R8 %s +// RUN: %clang -target armv7 -mcpu=cortex-r8 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R7-R8 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-r8 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=R7-R8 %s +// R7-R8:#define __ARM_ARCH_EXT_IDIV__ 1 +// R7-R8:#define __ARM_FEATURE_DSP 1 +// R7-R8:#define __ARM_FP 0xE // Test whether predefines are as expected when targeting cortex-m0. -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m0 -x c -E -dM %s -o - | FileCheck --check-prefix=M0-THUMB %s -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m0plus -x c -E -dM %s -o - | FileCheck --check-prefix=M0-THUMB %s -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m1 -x c -E -dM %s -o - | FileCheck --check-prefix=M0-THUMB %s -// RUN: %clang -target armv7 -mthumb -mcpu=sc000 -x c -E -dM %s -o - | FileCheck --check-prefix=M0-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m0 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M0-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m0plus -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M0-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m1 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M0-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=sc000 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M0-THUMB %s // M0-THUMB-NOT:#define __ARM_ARCH_EXT_IDIV__ // M0-THUMB-NOT:#define __ARM_FEATURE_DSP // M0-THUMB-NOT:#define __ARM_FP 0x{{.*}} // Test whether predefines are as expected when targeting cortex-m3. -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m3 -x c -E -dM %s -o - | FileCheck --check-prefix=M3-THUMB %s -// RUN: %clang -target armv7 -mthumb -mcpu=sc300 -x c -E -dM %s -o - | FileCheck --check-prefix=M3-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m3 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M3-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=sc300 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M3-THUMB %s // M3-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 // M3-THUMB-NOT:#define __ARM_FEATURE_DSP // M3-THUMB-NOT:#define __ARM_FP 0x{{.*}} // Test whether predefines are as expected when targeting cortex-m4. -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m4 -x c -E -dM %s -o - | FileCheck --check-prefix=M4-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m4 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M4-THUMB %s // M4-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// M4-THUMB:#define __ARM_FEATURE_DSP +// M4-THUMB:#define __ARM_FEATURE_DSP 1 // M4-THUMB:#define __ARM_FP 0x6 // Test whether predefines are as expected when targeting cortex-m7. -// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m7 -x c -E -dM %s -o - | FileCheck --check-prefix=M7-THUMB %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-m7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=M7-THUMB %s // M7-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// M7-THUMB:#define __ARM_FEATURE_DSP +// M7-THUMB:#define __ARM_FEATURE_DSP 1 // M7-THUMB:#define __ARM_FP 0xE // Test whether predefines are as expected when targeting krait. -// RUN: %clang -target armv7 -mcpu=krait -x c -E -dM %s -o - | FileCheck --check-prefix=KRAIT-ARM %s -// KRAIT-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 -// KRAIT-ARM:#define __ARM_FEATURE_DSP -// KRAIT-ARM:#define __ARM_VFPV4__ 1 - -// RUN: %clang -target armv7 -mthumb -mcpu=krait -x c -E -dM %s -o - | FileCheck --check-prefix=KRAIT-THUMB %s -// KRAIT-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// KRAIT-THUMB:#define __ARM_FEATURE_DSP -// KRAIT-THUMB:#define __ARM_VFPV4__ 1 +// RUN: %clang -target armv7 -mcpu=krait -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=KRAIT %s +// RUN: %clang -target armv7 -mthumb -mcpu=krait -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=KRAIT %s +// KRAIT:#define __ARM_ARCH_EXT_IDIV__ 1 +// KRAIT:#define __ARM_FEATURE_DSP 1 +// KRAIT:#define __ARM_VFPV4__ 1 -// RUN: %clang -target armv8.1a-none-none-eabi -x c -E -dM %s -o - | FileCheck --check-prefix=CHECK-V81A %s -// CHECK-V81A: __ARM_ARCH 8 -// CHECK-V81A: __ARM_ARCH_8_1A__ 1 +// RUN: %clang -target armv8.1a-none-none-eabi -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V81A %s +// CHECK-V81A: #define __ARM_ARCH 8 +// CHECK-V81A: #define __ARM_ARCH_8_1A__ 1 // CHECK-V81A: #define __ARM_ARCH_PROFILE 'A' -// CHECK-V81A: __ARM_FEATURE_QRDMX 1 +// CHECK-V81A: #define __ARM_FEATURE_QRDMX 1 // CHECK-V81A: #define __ARM_FP 0xE + +// RUN: %clang -target armv8.2a-none-none-eabi -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=CHECK-V82A %s +// CHECK-V82A: #define __ARM_ARCH 8 +// CHECK-V82A: #define __ARM_ARCH_8_2A__ 1 +// CHECK-V82A: #define __ARM_ARCH_PROFILE 'A' +// CHECK-V82A: #define __ARM_FP 0xE diff --git a/test/Preprocessor/bigoutput.c b/test/Preprocessor/bigoutput.c new file mode 100644 index 000000000000..c5e02cb9ddf6 --- /dev/null +++ b/test/Preprocessor/bigoutput.c @@ -0,0 +1,17 @@ +// RUN: %clang_cc1 -E -x c %s > /dev/tty +// The original bug requires UNIX line endings to trigger. +// The original bug triggers only when outputting directly to console. +// REQUIRES: console + +// Make sure clang does not crash during preprocessing + +#define M0 extern int x; +#define M2 M0 M0 M0 M0 +#define M4 M2 M2 M2 M2 +#define M6 M4 M4 M4 M4 +#define M8 M6 M6 M6 M6 +#define M10 M8 M8 M8 M8 +#define M12 M10 M10 M10 M10 +#define M14 M12 M12 M12 M12 + +M14 diff --git a/test/Preprocessor/comment_save_macro.c b/test/Preprocessor/comment_save_macro.c index 6ad759f5c31a..f32ba5629b13 100644 --- a/test/Preprocessor/comment_save_macro.c +++ b/test/Preprocessor/comment_save_macro.c @@ -4,7 +4,7 @@ // RUN: %clang_cc1 -E -CC %s | FileCheck -check-prefix=CHECK-CC -strict-whitespace %s // CHECK-CC: boo bork /* blah*/ bar // zot -// RUN: %clang_cc1 -E %s | FileCheck -check-prefix=CHECK -strict-whitespace %s +// RUN: %clang_cc1 -E %s | FileCheck -strict-whitespace %s // CHECK: boo bork bar diff --git a/test/Preprocessor/cuda-approx-transcendentals.cu b/test/Preprocessor/cuda-approx-transcendentals.cu new file mode 100644 index 000000000000..8d106ea27a7f --- /dev/null +++ b/test/Preprocessor/cuda-approx-transcendentals.cu @@ -0,0 +1,8 @@ +// RUN: %clang --cuda-host-only -nocudainc -target i386-unknown-linux-gnu -x cuda -E -dM -o - /dev/null | FileCheck --check-prefix HOST %s +// RUN: %clang --cuda-device-only -nocudainc -target i386-unknown-linux-gnu -x cuda -E -dM -o - /dev/null | FileCheck --check-prefix DEVICE-NOFAST %s +// RUN: %clang -fcuda-approx-transcendentals --cuda-device-only -nocudainc -target i386-unknown-linux-gnu -x cuda -E -dM -o - /dev/null | FileCheck --check-prefix DEVICE-FAST %s +// RUN: %clang -ffast-math --cuda-device-only -nocudainc -target i386-unknown-linux-gnu -x cuda -E -dM -o - /dev/null | FileCheck --check-prefix DEVICE-FAST %s + +// HOST-NOT: __CLANG_CUDA_APPROX_TRANSCENDENTALS__ +// DEVICE-NOFAST-NOT: __CLANG_CUDA_APPROX_TRANSCENDENTALS__ +// DEVICE-FAST: __CLANG_CUDA_APPROX_TRANSCENDENTALS__ diff --git a/test/Preprocessor/cuda-preprocess.cu b/test/Preprocessor/cuda-preprocess.cu new file mode 100644 index 000000000000..9751bfd6d5b3 --- /dev/null +++ b/test/Preprocessor/cuda-preprocess.cu @@ -0,0 +1,32 @@ +// Tests CUDA compilation with -E. + +// REQUIRES: clang-driver +// REQUIRES: x86-registered-target +// REQUIRES: nvptx-registered-target + +#ifndef __CUDA_ARCH__ +#define PREPROCESSED_AWAY +clang_unittest_no_arch PREPROCESSED_AWAY +#else +clang_unittest_cuda_arch __CUDA_ARCH__ +#endif + +// CHECK-NOT: PREPROCESSED_AWAY + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 -nocudainc %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-host-only -nocudainc %s 2>&1 \ +// RUN: | FileCheck -check-prefix NOARCH %s +// NOARCH: clang_unittest_no_arch + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-device-only -nocudainc %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 %s +// SM20: clang_unittest_cuda_arch 200 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_30 --cuda-device-only -nocudainc %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM30 %s +// SM30: clang_unittest_cuda_arch 300 + +// RUN: %clang -E -target x86_64-linux-gnu --cuda-gpu-arch=sm_20 --cuda-gpu-arch=sm_30 \ +// RUN: --cuda-device-only -nocudainc %s 2>&1 \ +// RUN: | FileCheck -check-prefix SM20 -check-prefix SM30 %s diff --git a/test/Preprocessor/cuda-types.cu b/test/Preprocessor/cuda-types.cu new file mode 100644 index 000000000000..dd8eef4aaef5 --- /dev/null +++ b/test/Preprocessor/cuda-types.cu @@ -0,0 +1,27 @@ +// Check that types, widths, etc. match on the host and device sides of CUDA +// compilations. Note that we filter out long double, as this is intentionally +// different on host and device. + +// RUN: %clang --cuda-host-only -nocudainc -target i386-unknown-linux-gnu -x cuda -E -dM -o - /dev/null > %T/i386-host-defines +// RUN: %clang --cuda-device-only -nocudainc -target i386-unknown-linux-gnu -x cuda -E -dM -o - /dev/null > %T/i386-device-defines +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF|WIDTH\)' %T/i386-host-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/i386-host-defines-filtered +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF|WIDTH\)' %T/i386-device-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/i386-device-defines-filtered +// RUN: diff %T/i386-host-defines-filtered %T/i386-device-defines-filtered + +// RUN: %clang --cuda-host-only -nocudainc -target x86_64-unknown-linux-gnu -x cuda -E -dM -o - /dev/null > %T/x86_64-host-defines +// RUN: %clang --cuda-device-only -nocudainc -target x86_64-unknown-linux-gnu -x cuda -E -dM -o - /dev/null > %T/x86_64-device-defines +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF\|WIDTH\)' %T/x86_64-host-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/x86_64-host-defines-filtered +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF\|WIDTH\)' %T/x86_64-device-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/x86_64-device-defines-filtered +// RUN: diff %T/x86_64-host-defines-filtered %T/x86_64-device-defines-filtered + +// RUN: %clang --cuda-host-only -nocudainc -target powerpc64-unknown-linux-gnu -x cuda -E -dM -o - /dev/null > %T/powerpc64-host-defines +// RUN: %clang --cuda-device-only -nocudainc -target powerpc64-unknown-linux-gnu -x cuda -E -dM -o - /dev/null > %T/powerpc64-device-defines +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF\|WIDTH\)' %T/powerpc64-host-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/powerpc64-host-defines-filtered +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF\|WIDTH\)' %T/powerpc64-device-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/powerpc64-device-defines-filtered +// RUN: diff %T/powerpc64-host-defines-filtered %T/powerpc64-device-defines-filtered + +// RUN: %clang --cuda-host-only -nocudainc -target nvptx-nvidia-cuda -x cuda -E -dM -o - /dev/null > %T/nvptx-host-defines +// RUN: %clang --cuda-device-only -nocudainc -target nvptx-nvidia-cuda -x cuda -E -dM -o - /dev/null > %T/nvptx-device-defines +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF\|WIDTH\)' %T/nvptx-host-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/nvptx-host-defines-filtered +// RUN: grep 'define __[^ ]*\(TYPE\|MAX\|SIZEOF\|WIDTH\)' %T/nvptx-device-defines | grep -v '__LDBL\|_LONG_DOUBLE' > %T/nvptx-device-defines-filtered +// RUN: diff %T/nvptx-host-defines-filtered %T/nvptx-device-defines-filtered diff --git a/test/Preprocessor/elfiamcu-predefines.c b/test/Preprocessor/elfiamcu-predefines.c index af5e40e3c8ab..ea6824b77e1c 100644 --- a/test/Preprocessor/elfiamcu-predefines.c +++ b/test/Preprocessor/elfiamcu-predefines.c @@ -1,5 +1,7 @@ // RUN: %clang_cc1 -E -dM -triple i586-intel-elfiamcu | FileCheck %s +// CHECK: #define __USER_LABEL_PREFIX__ {{$}} +// CHECK: #define __WINT_TYPE__ unsigned int // CHECK: #define __iamcu // CHECK: #define __iamcu__ diff --git a/test/Preprocessor/expr_define_expansion.c b/test/Preprocessor/expr_define_expansion.c index 3e5a2c4b0e67..23cb4355eb8c 100644 --- a/test/Preprocessor/expr_define_expansion.c +++ b/test/Preprocessor/expr_define_expansion.c @@ -1,6 +1,28 @@ -// RUN: %clang_cc1 %s -E -CC -pedantic -verify -// expected-no-diagnostics +// RUN: %clang_cc1 %s -E -CC -verify +// RUN: %clang_cc1 %s -E -CC -DPEDANTIC -pedantic -verify #define FOO && 1 #if defined FOO FOO #endif + +#define A +#define B defined(A) +#if B // expected-warning{{macro expansion producing 'defined' has undefined behavior}} +#endif + +#define m_foo +#define TEST(a) (defined(m_##a) && a) + +#if defined(PEDANTIC) +// expected-warning@+4{{macro expansion producing 'defined' has undefined behavior}} +#endif + +// This shouldn't warn by default, only with pedantic: +#if TEST(foo) +#endif + + +// Only one diagnostic for this case: +#define INVALID defined( +#if INVALID // expected-error{{macro name missing}} +#endif diff --git a/test/Preprocessor/expr_invalid_tok.c b/test/Preprocessor/expr_invalid_tok.c index 5defcc5bfbbd..0b97b255f11b 100644 --- a/test/Preprocessor/expr_invalid_tok.c +++ b/test/Preprocessor/expr_invalid_tok.c @@ -1,15 +1,28 @@ -// RUN: not %clang_cc1 -E %s 2>&1 | grep 'invalid token at start of a preprocessor expression' -// RUN: not %clang_cc1 -E %s 2>&1 | grep 'token is not a valid binary operator in a preprocessor subexpression' -// RUN: not %clang_cc1 -E %s 2>&1 | grep ':14: error: expected end of line in preprocessor expression' +// RUN: not %clang_cc1 -E %s 2>&1 | FileCheck %s // PR2220 +// CHECK: invalid token at start of a preprocessor expression #if 1 * * 2 #endif +// CHECK: token is not a valid binary operator in a preprocessor subexpression #if 4 [ 2 #endif // PR2284 - The constant-expr production does not including comma. +// CHECK: [[@LINE+1]]:14: error: expected end of line in preprocessor expression #if 1 ? 2 : 0, 1 #endif + +// CHECK: [[@LINE+1]]:5: error: function-like macro 'FOO' is not defined +#if FOO(1, 2, 3) +#endif + +// CHECK: [[@LINE+1]]:9: error: function-like macro 'BAR' is not defined +#if 1 + BAR(1, 2, 3) +#endif + +// CHECK: [[@LINE+1]]:10: error: token is not a valid binary operator +#if (FOO)(1, 2, 3) +#endif diff --git a/test/Preprocessor/feature_tests.c b/test/Preprocessor/feature_tests.c index fbde6a65476e..52a1f17cdd4f 100644 --- a/test/Preprocessor/feature_tests.c +++ b/test/Preprocessor/feature_tests.c @@ -55,8 +55,50 @@ #endif #ifdef VERIFY -// expected-error@+2 {{builtin feature check macro requires a parenthesized identifier}} -// expected-error@+1 {{expected value in expression}} +// expected-error@+1 {{builtin feature check macro requires a parenthesized identifier}} #if __has_feature('x') #endif + +// The following are not identifiers: +_Static_assert(!__is_identifier("string"), "oops"); +_Static_assert(!__is_identifier('c'), "oops"); +_Static_assert(!__is_identifier(123), "oops"); +_Static_assert(!__is_identifier(int), "oops"); + +// The following are: +_Static_assert(__is_identifier(abc /* comment */), "oops"); +_Static_assert(__is_identifier /* comment */ (xyz), "oops"); + +// expected-error@+1 {{too few arguments}} +#if __is_identifier() +#endif + +// expected-error@+1 {{too many arguments}} +#if __is_identifier(,()) +#endif + +// expected-error@+1 {{missing ')' after 'abc'}} +#if __is_identifier(abc xyz) // expected-note {{to match this '('}} +#endif + +// expected-error@+1 {{missing ')' after 'abc'}} +#if __is_identifier(abc()) // expected-note {{to match this '('}} +#endif + +// expected-error@+1 {{missing ')' after '.'}} +#if __is_identifier(.abc) // expected-note {{to match this '('}} +#endif + +// expected-error@+1 {{nested parentheses not permitted in '__is_identifier'}} +#if __is_identifier((abc)) +#endif + +// expected-error@+1 {{missing '(' after '__is_identifier'}} expected-error@+1 {{expected value}} +#if __is_identifier +#endif + +// expected-error@+1 {{unterminated}} expected-error@+1 {{expected value}} +#if __is_identifier( +#endif + #endif diff --git a/test/Preprocessor/has_attribute.c b/test/Preprocessor/has_attribute.c index 1a3c2a0e18c0..4970dc590423 100644 --- a/test/Preprocessor/has_attribute.c +++ b/test/Preprocessor/has_attribute.c @@ -54,5 +54,5 @@ int has_no_volatile_attribute(); int does_not_have_uuid #endif -#if __has_cpp_attribute(selectany) // expected-error {{token is not a valid binary operator in a preprocessor subexpression}} +#if __has_cpp_attribute(selectany) // expected-error {{function-like macro '__has_cpp_attribute' is not defined}} #endif diff --git a/test/Preprocessor/has_attribute.cpp b/test/Preprocessor/has_attribute.cpp index 1ab45020b444..2cfa005fb09f 100644 --- a/test/Preprocessor/has_attribute.cpp +++ b/test/Preprocessor/has_attribute.cpp @@ -52,6 +52,16 @@ int has_cxx14_deprecated_vers(); #endif +// CHECK: has_cxx1z_nodiscard +#if __has_cpp_attribute(nodiscard) == 201603 + int has_cxx1z_nodiscard(); +#endif + +// CHECK: has_cxx1z_fallthrough +#if __has_cpp_attribute(fallthrough) == 201603 + int has_cxx1z_fallthrough(); +#endif + // CHECK: has_declspec_uuid #if __has_declspec_attribute(uuid) int has_declspec_uuid(); diff --git a/test/Preprocessor/hexagon-predefines.c b/test/Preprocessor/hexagon-predefines.c new file mode 100644 index 000000000000..065ecc069422 --- /dev/null +++ b/test/Preprocessor/hexagon-predefines.c @@ -0,0 +1,32 @@ +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv5 %s | FileCheck %s -check-prefix CHECK-V5 + +// CHECK-V5: #define __HEXAGON_ARCH__ 5 +// CHECK-V5: #define __HEXAGON_V5__ 1 +// CHECK-V5: #define __hexagon__ 1 + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv55 %s | FileCheck %s -check-prefix CHECK-V55 + +// CHECK-V55: #define __HEXAGON_ARCH__ 55 +// CHECK-V55: #define __HEXAGON_V55__ 1 +// CHECK-V55: #define __hexagon__ 1 + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv60 %s | FileCheck %s -check-prefix CHECK-V60 + +// CHECK-V60: #define __HEXAGON_ARCH__ 60 +// CHECK-V60: #define __HEXAGON_V60__ 1 +// CHECK-V60: #define __hexagon__ 1 + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv60 -target-feature +hvx %s | FileCheck %s -check-prefix CHECK-V60HVX + +// CHECK-V60HVX: #define __HEXAGON_ARCH__ 60 +// CHECK-V60HVX: #define __HEXAGON_V60__ 1 +// CHECK-V60HVX: #define __HVX__ 1 + +// RUN: %clang_cc1 -E -dM -triple hexagon-unknown-elf -target-cpu hexagonv60 -target-feature +hvx-double %s | FileCheck %s -check-prefix CHECK-V60HVXD + +// CHECK-V60HVXD: #define __HEXAGON_ARCH__ 60 +// CHECK-V60HVXD: #define __HEXAGON_V60__ 1 +// CHECK-V60HVXD: #define __HVXDBL__ 1 +// CHECK-V60HVXD: #define __HVX__ 1 +// CHECK-V60HVXD: #define __hexagon__ 1 + diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index 099e58561699..f7c320b7226b 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -1,17 +1,17 @@ -// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s +// RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -match-full-lines -check-prefix ASM %s // // ASM:#define __ASSEMBLER__ 1 // // -// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s +// RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix BLOCKS %s // // BLOCKS:#define __BLOCKS__ 1 // BLOCKS:#define __block __attribute__((__blocks__(byref))) // // -// RUN: %clang_cc1 -x c++ -std=c++1z -E -dM < /dev/null | FileCheck -check-prefix CXX1Z %s +// RUN: %clang_cc1 -x c++ -std=c++1z -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX1Z %s // -// CXX1Z:#define __GNUG__ +// CXX1Z:#define __GNUG__ {{.*}} // CXX1Z:#define __GXX_EXPERIMENTAL_CXX0X__ 1 // CXX1Z:#define __GXX_RTTI 1 // CXX1Z:#define __GXX_WEAK__ 1 @@ -19,9 +19,9 @@ // CXX1Z:#define __private_extern__ extern // // -// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s +// RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX1Y %s // -// CXX1Y:#define __GNUG__ +// CXX1Y:#define __GNUG__ {{.*}} // CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1 // CXX1Y:#define __GXX_RTTI 1 // CXX1Y:#define __GXX_WEAK__ 1 @@ -29,9 +29,9 @@ // CXX1Y:#define __private_extern__ extern // // -// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s +// RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX11 %s // -// CXX11:#define __GNUG__ +// CXX11:#define __GNUG__ {{.*}} // CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1 // CXX11:#define __GXX_RTTI 1 // CXX11:#define __GXX_WEAK__ 1 @@ -39,100 +39,113 @@ // CXX11:#define __private_extern__ extern // // -// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s +// RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix CXX98 %s // -// CXX98:#define __GNUG__ +// CXX98:#define __GNUG__ {{.*}} // CXX98:#define __GXX_RTTI 1 // CXX98:#define __GXX_WEAK__ 1 // CXX98:#define __cplusplus 199711L // CXX98:#define __private_extern__ extern // // -// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s +// RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix DEPRECATED %s // // DEPRECATED:#define __DEPRECATED 1 // // -// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s +// RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C99 %s // // C99:#define __STDC_VERSION__ 199901L // C99:#define __STRICT_ANSI__ 1 +// C99-NOT: __GXX_EXPERIMENTAL_CXX0X__ +// C99-NOT: __GXX_RTTI +// C99-NOT: __GXX_WEAK__ +// C99-NOT: __cplusplus // // -// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -check-prefix C11 %s +// RUN: %clang_cc1 -std=c11 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C11 %s // // C11:#define __STDC_UTF_16__ 1 // C11:#define __STDC_UTF_32__ 1 // C11:#define __STDC_VERSION__ 201112L // C11:#define __STRICT_ANSI__ 1 +// C11-NOT: __GXX_EXPERIMENTAL_CXX0X__ +// C11-NOT: __GXX_RTTI +// C11-NOT: __GXX_WEAK__ +// C11-NOT: __cplusplus // // -// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s +// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix COMMON %s // // COMMON:#define __CONSTANT_CFSTRINGS__ 1 // COMMON:#define __FINITE_MATH_ONLY__ 0 -// COMMON:#define __GNUC_MINOR__ -// COMMON:#define __GNUC_PATCHLEVEL__ +// COMMON:#define __GNUC_MINOR__ {{.*}} +// COMMON:#define __GNUC_PATCHLEVEL__ {{.*}} // COMMON:#define __GNUC_STDC_INLINE__ 1 -// COMMON:#define __GNUC__ -// COMMON:#define __GXX_ABI_VERSION +// COMMON:#define __GNUC__ {{.*}} +// COMMON:#define __GXX_ABI_VERSION {{.*}} // COMMON:#define __ORDER_BIG_ENDIAN__ 4321 // COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234 // COMMON:#define __ORDER_PDP_ENDIAN__ 3412 // COMMON:#define __STDC_HOSTED__ 1 -// COMMON:#define __STDC_VERSION__ 201112L // COMMON:#define __STDC__ 1 -// COMMON:#define __VERSION__ +// COMMON:#define __VERSION__ {{.*}} // COMMON:#define __clang__ 1 // COMMON:#define __clang_major__ {{[0-9]+}} // COMMON:#define __clang_minor__ {{[0-9]+}} // COMMON:#define __clang_patchlevel__ {{[0-9]+}} -// COMMON:#define __clang_version__ +// COMMON:#define __clang_version__ {{.*}} // COMMON:#define __llvm__ 1 // +// RUN: %clang_cc1 -E -dM -triple=x86_64-pc-win32 < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s +// RUN: %clang_cc1 -E -dM -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s +// RUN: %clang_cc1 -E -dM -triple=x86_64-apple-darwin < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s +// RUN: %clang_cc1 -E -dM -triple=armv7a-apple-darwin < /dev/null | FileCheck -match-full-lines -check-prefix C-DEFAULT %s // -// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s +// C-DEFAULT:#define __STDC_VERSION__ 201112L +// +// RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix FREESTANDING %s // FREESTANDING:#define __STDC_HOSTED__ 0 // // -// RUN: %clang_cc1 -x c++ -std=gnu++1z -E -dM < /dev/null | FileCheck -check-prefix GXX1Z %s +// RUN: %clang_cc1 -x c++ -std=gnu++1z -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX1Z %s // -// GXX1Z:#define __GNUG__ +// GXX1Z:#define __GNUG__ {{.*}} // GXX1Z:#define __GXX_WEAK__ 1 // GXX1Z:#define __cplusplus 201406L // GXX1Z:#define __private_extern__ extern // // -// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s +// RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX1Y %s // -// GXX1Y:#define __GNUG__ +// GXX1Y:#define __GNUG__ {{.*}} // GXX1Y:#define __GXX_WEAK__ 1 // GXX1Y:#define __cplusplus 201402L // GXX1Y:#define __private_extern__ extern // // -// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s +// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX11 %s // -// GXX11:#define __GNUG__ +// GXX11:#define __GNUG__ {{.*}} // GXX11:#define __GXX_WEAK__ 1 // GXX11:#define __cplusplus 201103L // GXX11:#define __private_extern__ extern // // -// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s +// RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GXX98 %s // -// GXX98:#define __GNUG__ +// GXX98:#define __GNUG__ {{.*}} // GXX98:#define __GXX_WEAK__ 1 // GXX98:#define __cplusplus 199711L // GXX98:#define __private_extern__ extern // // -// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s +// RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix C94 %s // // C94:#define __STDC_VERSION__ 199409L // // -// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s +// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix MSEXT %s // // MSEXT-NOT:#define __STDC__ // MSEXT:#define _INTEGRAL_MAX_BITS 64 @@ -140,100 +153,100 @@ // MSEXT-NOT:#define _WCHAR_T_DEFINED 1 // // -// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s +// RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix MSEXT-CXX %s // // MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1 // MSEXT-CXX:#define _WCHAR_T_DEFINED 1 // MSEXT-CXX:#define __BOOL_DEFINED 1 // // -// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s +// RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix MSEXT-CXX-NOWCHAR %s // // MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1 // MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1 // MSEXT-CXX-NOWCHAR:#define __BOOL_DEFINED 1 // // -// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s +// RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix OBJC %s // // OBJC:#define OBJC_NEW_PROPERTIES 1 // OBJC:#define __NEXT_RUNTIME__ 1 // OBJC:#define __OBJC__ 1 // // -// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s +// RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix OBJCGC %s // // OBJCGC:#define __OBJC_GC__ 1 // // -// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s +// RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix NONFRAGILE %s // // NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1 // NONFRAGILE:#define __OBJC2__ 1 // // -// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix O0 %s +// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix O0 %s // // O0:#define __NO_INLINE__ 1 // O0-NOT:#define __OPTIMIZE_SIZE__ // O0-NOT:#define __OPTIMIZE__ // // -// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s +// RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix NO_INLINE %s // // NO_INLINE:#define __NO_INLINE__ 1 // NO_INLINE-NOT:#define __OPTIMIZE_SIZE__ -// NO_INLINE:#define __OPTIMIZE__ +// NO_INLINE:#define __OPTIMIZE__ 1 // // -// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s +// RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix O1 %s // // O1-NOT:#define __OPTIMIZE_SIZE__ // O1:#define __OPTIMIZE__ 1 // // -// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s +// RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix Os %s // // Os:#define __OPTIMIZE_SIZE__ 1 // Os:#define __OPTIMIZE__ 1 // // -// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s +// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix Oz %s // // Oz:#define __OPTIMIZE_SIZE__ 1 // Oz:#define __OPTIMIZE__ 1 // // -// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s +// RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix PASCAL %s // // PASCAL:#define __PASCAL_STRINGS__ 1 // // -// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s +// RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix SCHAR %s // // SCHAR:#define __STDC__ 1 // SCHAR-NOT:#define __UNSIGNED_CHAR__ // SCHAR:#define __clang__ 1 // -// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s +// RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR %s // wchar_t is u16 for targeting Win32. // FIXME: Implement and check x86_64-cygwin. -// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-w64-mingw32 < /dev/null | FileCheck -check-prefix SHORTWCHAR %s +// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-w64-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR %s // // SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2 // SHORTWCHAR: #define __WCHAR_MAX__ 65535 // SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short // SHORTWCHAR: #define __WCHAR_WIDTH__ 16 // -// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=i686-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s -// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-unknown-unknown < /dev/null | FileCheck -check-prefix SHORTWCHAR2 %s +// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=i686-unknown-unknown < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR2 %s +// RUN: %clang_cc1 -E -dM -fno-short-wchar -triple=x86_64-unknown-unknown < /dev/null | FileCheck -match-full-lines -check-prefix SHORTWCHAR2 %s // // SHORTWCHAR2: #define __SIZEOF_WCHAR_T__ 4 // SHORTWCHAR2: #define __WCHAR_WIDTH__ 32 // Other definitions vary from platform to platform -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64-none-none < /dev/null | FileCheck -check-prefix AARCH64 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64 %s // // AARCH64:#define _LP64 1 // AARCH64-NOT:#define __AARCH64EB__ 1 @@ -277,12 +290,12 @@ // AARCH64:#define __FLT_MIN_EXP__ (-125) // AARCH64:#define __FLT_MIN__ 1.17549435e-38F // AARCH64:#define __FLT_RADIX__ 2 -// AARCH64:#define __INT16_C_SUFFIX__ {{$}} +// AARCH64:#define __INT16_C_SUFFIX__ // AARCH64:#define __INT16_FMTd__ "hd" // AARCH64:#define __INT16_FMTi__ "hi" // AARCH64:#define __INT16_MAX__ 32767 // AARCH64:#define __INT16_TYPE__ short -// AARCH64:#define __INT32_C_SUFFIX__ {{$}} +// AARCH64:#define __INT32_C_SUFFIX__ // AARCH64:#define __INT32_FMTd__ "d" // AARCH64:#define __INT32_FMTi__ "i" // AARCH64:#define __INT32_MAX__ 2147483647 @@ -292,7 +305,7 @@ // AARCH64:#define __INT64_FMTi__ "li" // AARCH64:#define __INT64_MAX__ 9223372036854775807L // AARCH64:#define __INT64_TYPE__ long int -// AARCH64:#define __INT8_C_SUFFIX__ {{$}} +// AARCH64:#define __INT8_C_SUFFIX__ // AARCH64:#define __INT8_FMTd__ "hhd" // AARCH64:#define __INT8_FMTi__ "hhi" // AARCH64:#define __INT8_MAX__ 127 @@ -380,7 +393,7 @@ // AARCH64:#define __SIZE_MAX__ 18446744073709551615UL // AARCH64:#define __SIZE_TYPE__ long unsigned int // AARCH64:#define __SIZE_WIDTH__ 64 -// AARCH64:#define __UINT16_C_SUFFIX__ {{$}} +// AARCH64:#define __UINT16_C_SUFFIX__ // AARCH64:#define __UINT16_MAX__ 65535 // AARCH64:#define __UINT16_TYPE__ unsigned short // AARCH64:#define __UINT32_C_SUFFIX__ U @@ -389,7 +402,7 @@ // AARCH64:#define __UINT64_C_SUFFIX__ UL // AARCH64:#define __UINT64_MAX__ 18446744073709551615UL // AARCH64:#define __UINT64_TYPE__ long unsigned int -// AARCH64:#define __UINT8_C_SUFFIX__ {{$}} +// AARCH64:#define __UINT8_C_SUFFIX__ // AARCH64:#define __UINT8_MAX__ 255 // AARCH64:#define __UINT8_TYPE__ unsigned char // AARCH64:#define __UINTMAX_C_SUFFIX__ UL @@ -415,7 +428,7 @@ // AARCH64:#define __UINT_LEAST64_TYPE__ long unsigned int // AARCH64:#define __UINT_LEAST8_MAX__ 255 // AARCH64:#define __UINT_LEAST8_TYPE__ unsigned char -// AARCH64:#define __USER_LABEL_PREFIX__ _ +// AARCH64:#define __USER_LABEL_PREFIX__ // AARCH64:#define __WCHAR_MAX__ 4294967295U // AARCH64:#define __WCHAR_TYPE__ unsigned int // AARCH64:#define __WCHAR_UNSIGNED__ 1 @@ -424,7 +437,7 @@ // AARCH64:#define __WINT_WIDTH__ 32 // AARCH64:#define __aarch64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64_be-none-none < /dev/null | FileCheck -check-prefix AARCH64-BE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64_be-none-none < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64-BE %s // // AARCH64-BE:#define _LP64 1 // AARCH64-BE:#define __AARCH64EB__ 1 @@ -468,12 +481,12 @@ // AARCH64-BE:#define __FLT_MIN_EXP__ (-125) // AARCH64-BE:#define __FLT_MIN__ 1.17549435e-38F // AARCH64-BE:#define __FLT_RADIX__ 2 -// AARCH64-BE:#define __INT16_C_SUFFIX__ {{$}} +// AARCH64-BE:#define __INT16_C_SUFFIX__ // AARCH64-BE:#define __INT16_FMTd__ "hd" // AARCH64-BE:#define __INT16_FMTi__ "hi" // AARCH64-BE:#define __INT16_MAX__ 32767 // AARCH64-BE:#define __INT16_TYPE__ short -// AARCH64-BE:#define __INT32_C_SUFFIX__ {{$}} +// AARCH64-BE:#define __INT32_C_SUFFIX__ // AARCH64-BE:#define __INT32_FMTd__ "d" // AARCH64-BE:#define __INT32_FMTi__ "i" // AARCH64-BE:#define __INT32_MAX__ 2147483647 @@ -483,7 +496,7 @@ // AARCH64-BE:#define __INT64_FMTi__ "li" // AARCH64-BE:#define __INT64_MAX__ 9223372036854775807L // AARCH64-BE:#define __INT64_TYPE__ long int -// AARCH64-BE:#define __INT8_C_SUFFIX__ {{$}} +// AARCH64-BE:#define __INT8_C_SUFFIX__ // AARCH64-BE:#define __INT8_FMTd__ "hhd" // AARCH64-BE:#define __INT8_FMTi__ "hhi" // AARCH64-BE:#define __INT8_MAX__ 127 @@ -571,7 +584,7 @@ // AARCH64-BE:#define __SIZE_MAX__ 18446744073709551615UL // AARCH64-BE:#define __SIZE_TYPE__ long unsigned int // AARCH64-BE:#define __SIZE_WIDTH__ 64 -// AARCH64-BE:#define __UINT16_C_SUFFIX__ {{$}} +// AARCH64-BE:#define __UINT16_C_SUFFIX__ // AARCH64-BE:#define __UINT16_MAX__ 65535 // AARCH64-BE:#define __UINT16_TYPE__ unsigned short // AARCH64-BE:#define __UINT32_C_SUFFIX__ U @@ -580,7 +593,7 @@ // AARCH64-BE:#define __UINT64_C_SUFFIX__ UL // AARCH64-BE:#define __UINT64_MAX__ 18446744073709551615UL // AARCH64-BE:#define __UINT64_TYPE__ long unsigned int -// AARCH64-BE:#define __UINT8_C_SUFFIX__ {{$}} +// AARCH64-BE:#define __UINT8_C_SUFFIX__ // AARCH64-BE:#define __UINT8_MAX__ 255 // AARCH64-BE:#define __UINT8_TYPE__ unsigned char // AARCH64-BE:#define __UINTMAX_C_SUFFIX__ UL @@ -606,7 +619,7 @@ // AARCH64-BE:#define __UINT_LEAST64_TYPE__ long unsigned int // AARCH64-BE:#define __UINT_LEAST8_MAX__ 255 // AARCH64-BE:#define __UINT_LEAST8_TYPE__ unsigned char -// AARCH64-BE:#define __USER_LABEL_PREFIX__ _ +// AARCH64-BE:#define __USER_LABEL_PREFIX__ // AARCH64-BE:#define __WCHAR_MAX__ 4294967295U // AARCH64-BE:#define __WCHAR_TYPE__ unsigned int // AARCH64-BE:#define __WCHAR_UNSIGNED__ 1 @@ -615,7 +628,7 @@ // AARCH64-BE:#define __WINT_WIDTH__ 32 // AARCH64-BE:#define __aarch64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -check-prefix AARCH64-NETBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-netbsd < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64-NETBSD %s // // AARCH64-NETBSD:#define _LP64 1 // AARCH64-NETBSD-NOT:#define __AARCH64EB__ 1 @@ -660,12 +673,12 @@ // AARCH64-NETBSD:#define __FLT_MIN_EXP__ (-125) // AARCH64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F // AARCH64-NETBSD:#define __FLT_RADIX__ 2 -// AARCH64-NETBSD:#define __INT16_C_SUFFIX__ {{$}} +// AARCH64-NETBSD:#define __INT16_C_SUFFIX__ // AARCH64-NETBSD:#define __INT16_FMTd__ "hd" // AARCH64-NETBSD:#define __INT16_FMTi__ "hi" // AARCH64-NETBSD:#define __INT16_MAX__ 32767 // AARCH64-NETBSD:#define __INT16_TYPE__ short -// AARCH64-NETBSD:#define __INT32_C_SUFFIX__ {{$}} +// AARCH64-NETBSD:#define __INT32_C_SUFFIX__ // AARCH64-NETBSD:#define __INT32_FMTd__ "d" // AARCH64-NETBSD:#define __INT32_FMTi__ "i" // AARCH64-NETBSD:#define __INT32_MAX__ 2147483647 @@ -673,9 +686,9 @@ // AARCH64-NETBSD:#define __INT64_C_SUFFIX__ LL // AARCH64-NETBSD:#define __INT64_FMTd__ "lld" // AARCH64-NETBSD:#define __INT64_FMTi__ "lli" -// AARCH64-NETBSD:#define __INT64_MAX__ 9223372036854775807L +// AARCH64-NETBSD:#define __INT64_MAX__ 9223372036854775807LL // AARCH64-NETBSD:#define __INT64_TYPE__ long long int -// AARCH64-NETBSD:#define __INT8_C_SUFFIX__ {{$}} +// AARCH64-NETBSD:#define __INT8_C_SUFFIX__ // AARCH64-NETBSD:#define __INT8_FMTd__ "hhd" // AARCH64-NETBSD:#define __INT8_FMTi__ "hhi" // AARCH64-NETBSD:#define __INT8_MAX__ 127 @@ -764,7 +777,7 @@ // AARCH64-NETBSD:#define __SIZE_MAX__ 18446744073709551615UL // AARCH64-NETBSD:#define __SIZE_TYPE__ long unsigned int // AARCH64-NETBSD:#define __SIZE_WIDTH__ 64 -// AARCH64-NETBSD:#define __UINT16_C_SUFFIX__ {{$}} +// AARCH64-NETBSD:#define __UINT16_C_SUFFIX__ // AARCH64-NETBSD:#define __UINT16_MAX__ 65535 // AARCH64-NETBSD:#define __UINT16_TYPE__ unsigned short // AARCH64-NETBSD:#define __UINT32_C_SUFFIX__ U @@ -773,7 +786,7 @@ // 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 __UINT8_C_SUFFIX__ {{$}} +// 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 @@ -807,7 +820,7 @@ // AARCH64-NETBSD:#define __WINT_WIDTH__ 32 // AARCH64-NETBSD:#define __aarch64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-freebsd11 < /dev/null | FileCheck -check-prefix AARCH64-FREEBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-freebsd11 < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64-FREEBSD %s // // AARCH64-FREEBSD:#define _LP64 1 // AARCH64-FREEBSD-NOT:#define __AARCH64EB__ 1 @@ -853,12 +866,12 @@ // AARCH64-FREEBSD:#define __FLT_MIN__ 1.17549435e-38F // AARCH64-FREEBSD:#define __FLT_RADIX__ 2 // AARCH64-FREEBSD:#define __FreeBSD__ 11 -// AARCH64-FREEBSD:#define __INT16_C_SUFFIX__ {{$}} +// AARCH64-FREEBSD:#define __INT16_C_SUFFIX__ // AARCH64-FREEBSD:#define __INT16_FMTd__ "hd" // AARCH64-FREEBSD:#define __INT16_FMTi__ "hi" // AARCH64-FREEBSD:#define __INT16_MAX__ 32767 // AARCH64-FREEBSD:#define __INT16_TYPE__ short -// AARCH64-FREEBSD:#define __INT32_C_SUFFIX__ {{$}} +// AARCH64-FREEBSD:#define __INT32_C_SUFFIX__ // AARCH64-FREEBSD:#define __INT32_FMTd__ "d" // AARCH64-FREEBSD:#define __INT32_FMTi__ "i" // AARCH64-FREEBSD:#define __INT32_MAX__ 2147483647 @@ -868,7 +881,7 @@ // AARCH64-FREEBSD:#define __INT64_FMTi__ "li" // AARCH64-FREEBSD:#define __INT64_MAX__ 9223372036854775807L // AARCH64-FREEBSD:#define __INT64_TYPE__ long int -// AARCH64-FREEBSD:#define __INT8_C_SUFFIX__ {{$}} +// AARCH64-FREEBSD:#define __INT8_C_SUFFIX__ // AARCH64-FREEBSD:#define __INT8_FMTd__ "hhd" // AARCH64-FREEBSD:#define __INT8_FMTi__ "hhi" // AARCH64-FREEBSD:#define __INT8_MAX__ 127 @@ -957,7 +970,7 @@ // AARCH64-FREEBSD:#define __SIZE_MAX__ 18446744073709551615UL // AARCH64-FREEBSD:#define __SIZE_TYPE__ long unsigned int // AARCH64-FREEBSD:#define __SIZE_WIDTH__ 64 -// AARCH64-FREEBSD:#define __UINT16_C_SUFFIX__ {{$}} +// AARCH64-FREEBSD:#define __UINT16_C_SUFFIX__ // AARCH64-FREEBSD:#define __UINT16_MAX__ 65535 // AARCH64-FREEBSD:#define __UINT16_TYPE__ unsigned short // AARCH64-FREEBSD:#define __UINT32_C_SUFFIX__ U @@ -966,7 +979,7 @@ // AARCH64-FREEBSD:#define __UINT64_C_SUFFIX__ UL // AARCH64-FREEBSD:#define __UINT64_MAX__ 18446744073709551615UL // AARCH64-FREEBSD:#define __UINT64_TYPE__ long unsigned int -// AARCH64-FREEBSD:#define __UINT8_C_SUFFIX__ {{$}} +// AARCH64-FREEBSD:#define __UINT8_C_SUFFIX__ // AARCH64-FREEBSD:#define __UINT8_MAX__ 255 // AARCH64-FREEBSD:#define __UINT8_TYPE__ unsigned char // AARCH64-FREEBSD:#define __UINTMAX_C_SUFFIX__ UL @@ -1001,7 +1014,7 @@ // AARCH64-FREEBSD:#define __WINT_WIDTH__ 32 // AARCH64-FREEBSD:#define __aarch64__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-apple-ios7.0 < /dev/null | FileCheck -check-prefix AARCH64-DARWIN %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=aarch64-apple-ios7.0 < /dev/null | FileCheck -match-full-lines -check-prefix AARCH64-DARWIN %s // // AARCH64-DARWIN: #define _LP64 1 // AARCH64-NOT: #define __AARCH64EB__ 1 @@ -1045,22 +1058,22 @@ // AARCH64-DARWIN: #define __FLT_MIN_EXP__ (-125) // AARCH64-DARWIN: #define __FLT_MIN__ 1.17549435e-38F // AARCH64-DARWIN: #define __FLT_RADIX__ 2 -// AARCH64-DARWIN: #define __INT16_C_SUFFIX__ {{$}} +// AARCH64-DARWIN: #define __INT16_C_SUFFIX__ // AARCH64-DARWIN: #define __INT16_FMTd__ "hd" // AARCH64-DARWIN: #define __INT16_FMTi__ "hi" // AARCH64-DARWIN: #define __INT16_MAX__ 32767 // AARCH64-DARWIN: #define __INT16_TYPE__ short -// AARCH64-DARWIN: #define __INT32_C_SUFFIX__ {{$}} +// AARCH64-DARWIN: #define __INT32_C_SUFFIX__ // AARCH64-DARWIN: #define __INT32_FMTd__ "d" // AARCH64-DARWIN: #define __INT32_FMTi__ "i" // AARCH64-DARWIN: #define __INT32_MAX__ 2147483647 // AARCH64-DARWIN: #define __INT32_TYPE__ int -// AARCH64-DARWIN: #define __INT64_C_SUFFIX__ L +// AARCH64-DARWIN: #define __INT64_C_SUFFIX__ LL // AARCH64-DARWIN: #define __INT64_FMTd__ "lld" // AARCH64-DARWIN: #define __INT64_FMTi__ "lli" -// AARCH64-DARWIN: #define __INT64_MAX__ 9223372036854775807L +// AARCH64-DARWIN: #define __INT64_MAX__ 9223372036854775807LL // AARCH64-DARWIN: #define __INT64_TYPE__ long long int -// AARCH64-DARWIN: #define __INT8_C_SUFFIX__ {{$}} +// AARCH64-DARWIN: #define __INT8_C_SUFFIX__ // AARCH64-DARWIN: #define __INT8_FMTd__ "hhd" // AARCH64-DARWIN: #define __INT8_FMTi__ "hhi" // AARCH64-DARWIN: #define __INT8_MAX__ 127 @@ -1148,16 +1161,16 @@ // AARCH64-DARWIN: #define __SIZE_MAX__ 18446744073709551615UL // AARCH64-DARWIN: #define __SIZE_TYPE__ long unsigned int // AARCH64-DARWIN: #define __SIZE_WIDTH__ 64 -// AARCH64-DARWIN: #define __UINT16_C_SUFFIX__ {{$}} +// AARCH64-DARWIN: #define __UINT16_C_SUFFIX__ // AARCH64-DARWIN: #define __UINT16_MAX__ 65535 // AARCH64-DARWIN: #define __UINT16_TYPE__ unsigned short // AARCH64-DARWIN: #define __UINT32_C_SUFFIX__ U // AARCH64-DARWIN: #define __UINT32_MAX__ 4294967295U // AARCH64-DARWIN: #define __UINT32_TYPE__ unsigned int -// AARCH64-DARWIN: #define __UINT64_C_SUFFIX__ UL -// AARCH64-DARWIN: #define __UINT64_MAX__ 18446744073709551615UL +// AARCH64-DARWIN: #define __UINT64_C_SUFFIX__ ULL +// AARCH64-DARWIN: #define __UINT64_MAX__ 18446744073709551615ULL // AARCH64-DARWIN: #define __UINT64_TYPE__ long long unsigned int -// AARCH64-DARWIN: #define __UINT8_C_SUFFIX__ {{$}} +// AARCH64-DARWIN: #define __UINT8_C_SUFFIX__ // AARCH64-DARWIN: #define __UINT8_MAX__ 255 // AARCH64-DARWIN: #define __UINT8_TYPE__ unsigned char // AARCH64-DARWIN: #define __UINTMAX_C_SUFFIX__ UL @@ -1192,7 +1205,7 @@ // AARCH64-DARWIN: #define __WINT_WIDTH__ 32 // AARCH64-DARWIN: #define __aarch64__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -match-full-lines -check-prefix ARM %s // // ARM-NOT:#define _LP64 // ARM:#define __APCS_32__ 1 @@ -1234,12 +1247,12 @@ // ARM:#define __FLT_MIN_EXP__ (-125) // ARM:#define __FLT_MIN__ 1.17549435e-38F // ARM:#define __FLT_RADIX__ 2 -// ARM:#define __INT16_C_SUFFIX__ {{$}} +// ARM:#define __INT16_C_SUFFIX__ // ARM:#define __INT16_FMTd__ "hd" // ARM:#define __INT16_FMTi__ "hi" // ARM:#define __INT16_MAX__ 32767 // ARM:#define __INT16_TYPE__ short -// ARM:#define __INT32_C_SUFFIX__ {{$}} +// ARM:#define __INT32_C_SUFFIX__ // ARM:#define __INT32_FMTd__ "d" // ARM:#define __INT32_FMTi__ "i" // ARM:#define __INT32_MAX__ 2147483647 @@ -1249,7 +1262,7 @@ // ARM:#define __INT64_FMTi__ "lli" // ARM:#define __INT64_MAX__ 9223372036854775807LL // ARM:#define __INT64_TYPE__ long long int -// ARM:#define __INT8_C_SUFFIX__ {{$}} +// ARM:#define __INT8_C_SUFFIX__ // ARM:#define __INT8_FMTd__ "hhd" // ARM:#define __INT8_FMTi__ "hhi" // ARM:#define __INT8_MAX__ 127 @@ -1338,7 +1351,7 @@ // ARM:#define __SIZE_MAX__ 4294967295U // ARM:#define __SIZE_TYPE__ unsigned int // ARM:#define __SIZE_WIDTH__ 32 -// ARM:#define __UINT16_C_SUFFIX__ {{$}} +// ARM:#define __UINT16_C_SUFFIX__ // ARM:#define __UINT16_MAX__ 65535 // ARM:#define __UINT16_TYPE__ unsigned short // ARM:#define __UINT32_C_SUFFIX__ U @@ -1347,14 +1360,14 @@ // ARM:#define __UINT64_C_SUFFIX__ ULL // ARM:#define __UINT64_MAX__ 18446744073709551615ULL // ARM:#define __UINT64_TYPE__ long long unsigned int -// ARM:#define __UINT8_C_SUFFIX__ {{$}} +// ARM:#define __UINT8_C_SUFFIX__ // ARM:#define __UINT8_MAX__ 255 // ARM:#define __UINT8_TYPE__ unsigned char // ARM:#define __UINTMAX_C_SUFFIX__ ULL // ARM:#define __UINTMAX_MAX__ 18446744073709551615ULL // ARM:#define __UINTMAX_TYPE__ long long unsigned int // ARM:#define __UINTMAX_WIDTH__ 64 -// ARM:#define __UINTPTR_MAX__ 4294967295U +// ARM:#define __UINTPTR_MAX__ 4294967295UL // ARM:#define __UINTPTR_TYPE__ long unsigned int // ARM:#define __UINTPTR_WIDTH__ 32 // ARM:#define __UINT_FAST16_MAX__ 65535 @@ -1373,7 +1386,7 @@ // ARM:#define __UINT_LEAST64_TYPE__ long long unsigned int // ARM:#define __UINT_LEAST8_MAX__ 255 // ARM:#define __UINT_LEAST8_TYPE__ unsigned char -// ARM:#define __USER_LABEL_PREFIX__ _ +// ARM:#define __USER_LABEL_PREFIX__ // ARM:#define __WCHAR_MAX__ 4294967295U // ARM:#define __WCHAR_TYPE__ unsigned int // ARM:#define __WCHAR_WIDTH__ 32 @@ -1382,7 +1395,7 @@ // ARM:#define __arm 1 // ARM:#define __arm__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armeb-none-none < /dev/null | FileCheck -check-prefix ARM-BE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armeb-none-none < /dev/null | FileCheck -match-full-lines -check-prefix ARM-BE %s // // ARM-BE-NOT:#define _LP64 // ARM-BE:#define __APCS_32__ 1 @@ -1425,12 +1438,12 @@ // ARM-BE:#define __FLT_MIN_EXP__ (-125) // ARM-BE:#define __FLT_MIN__ 1.17549435e-38F // ARM-BE:#define __FLT_RADIX__ 2 -// ARM-BE:#define __INT16_C_SUFFIX__ {{$}} +// ARM-BE:#define __INT16_C_SUFFIX__ // ARM-BE:#define __INT16_FMTd__ "hd" // ARM-BE:#define __INT16_FMTi__ "hi" // ARM-BE:#define __INT16_MAX__ 32767 // ARM-BE:#define __INT16_TYPE__ short -// ARM-BE:#define __INT32_C_SUFFIX__ {{$}} +// ARM-BE:#define __INT32_C_SUFFIX__ // ARM-BE:#define __INT32_FMTd__ "d" // ARM-BE:#define __INT32_FMTi__ "i" // ARM-BE:#define __INT32_MAX__ 2147483647 @@ -1440,7 +1453,7 @@ // ARM-BE:#define __INT64_FMTi__ "lli" // ARM-BE:#define __INT64_MAX__ 9223372036854775807LL // ARM-BE:#define __INT64_TYPE__ long long int -// ARM-BE:#define __INT8_C_SUFFIX__ {{$}} +// ARM-BE:#define __INT8_C_SUFFIX__ // ARM-BE:#define __INT8_FMTd__ "hhd" // ARM-BE:#define __INT8_FMTi__ "hhi" // ARM-BE:#define __INT8_MAX__ 127 @@ -1528,7 +1541,7 @@ // ARM-BE:#define __SIZE_MAX__ 4294967295U // ARM-BE:#define __SIZE_TYPE__ unsigned int // ARM-BE:#define __SIZE_WIDTH__ 32 -// ARM-BE:#define __UINT16_C_SUFFIX__ {{$}} +// ARM-BE:#define __UINT16_C_SUFFIX__ // ARM-BE:#define __UINT16_MAX__ 65535 // ARM-BE:#define __UINT16_TYPE__ unsigned short // ARM-BE:#define __UINT32_C_SUFFIX__ U @@ -1537,14 +1550,14 @@ // ARM-BE:#define __UINT64_C_SUFFIX__ ULL // ARM-BE:#define __UINT64_MAX__ 18446744073709551615ULL // ARM-BE:#define __UINT64_TYPE__ long long unsigned int -// ARM-BE:#define __UINT8_C_SUFFIX__ {{$}} +// ARM-BE:#define __UINT8_C_SUFFIX__ // ARM-BE:#define __UINT8_MAX__ 255 // ARM-BE:#define __UINT8_TYPE__ unsigned char // ARM-BE:#define __UINTMAX_C_SUFFIX__ ULL // ARM-BE:#define __UINTMAX_MAX__ 18446744073709551615ULL // ARM-BE:#define __UINTMAX_TYPE__ long long unsigned int // ARM-BE:#define __UINTMAX_WIDTH__ 64 -// ARM-BE:#define __UINTPTR_MAX__ 4294967295U +// ARM-BE:#define __UINTPTR_MAX__ 4294967295UL // ARM-BE:#define __UINTPTR_TYPE__ long unsigned int // ARM-BE:#define __UINTPTR_WIDTH__ 32 // ARM-BE:#define __UINT_FAST16_MAX__ 65535 @@ -1563,7 +1576,7 @@ // ARM-BE:#define __UINT_LEAST64_TYPE__ long long unsigned int // ARM-BE:#define __UINT_LEAST8_MAX__ 255 // ARM-BE:#define __UINT_LEAST8_TYPE__ unsigned char -// ARM-BE:#define __USER_LABEL_PREFIX__ _ +// ARM-BE:#define __USER_LABEL_PREFIX__ // ARM-BE:#define __WCHAR_MAX__ 4294967295U // ARM-BE:#define __WCHAR_TYPE__ unsigned int // ARM-BE:#define __WCHAR_WIDTH__ 32 @@ -1572,7 +1585,7 @@ // ARM-BE:#define __arm 1 // ARM-BE:#define __arm__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi -target-feature +soft-float -target-feature +soft-float-abi < /dev/null | FileCheck -check-prefix ARMEABISOFTFP %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi -target-feature +soft-float -target-feature +soft-float-abi < /dev/null | FileCheck -match-full-lines -check-prefix ARMEABISOFTFP %s // // ARMEABISOFTFP-NOT:#define _LP64 // ARMEABISOFTFP:#define __APCS_32__ 1 @@ -1618,12 +1631,12 @@ // ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125) // ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F // ARMEABISOFTFP:#define __FLT_RADIX__ 2 -// ARMEABISOFTFP:#define __INT16_C_SUFFIX__ {{$}} +// ARMEABISOFTFP:#define __INT16_C_SUFFIX__ // ARMEABISOFTFP:#define __INT16_FMTd__ "hd" // ARMEABISOFTFP:#define __INT16_FMTi__ "hi" // ARMEABISOFTFP:#define __INT16_MAX__ 32767 // ARMEABISOFTFP:#define __INT16_TYPE__ short -// ARMEABISOFTFP:#define __INT32_C_SUFFIX__ {{$}} +// ARMEABISOFTFP:#define __INT32_C_SUFFIX__ // ARMEABISOFTFP:#define __INT32_FMTd__ "d" // ARMEABISOFTFP:#define __INT32_FMTi__ "i" // ARMEABISOFTFP:#define __INT32_MAX__ 2147483647 @@ -1633,7 +1646,7 @@ // ARMEABISOFTFP:#define __INT64_FMTi__ "lli" // ARMEABISOFTFP:#define __INT64_MAX__ 9223372036854775807LL // ARMEABISOFTFP:#define __INT64_TYPE__ long long int -// ARMEABISOFTFP:#define __INT8_C_SUFFIX__ {{$}} +// ARMEABISOFTFP:#define __INT8_C_SUFFIX__ // ARMEABISOFTFP:#define __INT8_FMTd__ "hhd" // ARMEABISOFTFP:#define __INT8_FMTi__ "hhi" // ARMEABISOFTFP:#define __INT8_MAX__ 127 @@ -1723,7 +1736,7 @@ // ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int // ARMEABISOFTFP:#define __SIZE_WIDTH__ 32 // ARMEABISOFTFP:#define __SOFTFP__ 1 -// ARMEABISOFTFP:#define __UINT16_C_SUFFIX__ {{$}} +// ARMEABISOFTFP:#define __UINT16_C_SUFFIX__ // ARMEABISOFTFP:#define __UINT16_MAX__ 65535 // ARMEABISOFTFP:#define __UINT16_TYPE__ unsigned short // ARMEABISOFTFP:#define __UINT32_C_SUFFIX__ U @@ -1732,14 +1745,14 @@ // ARMEABISOFTFP:#define __UINT64_C_SUFFIX__ ULL // ARMEABISOFTFP:#define __UINT64_MAX__ 18446744073709551615ULL // ARMEABISOFTFP:#define __UINT64_TYPE__ long long unsigned int -// ARMEABISOFTFP:#define __UINT8_C_SUFFIX__ {{$}} +// ARMEABISOFTFP:#define __UINT8_C_SUFFIX__ // ARMEABISOFTFP:#define __UINT8_MAX__ 255 // ARMEABISOFTFP:#define __UINT8_TYPE__ unsigned char // ARMEABISOFTFP:#define __UINTMAX_C_SUFFIX__ ULL // ARMEABISOFTFP:#define __UINTMAX_MAX__ 18446744073709551615ULL // ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int // ARMEABISOFTFP:#define __UINTMAX_WIDTH__ 64 -// ARMEABISOFTFP:#define __UINTPTR_MAX__ 4294967295U +// ARMEABISOFTFP:#define __UINTPTR_MAX__ 4294967295UL // ARMEABISOFTFP:#define __UINTPTR_TYPE__ long unsigned int // ARMEABISOFTFP:#define __UINTPTR_WIDTH__ 32 // ARMEABISOFTFP:#define __UINT_FAST16_MAX__ 65535 @@ -1767,7 +1780,7 @@ // ARMEABISOFTFP:#define __arm 1 // ARMEABISOFTFP:#define __arm__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -match-full-lines -check-prefix ARMEABIHARDFP %s // // ARMEABIHARDFP-NOT:#define _LP64 // ARMEABIHARDFP:#define __APCS_32__ 1 @@ -1813,12 +1826,12 @@ // ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125) // ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F // ARMEABIHARDFP:#define __FLT_RADIX__ 2 -// ARMEABIHARDFP:#define __INT16_C_SUFFIX__ {{$}} +// ARMEABIHARDFP:#define __INT16_C_SUFFIX__ // ARMEABIHARDFP:#define __INT16_FMTd__ "hd" // ARMEABIHARDFP:#define __INT16_FMTi__ "hi" // ARMEABIHARDFP:#define __INT16_MAX__ 32767 // ARMEABIHARDFP:#define __INT16_TYPE__ short -// ARMEABIHARDFP:#define __INT32_C_SUFFIX__ {{$}} +// ARMEABIHARDFP:#define __INT32_C_SUFFIX__ // ARMEABIHARDFP:#define __INT32_FMTd__ "d" // ARMEABIHARDFP:#define __INT32_FMTi__ "i" // ARMEABIHARDFP:#define __INT32_MAX__ 2147483647 @@ -1828,7 +1841,7 @@ // ARMEABIHARDFP:#define __INT64_FMTi__ "lli" // ARMEABIHARDFP:#define __INT64_MAX__ 9223372036854775807LL // ARMEABIHARDFP:#define __INT64_TYPE__ long long int -// ARMEABIHARDFP:#define __INT8_C_SUFFIX__ {{$}} +// ARMEABIHARDFP:#define __INT8_C_SUFFIX__ // ARMEABIHARDFP:#define __INT8_FMTd__ "hhd" // ARMEABIHARDFP:#define __INT8_FMTi__ "hhi" // ARMEABIHARDFP:#define __INT8_MAX__ 127 @@ -1918,7 +1931,7 @@ // ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int // ARMEABIHARDFP:#define __SIZE_WIDTH__ 32 // ARMEABIHARDFP-NOT:#define __SOFTFP__ 1 -// ARMEABIHARDFP:#define __UINT16_C_SUFFIX__ {{$}} +// ARMEABIHARDFP:#define __UINT16_C_SUFFIX__ // ARMEABIHARDFP:#define __UINT16_MAX__ 65535 // ARMEABIHARDFP:#define __UINT16_TYPE__ unsigned short // ARMEABIHARDFP:#define __UINT32_C_SUFFIX__ U @@ -1927,14 +1940,14 @@ // ARMEABIHARDFP:#define __UINT64_C_SUFFIX__ ULL // ARMEABIHARDFP:#define __UINT64_MAX__ 18446744073709551615ULL // ARMEABIHARDFP:#define __UINT64_TYPE__ long long unsigned int -// ARMEABIHARDFP:#define __UINT8_C_SUFFIX__ {{$}} +// ARMEABIHARDFP:#define __UINT8_C_SUFFIX__ // ARMEABIHARDFP:#define __UINT8_MAX__ 255 // ARMEABIHARDFP:#define __UINT8_TYPE__ unsigned char // ARMEABIHARDFP:#define __UINTMAX_C_SUFFIX__ ULL // ARMEABIHARDFP:#define __UINTMAX_MAX__ 18446744073709551615ULL // ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int // ARMEABIHARDFP:#define __UINTMAX_WIDTH__ 64 -// ARMEABIHARDFP:#define __UINTPTR_MAX__ 4294967295U +// ARMEABIHARDFP:#define __UINTPTR_MAX__ 4294967295UL // ARMEABIHARDFP:#define __UINTPTR_TYPE__ long unsigned int // ARMEABIHARDFP:#define __UINTPTR_WIDTH__ 32 // ARMEABIHARDFP:#define __UINT_FAST16_MAX__ 65535 @@ -1962,7 +1975,7 @@ // ARMEABIHARDFP:#define __arm 1 // ARMEABIHARDFP:#define __arm__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-netbsd-eabi < /dev/null | FileCheck -check-prefix ARM-NETBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-netbsd-eabi < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NETBSD %s // // ARM-NETBSD-NOT:#define _LP64 // ARM-NETBSD:#define __APCS_32__ 1 @@ -2006,12 +2019,12 @@ // ARM-NETBSD:#define __FLT_MIN_EXP__ (-125) // ARM-NETBSD:#define __FLT_MIN__ 1.17549435e-38F // ARM-NETBSD:#define __FLT_RADIX__ 2 -// ARM-NETBSD:#define __INT16_C_SUFFIX__ {{$}} +// ARM-NETBSD:#define __INT16_C_SUFFIX__ // ARM-NETBSD:#define __INT16_FMTd__ "hd" // ARM-NETBSD:#define __INT16_FMTi__ "hi" // ARM-NETBSD:#define __INT16_MAX__ 32767 // ARM-NETBSD:#define __INT16_TYPE__ short -// ARM-NETBSD:#define __INT32_C_SUFFIX__ {{$}} +// ARM-NETBSD:#define __INT32_C_SUFFIX__ // ARM-NETBSD:#define __INT32_FMTd__ "d" // ARM-NETBSD:#define __INT32_FMTi__ "i" // ARM-NETBSD:#define __INT32_MAX__ 2147483647 @@ -2021,7 +2034,7 @@ // ARM-NETBSD:#define __INT64_FMTi__ "lli" // ARM-NETBSD:#define __INT64_MAX__ 9223372036854775807LL // ARM-NETBSD:#define __INT64_TYPE__ long long int -// ARM-NETBSD:#define __INT8_C_SUFFIX__ {{$}} +// ARM-NETBSD:#define __INT8_C_SUFFIX__ // ARM-NETBSD:#define __INT8_FMTd__ "hhd" // ARM-NETBSD:#define __INT8_FMTi__ "hhi" // ARM-NETBSD:#define __INT8_MAX__ 127 @@ -2107,10 +2120,10 @@ // ARM-NETBSD:#define __SIZEOF_SIZE_T__ 4 // ARM-NETBSD:#define __SIZEOF_WCHAR_T__ 4 // ARM-NETBSD:#define __SIZEOF_WINT_T__ 4 -// ARM-NETBSD:#define __SIZE_MAX__ 4294967295U +// ARM-NETBSD:#define __SIZE_MAX__ 4294967295UL // ARM-NETBSD:#define __SIZE_TYPE__ long unsigned int // ARM-NETBSD:#define __SIZE_WIDTH__ 32 -// ARM-NETBSD:#define __UINT16_C_SUFFIX__ {{$}} +// ARM-NETBSD:#define __UINT16_C_SUFFIX__ // ARM-NETBSD:#define __UINT16_MAX__ 65535 // ARM-NETBSD:#define __UINT16_TYPE__ unsigned short // ARM-NETBSD:#define __UINT32_C_SUFFIX__ U @@ -2119,14 +2132,14 @@ // ARM-NETBSD:#define __UINT64_C_SUFFIX__ ULL // ARM-NETBSD:#define __UINT64_MAX__ 18446744073709551615ULL // ARM-NETBSD:#define __UINT64_TYPE__ long long unsigned int -// ARM-NETBSD:#define __UINT8_C_SUFFIX__ {{$}} +// ARM-NETBSD:#define __UINT8_C_SUFFIX__ // ARM-NETBSD:#define __UINT8_MAX__ 255 // ARM-NETBSD:#define __UINT8_TYPE__ unsigned char -// ARM-NETBSD:#define __UINTMAX_C_SUFFIX__ UL +// ARM-NETBSD:#define __UINTMAX_C_SUFFIX__ ULL // ARM-NETBSD:#define __UINTMAX_MAX__ 18446744073709551615ULL // ARM-NETBSD:#define __UINTMAX_TYPE__ long long unsigned int // ARM-NETBSD:#define __UINTMAX_WIDTH__ 64 -// ARM-NETBSD:#define __UINTPTR_MAX__ 4294967295U +// ARM-NETBSD:#define __UINTPTR_MAX__ 4294967295UL // ARM-NETBSD:#define __UINTPTR_TYPE__ long unsigned int // ARM-NETBSD:#define __UINTPTR_WIDTH__ 32 // ARM-NETBSD:#define __UINT_FAST16_MAX__ 65535 @@ -2154,75 +2167,78 @@ // ARM-NETBSD:#define __arm 1 // ARM-NETBSD:#define __arm__ 1 -// RUN: %clang -target arm-apple-darwin-eabi -arch armv7s -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s -// RUN: %clang -target arm-apple-darwin-eabi -arch armv6m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-EABI %s -// RUN: %clang -target arm-apple-darwin-eabi -arch armv7m -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-EABI %s -// RUN: %clang -target arm-apple-darwin-eabi -arch armv7em -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-EABI %s -// RUN: %clang -target thumbv7-apple-darwin-eabi -arch armv7 -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-DARWIN-NO-EABI %s -// ARM-DARWIN-NO-EABI-NOT: #define __ARM_EABI__ 1 -// ARM-DARWIN-EABI: #define __ARM_EABI__ 1 +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-eabi < /dev/null | FileCheck -match-full-lines -check-prefix ARM-NONE-EABI %s +// ARM-NONE-EABI: #define __ELF__ 1 + +// No MachO targets use the full EABI, even if AAPCS is used. +// RUN: %clang -target x86_64-apple-darwin -arch armv7s -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s +// RUN: %clang -target x86_64-apple-darwin -arch armv6m -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s +// RUN: %clang -target x86_64-apple-darwin -arch armv7m -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s +// RUN: %clang -target x86_64-apple-darwin -arch armv7em -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s +// RUN: %clang -target x86_64-apple-darwin -arch armv7 -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-MACHO-NO-EABI %s +// ARM-MACHO-NO-EABI-NOT: #define __ARM_EABI__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv7-bitrig-gnueabihf < /dev/null | FileCheck -check-prefix ARM-BITRIG %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv7-bitrig-gnueabihf < /dev/null | FileCheck -match-full-lines -check-prefix ARM-BITRIG %s // ARM-BITRIG:#define __ARM_DWARF_EH__ 1 // ARM-BITRIG:#define __SIZEOF_SIZE_T__ 4 -// ARM-BITRIG:#define __SIZE_MAX__ 4294967295U +// ARM-BITRIG:#define __SIZE_MAX__ 4294967295UL // ARM-BITRIG:#define __SIZE_TYPE__ long unsigned int // ARM-BITRIG:#define __SIZE_WIDTH__ 32 // Check that -mhwdiv works properly for targets which don't have the hwdiv feature enabled by default. -// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-ARM %s +// RUN: %clang -target arm -mhwdiv=arm -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMHWDIV-ARM %s // ARMHWDIV-ARM:#define __ARM_ARCH_EXT_IDIV__ 1 -// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-THUMB %s +// RUN: %clang -target arm -mthumb -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=THUMBHWDIV-THUMB %s // THUMBHWDIV-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 -// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARM-FALSE %s +// RUN: %clang -target arm -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARM-FALSE %s // ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__ -// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMB-FALSE %s +// RUN: %clang -target arm -mthumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=THUMB-FALSE %s // THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__ -// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck --check-prefix=THUMBHWDIV-ARM-FALSE %s +// RUN: %clang -target arm -mhwdiv=thumb -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=THUMBHWDIV-ARM-FALSE %s // THUMBHWDIV-ARM-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__ -// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck --check-prefix=ARMHWDIV-THUMB-FALSE %s +// RUN: %clang -target arm -mthumb -mhwdiv=arm -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=ARMHWDIV-THUMB-FALSE %s // ARMHWDIV-THUMB-FALSE-NOT:#define __ARM_ARCH_EXT_IDIV__ -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -check-prefix ARMv8 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armv8-none-none < /dev/null | FileCheck -match-full-lines -check-prefix ARMv8 %s // ARMv8: #define __THUMB_INTERWORK__ 1 // ARMv8-NOT: #define __thumb2__ -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -check-prefix ARMebv8 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=armebv8-none-none < /dev/null | FileCheck -match-full-lines -check-prefix ARMebv8 %s // ARMebv8: #define __THUMB_INTERWORK__ 1 // ARMebv8-NOT: #define __thumb2__ -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -check-prefix Thumbv8 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv8 < /dev/null | FileCheck -match-full-lines -check-prefix Thumbv8 %s // Thumbv8: #define __THUMB_INTERWORK__ 1 -// Thumbv8: #define __thumb2__ +// Thumbv8: #define __thumb2__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -check-prefix Thumbebv8 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv8 < /dev/null | FileCheck -match-full-lines -check-prefix Thumbebv8 %s // Thumbebv8: #define __THUMB_INTERWORK__ 1 -// Thumbebv8: #define __thumb2__ +// Thumbebv8: #define __thumb2__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -check-prefix Thumbv5 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv5 < /dev/null | FileCheck -match-full-lines -check-prefix Thumbv5 %s // Thumbv5: #define __THUMB_INTERWORK__ 1 -// Thumbv5-NOT: #define __thumb2__ +// Thumbv5-NOT: #define __thumb2__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -check-prefix Thumbv6t2 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv6t2 < /dev/null | FileCheck -match-full-lines -check-prefix Thumbv6t2 %s // Thumbv6t2: #define __THUMB_INTERWORK__ 1 -// Thumbv6t2: #define __thumb2__ +// Thumbv6t2: #define __thumb2__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -check-prefix Thumbv7 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbv7 < /dev/null | FileCheck -match-full-lines -check-prefix Thumbv7 %s // Thumbv7: #define __THUMB_INTERWORK__ 1 -// Thumbv7: #define __thumb2__ +// Thumbv7: #define __thumb2__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -check-prefix Thumbebv7 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=thumbebv7 < /dev/null | FileCheck -match-full-lines -check-prefix Thumbebv7 %s // Thumbebv7: #define __THUMB_INTERWORK__ 1 -// Thumbebv7: #define __thumb2__ +// Thumbebv7: #define __thumb2__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -match-full-lines -check-prefix I386 %s // // I386-NOT:#define _LP64 // I386:#define __BIGGEST_ALIGNMENT__ 16 @@ -2259,12 +2275,12 @@ // I386:#define __FLT_MIN_EXP__ (-125) // I386:#define __FLT_MIN__ 1.17549435e-38F // I386:#define __FLT_RADIX__ 2 -// I386:#define __INT16_C_SUFFIX__ {{$}} +// I386:#define __INT16_C_SUFFIX__ // I386:#define __INT16_FMTd__ "hd" // I386:#define __INT16_FMTi__ "hi" // I386:#define __INT16_MAX__ 32767 // I386:#define __INT16_TYPE__ short -// I386:#define __INT32_C_SUFFIX__ {{$}} +// I386:#define __INT32_C_SUFFIX__ // I386:#define __INT32_FMTd__ "d" // I386:#define __INT32_FMTi__ "i" // I386:#define __INT32_MAX__ 2147483647 @@ -2274,7 +2290,7 @@ // I386:#define __INT64_FMTi__ "lli" // I386:#define __INT64_MAX__ 9223372036854775807LL // I386:#define __INT64_TYPE__ long long int -// I386:#define __INT8_C_SUFFIX__ {{$}} +// I386:#define __INT8_C_SUFFIX__ // I386:#define __INT8_FMTd__ "hhd" // I386:#define __INT8_FMTi__ "hhi" // I386:#define __INT8_MAX__ 127 @@ -2344,7 +2360,7 @@ // I386:#define __POINTER_WIDTH__ 32 // I386:#define __PTRDIFF_TYPE__ int // I386:#define __PTRDIFF_WIDTH__ 32 -// I386:#define __REGISTER_PREFIX__ +// I386:#define __REGISTER_PREFIX__ // I386:#define __SCHAR_MAX__ 127 // I386:#define __SHRT_MAX__ 32767 // I386:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -2364,7 +2380,7 @@ // I386:#define __SIZE_MAX__ 4294967295U // I386:#define __SIZE_TYPE__ unsigned int // I386:#define __SIZE_WIDTH__ 32 -// I386:#define __UINT16_C_SUFFIX__ {{$}} +// I386:#define __UINT16_C_SUFFIX__ // I386:#define __UINT16_MAX__ 65535 // I386:#define __UINT16_TYPE__ unsigned short // I386:#define __UINT32_C_SUFFIX__ U @@ -2373,7 +2389,7 @@ // I386:#define __UINT64_C_SUFFIX__ ULL // I386:#define __UINT64_MAX__ 18446744073709551615ULL // I386:#define __UINT64_TYPE__ long long unsigned int -// I386:#define __UINT8_C_SUFFIX__ {{$}} +// I386:#define __UINT8_C_SUFFIX__ // I386:#define __UINT8_MAX__ 255 // I386:#define __UINT8_TYPE__ unsigned char // I386:#define __UINTMAX_C_SUFFIX__ ULL @@ -2399,7 +2415,7 @@ // I386:#define __UINT_LEAST64_TYPE__ long long unsigned int // I386:#define __UINT_LEAST8_MAX__ 255 // I386:#define __UINT_LEAST8_TYPE__ unsigned char -// I386:#define __USER_LABEL_PREFIX__ _ +// I386:#define __USER_LABEL_PREFIX__ // I386:#define __WCHAR_MAX__ 2147483647 // I386:#define __WCHAR_TYPE__ int // I386:#define __WCHAR_WIDTH__ 32 @@ -2409,7 +2425,7 @@ // I386:#define __i386__ 1 // I386:#define i386 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -match-full-lines -check-prefix I386-LINUX %s // // I386-LINUX-NOT:#define _LP64 // I386-LINUX:#define __BIGGEST_ALIGNMENT__ 16 @@ -2446,12 +2462,12 @@ // I386-LINUX:#define __FLT_MIN_EXP__ (-125) // I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F // I386-LINUX:#define __FLT_RADIX__ 2 -// I386-LINUX:#define __INT16_C_SUFFIX__ {{$}} +// I386-LINUX:#define __INT16_C_SUFFIX__ // I386-LINUX:#define __INT16_FMTd__ "hd" // I386-LINUX:#define __INT16_FMTi__ "hi" // I386-LINUX:#define __INT16_MAX__ 32767 // I386-LINUX:#define __INT16_TYPE__ short -// I386-LINUX:#define __INT32_C_SUFFIX__ {{$}} +// I386-LINUX:#define __INT32_C_SUFFIX__ // I386-LINUX:#define __INT32_FMTd__ "d" // I386-LINUX:#define __INT32_FMTi__ "i" // I386-LINUX:#define __INT32_MAX__ 2147483647 @@ -2461,7 +2477,7 @@ // I386-LINUX:#define __INT64_FMTi__ "lli" // I386-LINUX:#define __INT64_MAX__ 9223372036854775807LL // I386-LINUX:#define __INT64_TYPE__ long long int -// I386-LINUX:#define __INT8_C_SUFFIX__ {{$}} +// I386-LINUX:#define __INT8_C_SUFFIX__ // I386-LINUX:#define __INT8_FMTd__ "hhd" // I386-LINUX:#define __INT8_FMTi__ "hhi" // I386-LINUX:#define __INT8_MAX__ 127 @@ -2531,7 +2547,7 @@ // I386-LINUX:#define __POINTER_WIDTH__ 32 // I386-LINUX:#define __PTRDIFF_TYPE__ int // I386-LINUX:#define __PTRDIFF_WIDTH__ 32 -// I386-LINUX:#define __REGISTER_PREFIX__ +// I386-LINUX:#define __REGISTER_PREFIX__ // I386-LINUX:#define __SCHAR_MAX__ 127 // I386-LINUX:#define __SHRT_MAX__ 32767 // I386-LINUX:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -2551,7 +2567,7 @@ // I386-LINUX:#define __SIZE_MAX__ 4294967295U // I386-LINUX:#define __SIZE_TYPE__ unsigned int // I386-LINUX:#define __SIZE_WIDTH__ 32 -// I386-LINUX:#define __UINT16_C_SUFFIX__ {{$}} +// I386-LINUX:#define __UINT16_C_SUFFIX__ // I386-LINUX:#define __UINT16_MAX__ 65535 // I386-LINUX:#define __UINT16_TYPE__ unsigned short // I386-LINUX:#define __UINT32_C_SUFFIX__ U @@ -2560,7 +2576,7 @@ // I386-LINUX:#define __UINT64_C_SUFFIX__ ULL // I386-LINUX:#define __UINT64_MAX__ 18446744073709551615ULL // I386-LINUX:#define __UINT64_TYPE__ long long unsigned int -// I386-LINUX:#define __UINT8_C_SUFFIX__ {{$}} +// I386-LINUX:#define __UINT8_C_SUFFIX__ // I386-LINUX:#define __UINT8_MAX__ 255 // I386-LINUX:#define __UINT8_TYPE__ unsigned char // I386-LINUX:#define __UINTMAX_C_SUFFIX__ ULL @@ -2596,7 +2612,7 @@ // I386-LINUX:#define __i386__ 1 // I386-LINUX:#define i386 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -check-prefix I386-NETBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd < /dev/null | FileCheck -match-full-lines -check-prefix I386-NETBSD %s // // I386-NETBSD-NOT:#define _LP64 // I386-NETBSD:#define __BIGGEST_ALIGNMENT__ 16 @@ -2633,12 +2649,12 @@ // I386-NETBSD:#define __FLT_MIN_EXP__ (-125) // I386-NETBSD:#define __FLT_MIN__ 1.17549435e-38F // I386-NETBSD:#define __FLT_RADIX__ 2 -// I386-NETBSD:#define __INT16_C_SUFFIX__ {{$}} +// I386-NETBSD:#define __INT16_C_SUFFIX__ // I386-NETBSD:#define __INT16_FMTd__ "hd" // I386-NETBSD:#define __INT16_FMTi__ "hi" // I386-NETBSD:#define __INT16_MAX__ 32767 // I386-NETBSD:#define __INT16_TYPE__ short -// I386-NETBSD:#define __INT32_C_SUFFIX__ {{$}} +// I386-NETBSD:#define __INT32_C_SUFFIX__ // I386-NETBSD:#define __INT32_FMTd__ "d" // I386-NETBSD:#define __INT32_FMTi__ "i" // I386-NETBSD:#define __INT32_MAX__ 2147483647 @@ -2648,7 +2664,7 @@ // I386-NETBSD:#define __INT64_FMTi__ "lli" // I386-NETBSD:#define __INT64_MAX__ 9223372036854775807LL // I386-NETBSD:#define __INT64_TYPE__ long long int -// I386-NETBSD:#define __INT8_C_SUFFIX__ {{$}} +// I386-NETBSD:#define __INT8_C_SUFFIX__ // I386-NETBSD:#define __INT8_FMTd__ "hhd" // I386-NETBSD:#define __INT8_FMTi__ "hhi" // I386-NETBSD:#define __INT8_MAX__ 127 @@ -2718,7 +2734,7 @@ // I386-NETBSD:#define __POINTER_WIDTH__ 32 // I386-NETBSD:#define __PTRDIFF_TYPE__ int // I386-NETBSD:#define __PTRDIFF_WIDTH__ 32 -// I386-NETBSD:#define __REGISTER_PREFIX__ +// I386-NETBSD:#define __REGISTER_PREFIX__ // I386-NETBSD:#define __SCHAR_MAX__ 127 // I386-NETBSD:#define __SHRT_MAX__ 32767 // I386-NETBSD:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -2738,7 +2754,7 @@ // I386-NETBSD:#define __SIZE_MAX__ 4294967295U // I386-NETBSD:#define __SIZE_TYPE__ unsigned int // I386-NETBSD:#define __SIZE_WIDTH__ 32 -// I386-NETBSD:#define __UINT16_C_SUFFIX__ {{$}} +// I386-NETBSD:#define __UINT16_C_SUFFIX__ // I386-NETBSD:#define __UINT16_MAX__ 65535 // I386-NETBSD:#define __UINT16_TYPE__ unsigned short // I386-NETBSD:#define __UINT32_C_SUFFIX__ U @@ -2747,7 +2763,7 @@ // I386-NETBSD:#define __UINT64_C_SUFFIX__ ULL // I386-NETBSD:#define __UINT64_MAX__ 18446744073709551615ULL // I386-NETBSD:#define __UINT64_TYPE__ long long unsigned int -// I386-NETBSD:#define __UINT8_C_SUFFIX__ {{$}} +// I386-NETBSD:#define __UINT8_C_SUFFIX__ // I386-NETBSD:#define __UINT8_MAX__ 255 // I386-NETBSD:#define __UINT8_TYPE__ unsigned char // I386-NETBSD:#define __UINTMAX_C_SUFFIX__ ULL @@ -2783,21 +2799,21 @@ // I386-NETBSD:#define __i386__ 1 // I386-NETBSD:#define i386 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD-SSE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd -target-feature +sse2 < /dev/null | FileCheck -match-full-lines -check-prefix I386-NETBSD-SSE %s // I386-NETBSD-SSE:#define __FLT_EVAL_METHOD__ 0 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -check-prefix I386-NETBSD6 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 < /dev/null | FileCheck -match-full-lines -check-prefix I386-NETBSD6 %s // I386-NETBSD6:#define __FLT_EVAL_METHOD__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -check-prefix I386-NETBSD6-SSE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-netbsd6 -target-feature +sse2 < /dev/null | FileCheck -match-full-lines -check-prefix I386-NETBSD6-SSE %s // I386-NETBSD6-SSE:#define __FLT_EVAL_METHOD__ 1 -// RUN: %clang_cc1 -E -dM -triple=i686-pc-mingw32 < /dev/null | FileCheck -check-prefix I386-DECLSPEC %s -// RUN: %clang_cc1 -E -dM -fms-extensions -triple=i686-pc-mingw32 < /dev/null | FileCheck -check-prefix I386-DECLSPEC %s -// RUN: %clang_cc1 -E -dM -triple=i686-unknown-cygwin < /dev/null | FileCheck -check-prefix I386-DECLSPEC %s -// RUN: %clang_cc1 -E -dM -fms-extensions -triple=i686-unknown-cygwin < /dev/null | FileCheck -check-prefix I386-DECLSPEC %s -// I386-DECLSPEC: #define __declspec +// RUN: %clang_cc1 -E -dM -triple=i686-pc-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix I386-DECLSPEC %s +// RUN: %clang_cc1 -E -dM -fms-extensions -triple=i686-pc-mingw32 < /dev/null | FileCheck -match-full-lines -check-prefix I386-DECLSPEC %s +// RUN: %clang_cc1 -E -dM -triple=i686-unknown-cygwin < /dev/null | FileCheck -match-full-lines -check-prefix I386-DECLSPEC %s +// RUN: %clang_cc1 -E -dM -fms-extensions -triple=i686-unknown-cygwin < /dev/null | FileCheck -match-full-lines -check-prefix I386-DECLSPEC %s +// I386-DECLSPEC: #define __declspec{{.*}} // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS32BE %s // // MIPS32BE:#define MIPSEB 1 // MIPS32BE:#define _ABIO32 1 @@ -2846,12 +2862,12 @@ // MIPS32BE:#define __FLT_MIN_EXP__ (-125) // MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F // MIPS32BE:#define __FLT_RADIX__ 2 -// MIPS32BE:#define __INT16_C_SUFFIX__ {{$}} +// MIPS32BE:#define __INT16_C_SUFFIX__ // MIPS32BE:#define __INT16_FMTd__ "hd" // MIPS32BE:#define __INT16_FMTi__ "hi" // MIPS32BE:#define __INT16_MAX__ 32767 // MIPS32BE:#define __INT16_TYPE__ short -// MIPS32BE:#define __INT32_C_SUFFIX__ {{$}} +// MIPS32BE:#define __INT32_C_SUFFIX__ // MIPS32BE:#define __INT32_FMTd__ "d" // MIPS32BE:#define __INT32_FMTi__ "i" // MIPS32BE:#define __INT32_MAX__ 2147483647 @@ -2861,7 +2877,7 @@ // MIPS32BE:#define __INT64_FMTi__ "lli" // MIPS32BE:#define __INT64_MAX__ 9223372036854775807LL // MIPS32BE:#define __INT64_TYPE__ long long int -// MIPS32BE:#define __INT8_C_SUFFIX__ {{$}} +// MIPS32BE:#define __INT8_C_SUFFIX__ // MIPS32BE:#define __INT8_FMTd__ "hhd" // MIPS32BE:#define __INT8_FMTi__ "hhi" // MIPS32BE:#define __INT8_MAX__ 127 @@ -2932,7 +2948,7 @@ // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1 // MIPS32BE:#define __PTRDIFF_TYPE__ int // MIPS32BE:#define __PTRDIFF_WIDTH__ 32 -// MIPS32BE:#define __REGISTER_PREFIX__ +// MIPS32BE:#define __REGISTER_PREFIX__ // MIPS32BE:#define __SCHAR_MAX__ 127 // MIPS32BE:#define __SHRT_MAX__ 32767 // MIPS32BE:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -2955,7 +2971,7 @@ // MIPS32BE:#define __STDC_HOSTED__ 0 // MIPS32BE:#define __STDC_VERSION__ 201112L // MIPS32BE:#define __STDC__ 1 -// MIPS32BE:#define __UINT16_C_SUFFIX__ {{$}} +// MIPS32BE:#define __UINT16_C_SUFFIX__ // MIPS32BE:#define __UINT16_MAX__ 65535 // MIPS32BE:#define __UINT16_TYPE__ unsigned short // MIPS32BE:#define __UINT32_C_SUFFIX__ U @@ -2964,14 +2980,14 @@ // MIPS32BE:#define __UINT64_C_SUFFIX__ ULL // MIPS32BE:#define __UINT64_MAX__ 18446744073709551615ULL // MIPS32BE:#define __UINT64_TYPE__ long long unsigned int -// MIPS32BE:#define __UINT8_C_SUFFIX__ {{$}} +// MIPS32BE:#define __UINT8_C_SUFFIX__ // MIPS32BE:#define __UINT8_MAX__ 255 // MIPS32BE:#define __UINT8_TYPE__ unsigned char // MIPS32BE:#define __UINTMAX_C_SUFFIX__ ULL // MIPS32BE:#define __UINTMAX_MAX__ 18446744073709551615ULL // MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int // MIPS32BE:#define __UINTMAX_WIDTH__ 64 -// MIPS32BE:#define __UINTPTR_MAX__ 4294967295U +// MIPS32BE:#define __UINTPTR_MAX__ 4294967295UL // MIPS32BE:#define __UINTPTR_TYPE__ long unsigned int // MIPS32BE:#define __UINTPTR_WIDTH__ 32 // MIPS32BE:#define __UINT_FAST16_MAX__ 65535 @@ -2990,7 +3006,7 @@ // MIPS32BE:#define __UINT_LEAST64_TYPE__ long long unsigned int // MIPS32BE:#define __UINT_LEAST8_MAX__ 255 // MIPS32BE:#define __UINT_LEAST8_TYPE__ unsigned char -// MIPS32BE:#define __USER_LABEL_PREFIX__ _ +// MIPS32BE:#define __USER_LABEL_PREFIX__ // MIPS32BE:#define __WCHAR_MAX__ 2147483647 // MIPS32BE:#define __WCHAR_TYPE__ int // MIPS32BE:#define __WCHAR_WIDTH__ 32 @@ -3006,7 +3022,7 @@ // MIPS32BE:#define _mips 1 // MIPS32BE:#define mips 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS32EL %s // // MIPS32EL:#define MIPSEL 1 // MIPS32EL:#define _ABIO32 1 @@ -3054,12 +3070,12 @@ // MIPS32EL:#define __FLT_MIN_EXP__ (-125) // MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F // MIPS32EL:#define __FLT_RADIX__ 2 -// MIPS32EL:#define __INT16_C_SUFFIX__ {{$}} +// MIPS32EL:#define __INT16_C_SUFFIX__ // MIPS32EL:#define __INT16_FMTd__ "hd" // MIPS32EL:#define __INT16_FMTi__ "hi" // MIPS32EL:#define __INT16_MAX__ 32767 // MIPS32EL:#define __INT16_TYPE__ short -// MIPS32EL:#define __INT32_C_SUFFIX__ {{$}} +// MIPS32EL:#define __INT32_C_SUFFIX__ // MIPS32EL:#define __INT32_FMTd__ "d" // MIPS32EL:#define __INT32_FMTi__ "i" // MIPS32EL:#define __INT32_MAX__ 2147483647 @@ -3069,7 +3085,7 @@ // MIPS32EL:#define __INT64_FMTi__ "lli" // MIPS32EL:#define __INT64_MAX__ 9223372036854775807LL // MIPS32EL:#define __INT64_TYPE__ long long int -// MIPS32EL:#define __INT8_C_SUFFIX__ {{$}} +// MIPS32EL:#define __INT8_C_SUFFIX__ // MIPS32EL:#define __INT8_FMTd__ "hhd" // MIPS32EL:#define __INT8_FMTi__ "hhi" // MIPS32EL:#define __INT8_MAX__ 127 @@ -3141,7 +3157,7 @@ // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1 // MIPS32EL:#define __PTRDIFF_TYPE__ int // MIPS32EL:#define __PTRDIFF_WIDTH__ 32 -// MIPS32EL:#define __REGISTER_PREFIX__ +// MIPS32EL:#define __REGISTER_PREFIX__ // MIPS32EL:#define __SCHAR_MAX__ 127 // MIPS32EL:#define __SHRT_MAX__ 32767 // MIPS32EL:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -3161,7 +3177,7 @@ // MIPS32EL:#define __SIZE_MAX__ 4294967295U // MIPS32EL:#define __SIZE_TYPE__ unsigned int // MIPS32EL:#define __SIZE_WIDTH__ 32 -// MIPS32EL:#define __UINT16_C_SUFFIX__ {{$}} +// MIPS32EL:#define __UINT16_C_SUFFIX__ // MIPS32EL:#define __UINT16_MAX__ 65535 // MIPS32EL:#define __UINT16_TYPE__ unsigned short // MIPS32EL:#define __UINT32_C_SUFFIX__ U @@ -3170,14 +3186,14 @@ // MIPS32EL:#define __UINT64_C_SUFFIX__ ULL // MIPS32EL:#define __UINT64_MAX__ 18446744073709551615ULL // MIPS32EL:#define __UINT64_TYPE__ long long unsigned int -// MIPS32EL:#define __UINT8_C_SUFFIX__ {{$}} +// MIPS32EL:#define __UINT8_C_SUFFIX__ // MIPS32EL:#define __UINT8_MAX__ 255 // MIPS32EL:#define __UINT8_TYPE__ unsigned char // MIPS32EL:#define __UINTMAX_C_SUFFIX__ ULL // MIPS32EL:#define __UINTMAX_MAX__ 18446744073709551615ULL // MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int // MIPS32EL:#define __UINTMAX_WIDTH__ 64 -// MIPS32EL:#define __UINTPTR_MAX__ 4294967295U +// MIPS32EL:#define __UINTPTR_MAX__ 4294967295UL // MIPS32EL:#define __UINTPTR_TYPE__ long unsigned int // MIPS32EL:#define __UINTPTR_WIDTH__ 32 // MIPS32EL:#define __UINT_FAST16_MAX__ 65535 @@ -3196,7 +3212,7 @@ // MIPS32EL:#define __UINT_LEAST64_TYPE__ long long unsigned int // MIPS32EL:#define __UINT_LEAST8_MAX__ 255 // MIPS32EL:#define __UINT_LEAST8_TYPE__ unsigned char -// MIPS32EL:#define __USER_LABEL_PREFIX__ _ +// MIPS32EL:#define __USER_LABEL_PREFIX__ // MIPS32EL:#define __WCHAR_MAX__ 2147483647 // MIPS32EL:#define __WCHAR_TYPE__ int // MIPS32EL:#define __WCHAR_WIDTH__ 32 @@ -3214,7 +3230,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding \ // RUN: -triple=mips64-none-none -target-abi n32 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPSN32BE %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPSN32BE %s // // MIPSN32BE: #define MIPSEB 1 // MIPSN32BE: #define _ABIN32 2 @@ -3286,7 +3302,6 @@ // MIPSN32BE: #define __GNUC_STDC_INLINE__ 1 // MIPSN32BE: #define __GNUC__ 4 // MIPSN32BE: #define __GXX_ABI_VERSION 1002 -// MIPSN32BE: #define __GXX_RTTI 1 // MIPSN32BE: #define __ILP32__ 1 // MIPSN32BE: #define __INT16_C_SUFFIX__ // MIPSN32BE: #define __INT16_FMTd__ "hd" @@ -3500,7 +3515,7 @@ // MIPSN32BE: #define __UINT_LEAST8_FMTx__ "hhx" // MIPSN32BE: #define __UINT_LEAST8_MAX__ 255 // MIPSN32BE: #define __UINT_LEAST8_TYPE__ unsigned char -// MIPSN32BE: #define __USER_LABEL_PREFIX__ _ +// MIPSN32BE: #define __USER_LABEL_PREFIX__ // MIPSN32BE: #define __WCHAR_MAX__ 2147483647 // MIPSN32BE: #define __WCHAR_TYPE__ int // MIPSN32BE: #define __WCHAR_WIDTH__ 32 @@ -3521,7 +3536,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding \ // RUN: -triple=mips64el-none-none -target-abi n32 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPSN32EL %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPSN32EL %s // // MIPSN32EL: #define MIPSEL 1 // MIPSN32EL: #define _ABIN32 2 @@ -3592,7 +3607,6 @@ // MIPSN32EL: #define __GNUC_STDC_INLINE__ 1 // MIPSN32EL: #define __GNUC__ 4 // MIPSN32EL: #define __GXX_ABI_VERSION 1002 -// MIPSN32EL: #define __GXX_RTTI 1 // MIPSN32EL: #define __ILP32__ 1 // MIPSN32EL: #define __INT16_C_SUFFIX__ // MIPSN32EL: #define __INT16_FMTd__ "hd" @@ -3807,7 +3821,7 @@ // MIPSN32EL: #define __UINT_LEAST8_FMTx__ "hhx" // MIPSN32EL: #define __UINT_LEAST8_MAX__ 255 // MIPSN32EL: #define __UINT_LEAST8_TYPE__ unsigned char -// MIPSN32EL: #define __USER_LABEL_PREFIX__ _ +// MIPSN32EL: #define __USER_LABEL_PREFIX__ // MIPSN32EL: #define __WCHAR_MAX__ 2147483647 // MIPSN32EL: #define __WCHAR_TYPE__ int // MIPSN32EL: #define __WCHAR_WIDTH__ 32 @@ -3826,7 +3840,7 @@ // MIPSN32EL: #define _mips 1 // MIPSN32EL: #define mips 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS64BE %s // // MIPS64BE:#define MIPSEB 1 // MIPS64BE:#define _ABI64 3 @@ -3875,12 +3889,12 @@ // MIPS64BE:#define __FLT_MIN_EXP__ (-125) // MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F // MIPS64BE:#define __FLT_RADIX__ 2 -// MIPS64BE:#define __INT16_C_SUFFIX__ {{$}} +// MIPS64BE:#define __INT16_C_SUFFIX__ // MIPS64BE:#define __INT16_FMTd__ "hd" // MIPS64BE:#define __INT16_FMTi__ "hi" // MIPS64BE:#define __INT16_MAX__ 32767 // MIPS64BE:#define __INT16_TYPE__ short -// MIPS64BE:#define __INT32_C_SUFFIX__ {{$}} +// MIPS64BE:#define __INT32_C_SUFFIX__ // MIPS64BE:#define __INT32_FMTd__ "d" // MIPS64BE:#define __INT32_FMTi__ "i" // MIPS64BE:#define __INT32_MAX__ 2147483647 @@ -3890,7 +3904,7 @@ // MIPS64BE:#define __INT64_FMTi__ "li" // MIPS64BE:#define __INT64_MAX__ 9223372036854775807L // MIPS64BE:#define __INT64_TYPE__ long int -// MIPS64BE:#define __INT8_C_SUFFIX__ {{$}} +// MIPS64BE:#define __INT8_C_SUFFIX__ // MIPS64BE:#define __INT8_FMTd__ "hhd" // MIPS64BE:#define __INT8_FMTi__ "hhi" // MIPS64BE:#define __INT8_MAX__ 127 @@ -3961,7 +3975,7 @@ // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1 // MIPS64BE:#define __PTRDIFF_TYPE__ long int // MIPS64BE:#define __PTRDIFF_WIDTH__ 64 -// MIPS64BE:#define __REGISTER_PREFIX__ +// MIPS64BE:#define __REGISTER_PREFIX__ // MIPS64BE:#define __SCHAR_MAX__ 127 // MIPS64BE:#define __SHRT_MAX__ 32767 // MIPS64BE:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -3982,7 +3996,7 @@ // MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL // MIPS64BE:#define __SIZE_TYPE__ long unsigned int // MIPS64BE:#define __SIZE_WIDTH__ 64 -// MIPS64BE:#define __UINT16_C_SUFFIX__ {{$}} +// MIPS64BE:#define __UINT16_C_SUFFIX__ // MIPS64BE:#define __UINT16_MAX__ 65535 // MIPS64BE:#define __UINT16_TYPE__ unsigned short // MIPS64BE:#define __UINT32_C_SUFFIX__ U @@ -3991,7 +4005,7 @@ // MIPS64BE:#define __UINT64_C_SUFFIX__ UL // MIPS64BE:#define __UINT64_MAX__ 18446744073709551615UL // MIPS64BE:#define __UINT64_TYPE__ long unsigned int -// MIPS64BE:#define __UINT8_C_SUFFIX__ {{$}} +// MIPS64BE:#define __UINT8_C_SUFFIX__ // MIPS64BE:#define __UINT8_MAX__ 255 // MIPS64BE:#define __UINT8_TYPE__ unsigned char // MIPS64BE:#define __UINTMAX_C_SUFFIX__ UL @@ -4017,7 +4031,7 @@ // MIPS64BE:#define __UINT_LEAST64_TYPE__ long unsigned int // MIPS64BE:#define __UINT_LEAST8_MAX__ 255 // MIPS64BE:#define __UINT_LEAST8_TYPE__ unsigned char -// MIPS64BE:#define __USER_LABEL_PREFIX__ _ +// MIPS64BE:#define __USER_LABEL_PREFIX__ // MIPS64BE:#define __WCHAR_MAX__ 2147483647 // MIPS64BE:#define __WCHAR_TYPE__ int // MIPS64BE:#define __WCHAR_WIDTH__ 32 @@ -4035,7 +4049,7 @@ // MIPS64BE:#define _mips 1 // MIPS64BE:#define mips 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS64EL %s // // MIPS64EL:#define MIPSEL 1 // MIPS64EL:#define _ABI64 3 @@ -4083,12 +4097,12 @@ // MIPS64EL:#define __FLT_MIN_EXP__ (-125) // MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F // MIPS64EL:#define __FLT_RADIX__ 2 -// MIPS64EL:#define __INT16_C_SUFFIX__ {{$}} +// MIPS64EL:#define __INT16_C_SUFFIX__ // MIPS64EL:#define __INT16_FMTd__ "hd" // MIPS64EL:#define __INT16_FMTi__ "hi" // MIPS64EL:#define __INT16_MAX__ 32767 // MIPS64EL:#define __INT16_TYPE__ short -// MIPS64EL:#define __INT32_C_SUFFIX__ {{$}} +// MIPS64EL:#define __INT32_C_SUFFIX__ // MIPS64EL:#define __INT32_FMTd__ "d" // MIPS64EL:#define __INT32_FMTi__ "i" // MIPS64EL:#define __INT32_MAX__ 2147483647 @@ -4098,7 +4112,7 @@ // MIPS64EL:#define __INT64_FMTi__ "li" // MIPS64EL:#define __INT64_MAX__ 9223372036854775807L // MIPS64EL:#define __INT64_TYPE__ long int -// MIPS64EL:#define __INT8_C_SUFFIX__ {{$}} +// MIPS64EL:#define __INT8_C_SUFFIX__ // MIPS64EL:#define __INT8_FMTd__ "hhd" // MIPS64EL:#define __INT8_FMTi__ "hhi" // MIPS64EL:#define __INT8_MAX__ 127 @@ -4170,7 +4184,7 @@ // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1 // MIPS64EL:#define __PTRDIFF_TYPE__ long int // MIPS64EL:#define __PTRDIFF_WIDTH__ 64 -// MIPS64EL:#define __REGISTER_PREFIX__ +// MIPS64EL:#define __REGISTER_PREFIX__ // MIPS64EL:#define __SCHAR_MAX__ 127 // MIPS64EL:#define __SHRT_MAX__ 32767 // MIPS64EL:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -4191,7 +4205,7 @@ // MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL // MIPS64EL:#define __SIZE_TYPE__ long unsigned int // MIPS64EL:#define __SIZE_WIDTH__ 64 -// MIPS64EL:#define __UINT16_C_SUFFIX__ {{$}} +// MIPS64EL:#define __UINT16_C_SUFFIX__ // MIPS64EL:#define __UINT16_MAX__ 65535 // MIPS64EL:#define __UINT16_TYPE__ unsigned short // MIPS64EL:#define __UINT32_C_SUFFIX__ U @@ -4200,7 +4214,7 @@ // MIPS64EL:#define __UINT64_C_SUFFIX__ UL // MIPS64EL:#define __UINT64_MAX__ 18446744073709551615UL // MIPS64EL:#define __UINT64_TYPE__ long unsigned int -// MIPS64EL:#define __UINT8_C_SUFFIX__ {{$}} +// MIPS64EL:#define __UINT8_C_SUFFIX__ // MIPS64EL:#define __UINT8_MAX__ 255 // MIPS64EL:#define __UINT8_TYPE__ unsigned char // MIPS64EL:#define __UINTMAX_C_SUFFIX__ UL @@ -4226,7 +4240,7 @@ // MIPS64EL:#define __UINT_LEAST64_TYPE__ long unsigned int // MIPS64EL:#define __UINT_LEAST8_MAX__ 255 // MIPS64EL:#define __UINT_LEAST8_TYPE__ unsigned char -// MIPS64EL:#define __USER_LABEL_PREFIX__ _ +// MIPS64EL:#define __USER_LABEL_PREFIX__ // MIPS64EL:#define __WCHAR_MAX__ 2147483647 // MIPS64EL:#define __WCHAR_TYPE__ int // MIPS64EL:#define __WCHAR_WIDTH__ 32 @@ -4248,7 +4262,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \ // RUN: < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF32 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-DEF32 %s // // MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2" // MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1 @@ -4257,7 +4271,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \ // RUN: -target-cpu mips32 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-32 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32 %s // // MIPS-ARCH-32:#define _MIPS_ARCH "mips32" // MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1 @@ -4266,7 +4280,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \ // RUN: -target-cpu mips32r2 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-32R2 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R2 %s // // MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2" // MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1 @@ -4275,7 +4289,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \ // RUN: -target-cpu mips32r3 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-32R3 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R3 %s // // MIPS-ARCH-32R3:#define _MIPS_ARCH "mips32r3" // MIPS-ARCH-32R3:#define _MIPS_ARCH_MIPS32R3 1 @@ -4284,7 +4298,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \ // RUN: -target-cpu mips32r5 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-32R5 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R5 %s // // MIPS-ARCH-32R5:#define _MIPS_ARCH "mips32r5" // MIPS-ARCH-32R5:#define _MIPS_ARCH_MIPS32R5 1 @@ -4293,7 +4307,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \ // RUN: -target-cpu mips32r6 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-32R6 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R6 %s // // MIPS-ARCH-32R6:#define _MIPS_ARCH "mips32r6" // MIPS-ARCH-32R6:#define _MIPS_ARCH_MIPS32R6 1 @@ -4302,7 +4316,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \ // RUN: < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-DEF64 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-DEF64 %s // // MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2" // MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1 @@ -4311,7 +4325,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \ // RUN: -target-cpu mips64 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-64 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64 %s // // MIPS-ARCH-64:#define _MIPS_ARCH "mips64" // MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1 @@ -4320,7 +4334,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \ // RUN: -target-cpu mips64r2 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-64R2 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R2 %s // // MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2" // MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1 @@ -4329,7 +4343,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \ // RUN: -target-cpu mips64r3 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-64R3 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R3 %s // // MIPS-ARCH-64R3:#define _MIPS_ARCH "mips64r3" // MIPS-ARCH-64R3:#define _MIPS_ARCH_MIPS64R3 1 @@ -4338,7 +4352,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \ // RUN: -target-cpu mips64r5 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-64R5 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R5 %s // // MIPS-ARCH-64R5:#define _MIPS_ARCH "mips64r5" // MIPS-ARCH-64R5:#define _MIPS_ARCH_MIPS64R5 1 @@ -4347,7 +4361,7 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \ // RUN: -target-cpu mips64r6 < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-ARCH-64R6 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R6 %s // // MIPS-ARCH-64R6:#define _MIPS_ARCH "mips64r6" // MIPS-ARCH-64R6:#define _MIPS_ARCH_MIPS64R6 1 @@ -4358,23 +4372,23 @@ // // RUN: %clang_cc1 -E -dM -ffreestanding \ // RUN: -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-FABI-HARD %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-FABI-HARD %s // MIPS-FABI-HARD:#define __mips_hard_float 1 // // RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \ // RUN: -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-FABI-SOFT %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-FABI-SOFT %s // MIPS-FABI-SOFT:#define __mips_soft_float 1 // // RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \ // RUN: -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-FABI-SINGLE %s // MIPS-FABI-SINGLE:#define __mips_hard_float 1 // MIPS-FABI-SINGLE:#define __mips_single_float 1 // // RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \ // RUN: -E -dM -ffreestanding -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-FABI-SINGLE-SOFT %s // MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1 // MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1 // @@ -4382,94 +4396,94 @@ // // RUN: %clang_cc1 -target-feature +mips16 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS16 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS16 %s // MIPS16:#define __mips16 1 // // RUN: %clang_cc1 -target-feature -mips16 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix NOMIPS16 %s +// RUN: | FileCheck -match-full-lines -check-prefix NOMIPS16 %s // NOMIPS16-NOT:#define __mips16 1 // // RUN: %clang_cc1 -target-feature +micromips \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MICROMIPS %s +// RUN: | FileCheck -match-full-lines -check-prefix MICROMIPS %s // MICROMIPS:#define __mips_micromips 1 // // RUN: %clang_cc1 -target-feature -micromips \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix NOMICROMIPS %s +// RUN: | FileCheck -match-full-lines -check-prefix NOMICROMIPS %s // NOMICROMIPS-NOT:#define __mips_micromips 1 // // RUN: %clang_cc1 -target-feature +dsp \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-DSP %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-DSP %s // MIPS-DSP:#define __mips_dsp 1 // MIPS-DSP:#define __mips_dsp_rev 1 // MIPS-DSP-NOT:#define __mips_dspr2 1 // // RUN: %clang_cc1 -target-feature +dspr2 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-DSPR2 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-DSPR2 %s // MIPS-DSPR2:#define __mips_dsp 1 // MIPS-DSPR2:#define __mips_dsp_rev 2 // MIPS-DSPR2:#define __mips_dspr2 1 // // RUN: %clang_cc1 -target-feature +msa \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-MSA %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-MSA %s // MIPS-MSA:#define __mips_msa 1 // // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature +nan2008 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-NAN2008 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-NAN2008 %s // MIPS-NAN2008:#define __mips_nan2008 1 // // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature -nan2008 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix NOMIPS-NAN2008 %s +// RUN: | FileCheck -match-full-lines -check-prefix NOMIPS-NAN2008 %s // NOMIPS-NAN2008-NOT:#define __mips_nan2008 1 // // RUN: %clang_cc1 -target-feature -fp64 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS32-MFP32 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS32-MFP32 %s // MIPS32-MFP32:#define _MIPS_FPSET 16 // MIPS32-MFP32:#define __mips_fpr 32 // // RUN: %clang_cc1 -target-feature +fp64 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS32-MFP64 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS32-MFP64 %s // MIPS32-MFP64:#define _MIPS_FPSET 32 // MIPS32-MFP64:#define __mips_fpr 64 // // RUN: %clang_cc1 -target-feature +single-float \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS32-MFP32SF %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS32-MFP32SF %s // MIPS32-MFP32SF:#define _MIPS_FPSET 32 // MIPS32-MFP32SF:#define __mips_fpr 32 // // RUN: %clang_cc1 -target-feature +fp64 \ // RUN: -E -dM -triple=mips64-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS64-MFP64 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS64-MFP64 %s // MIPS64-MFP64:#define _MIPS_FPSET 32 // MIPS64-MFP64:#define __mips_fpr 64 // // RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \ // RUN: -E -dM -triple=mips64-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS64-NOMFP64 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS64-NOMFP64 %s // MIPS64-NOMFP64:#define _MIPS_FPSET 32 // MIPS64-NOMFP64:#define __mips_fpr 32 // // RUN: %clang_cc1 -target-cpu mips32r6 \ // RUN: -E -dM -triple=mips-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-XXR6 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-XXR6 %s // RUN: %clang_cc1 -target-cpu mips64r6 \ // RUN: -E -dM -triple=mips64-none-none < /dev/null \ -// RUN: | FileCheck -check-prefix MIPS-XXR6 %s +// RUN: | FileCheck -match-full-lines -check-prefix MIPS-XXR6 %s // MIPS-XXR6:#define _MIPS_FPSET 32 // MIPS-XXR6:#define __mips_fpr 64 // MIPS-XXR6:#define __mips_nan2008 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MSP430 %s // // MSP430:#define MSP430 1 // MSP430-NOT:#define _LP64 @@ -4507,7 +4521,7 @@ // MSP430:#define __FLT_MIN_EXP__ (-125) // MSP430:#define __FLT_MIN__ 1.17549435e-38F // MSP430:#define __FLT_RADIX__ 2 -// MSP430:#define __INT16_C_SUFFIX__ {{$}} +// MSP430:#define __INT16_C_SUFFIX__ // MSP430:#define __INT16_FMTd__ "hd" // MSP430:#define __INT16_FMTi__ "hi" // MSP430:#define __INT16_MAX__ 32767 @@ -4522,7 +4536,7 @@ // MSP430:#define __INT64_FMTi__ "lli" // MSP430:#define __INT64_MAX__ 9223372036854775807LL // MSP430:#define __INT64_TYPE__ long long int -// MSP430:#define __INT8_C_SUFFIX__ {{$}} +// MSP430:#define __INT8_C_SUFFIX__ // MSP430:#define __INT8_FMTd__ "hhd" // MSP430:#define __INT8_FMTi__ "hhi" // MSP430:#define __INT8_MAX__ 127 @@ -4591,10 +4605,10 @@ // MSP430:#define __MSP430__ 1 // MSP430:#define __POINTER_WIDTH__ 16 // MSP430:#define __PTRDIFF_TYPE__ int -// MSP430:#define __PTRDIFF_WIDTH__ 16 +// MSP430:#define __PTRDIFF_WIDTH__ 16 // MSP430:#define __SCHAR_MAX__ 127 // MSP430:#define __SHRT_MAX__ 32767 -// MSP430:#define __SIG_ATOMIC_MAX__ 2147483647 +// MSP430:#define __SIG_ATOMIC_MAX__ 2147483647L // MSP430:#define __SIG_ATOMIC_WIDTH__ 32 // MSP430:#define __SIZEOF_DOUBLE__ 8 // MSP430:#define __SIZEOF_FLOAT__ 4 @@ -4608,11 +4622,11 @@ // MSP430:#define __SIZEOF_SIZE_T__ 2 // MSP430:#define __SIZEOF_WCHAR_T__ 2 // MSP430:#define __SIZEOF_WINT_T__ 2 -// MSP430:#define __SIZE_MAX__ 65535 +// MSP430:#define __SIZE_MAX__ 65535U // MSP430:#define __SIZE_TYPE__ unsigned int // MSP430:#define __SIZE_WIDTH__ 16 // MSP430:#define __UINT16_C_SUFFIX__ U -// MSP430:#define __UINT16_MAX__ 65535 +// MSP430:#define __UINT16_MAX__ 65535U // MSP430:#define __UINT16_TYPE__ unsigned short // MSP430:#define __UINT32_C_SUFFIX__ UL // MSP430:#define __UINT32_MAX__ 4294967295UL @@ -4620,17 +4634,17 @@ // MSP430:#define __UINT64_C_SUFFIX__ ULL // MSP430:#define __UINT64_MAX__ 18446744073709551615ULL // MSP430:#define __UINT64_TYPE__ long long unsigned int -// MSP430:#define __UINT8_C_SUFFIX__ {{$}} +// MSP430:#define __UINT8_C_SUFFIX__ // MSP430:#define __UINT8_MAX__ 255 // MSP430:#define __UINT8_TYPE__ unsigned char // MSP430:#define __UINTMAX_C_SUFFIX__ ULL // MSP430:#define __UINTMAX_MAX__ 18446744073709551615ULL // MSP430:#define __UINTMAX_TYPE__ long long unsigned int // MSP430:#define __UINTMAX_WIDTH__ 64 -// MSP430:#define __UINTPTR_MAX__ 65535 +// MSP430:#define __UINTPTR_MAX__ 65535U // MSP430:#define __UINTPTR_TYPE__ unsigned int // MSP430:#define __UINTPTR_WIDTH__ 16 -// MSP430:#define __UINT_FAST16_MAX__ 65535 +// MSP430:#define __UINT_FAST16_MAX__ 65535U // MSP430:#define __UINT_FAST16_TYPE__ unsigned short // MSP430:#define __UINT_FAST32_MAX__ 4294967295UL // MSP430:#define __UINT_FAST32_TYPE__ long unsigned int @@ -4638,7 +4652,7 @@ // MSP430:#define __UINT_FAST64_TYPE__ long long unsigned int // MSP430:#define __UINT_FAST8_MAX__ 255 // MSP430:#define __UINT_FAST8_TYPE__ unsigned char -// MSP430:#define __UINT_LEAST16_MAX__ 65535 +// MSP430:#define __UINT_LEAST16_MAX__ 65535U // MSP430:#define __UINT_LEAST16_TYPE__ unsigned short // MSP430:#define __UINT_LEAST32_MAX__ 4294967295UL // MSP430:#define __UINT_LEAST32_TYPE__ long unsigned int @@ -4646,7 +4660,7 @@ // MSP430:#define __UINT_LEAST64_TYPE__ long long unsigned int // MSP430:#define __UINT_LEAST8_MAX__ 255 // MSP430:#define __UINT_LEAST8_TYPE__ unsigned char -// MSP430:#define __USER_LABEL_PREFIX__ _ +// MSP430:#define __USER_LABEL_PREFIX__ // MSP430:#define __WCHAR_MAX__ 32767 // MSP430:#define __WCHAR_TYPE__ int // MSP430:#define __WCHAR_WIDTH__ 16 @@ -4654,7 +4668,7 @@ // MSP430:#define __WINT_WIDTH__ 16 // MSP430:#define __clang__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -match-full-lines -check-prefix NVPTX32 %s // // NVPTX32-NOT:#define _LP64 // NVPTX32:#define __BIGGEST_ALIGNMENT__ 8 @@ -4693,12 +4707,12 @@ // NVPTX32:#define __FLT_MIN_EXP__ (-125) // NVPTX32:#define __FLT_MIN__ 1.17549435e-38F // NVPTX32:#define __FLT_RADIX__ 2 -// NVPTX32:#define __INT16_C_SUFFIX__ {{$}} +// NVPTX32:#define __INT16_C_SUFFIX__ // NVPTX32:#define __INT16_FMTd__ "hd" // NVPTX32:#define __INT16_FMTi__ "hi" // NVPTX32:#define __INT16_MAX__ 32767 // NVPTX32:#define __INT16_TYPE__ short -// NVPTX32:#define __INT32_C_SUFFIX__ {{$}} +// NVPTX32:#define __INT32_C_SUFFIX__ // NVPTX32:#define __INT32_FMTd__ "d" // NVPTX32:#define __INT32_FMTi__ "i" // NVPTX32:#define __INT32_MAX__ 2147483647 @@ -4706,9 +4720,9 @@ // NVPTX32:#define __INT64_C_SUFFIX__ LL // NVPTX32:#define __INT64_FMTd__ "lld" // NVPTX32:#define __INT64_FMTi__ "lli" -// NVPTX32:#define __INT64_MAX__ 9223372036854775807L +// NVPTX32:#define __INT64_MAX__ 9223372036854775807LL // NVPTX32:#define __INT64_TYPE__ long long int -// NVPTX32:#define __INT8_C_SUFFIX__ {{$}} +// NVPTX32:#define __INT8_C_SUFFIX__ // NVPTX32:#define __INT8_FMTd__ "hhd" // NVPTX32:#define __INT8_FMTi__ "hhi" // NVPTX32:#define __INT8_MAX__ 127 @@ -4734,7 +4748,7 @@ // NVPTX32:#define __INT_FAST32_TYPE__ int // NVPTX32:#define __INT_FAST64_FMTd__ "lld" // NVPTX32:#define __INT_FAST64_FMTi__ "lli" -// NVPTX32:#define __INT_FAST64_MAX__ 9223372036854775807L +// NVPTX32:#define __INT_FAST64_MAX__ 9223372036854775807LL // NVPTX32:#define __INT_FAST64_TYPE__ long long int // NVPTX32:#define __INT_FAST8_FMTd__ "hhd" // NVPTX32:#define __INT_FAST8_FMTi__ "hhi" @@ -4750,7 +4764,7 @@ // NVPTX32:#define __INT_LEAST32_TYPE__ int // NVPTX32:#define __INT_LEAST64_FMTd__ "lld" // NVPTX32:#define __INT_LEAST64_FMTi__ "lli" -// NVPTX32:#define __INT_LEAST64_MAX__ 9223372036854775807L +// NVPTX32:#define __INT_LEAST64_MAX__ 9223372036854775807LL // NVPTX32:#define __INT_LEAST64_TYPE__ long long int // NVPTX32:#define __INT_LEAST8_FMTd__ "hhd" // NVPTX32:#define __INT_LEAST8_FMTi__ "hhi" @@ -4799,7 +4813,7 @@ // NVPTX32:#define __SIZE_MAX__ 4294967295U // NVPTX32:#define __SIZE_TYPE__ unsigned int // NVPTX32:#define __SIZE_WIDTH__ 32 -// NVPTX32:#define __UINT16_C_SUFFIX__ {{$}} +// NVPTX32:#define __UINT16_C_SUFFIX__ // NVPTX32:#define __UINT16_MAX__ 65535 // NVPTX32:#define __UINT16_TYPE__ unsigned short // NVPTX32:#define __UINT32_C_SUFFIX__ U @@ -4808,7 +4822,7 @@ // NVPTX32:#define __UINT64_C_SUFFIX__ ULL // NVPTX32:#define __UINT64_MAX__ 18446744073709551615ULL // NVPTX32:#define __UINT64_TYPE__ long long unsigned int -// NVPTX32:#define __UINT8_C_SUFFIX__ {{$}} +// NVPTX32:#define __UINT8_C_SUFFIX__ // NVPTX32:#define __UINT8_MAX__ 255 // NVPTX32:#define __UINT8_TYPE__ unsigned char // NVPTX32:#define __UINTMAX_C_SUFFIX__ ULL @@ -4822,7 +4836,7 @@ // NVPTX32:#define __UINT_FAST16_TYPE__ unsigned short // NVPTX32:#define __UINT_FAST32_MAX__ 4294967295U // NVPTX32:#define __UINT_FAST32_TYPE__ unsigned int -// NVPTX32:#define __UINT_FAST64_MAX__ 18446744073709551615UL +// NVPTX32:#define __UINT_FAST64_MAX__ 18446744073709551615ULL // NVPTX32:#define __UINT_FAST64_TYPE__ long long unsigned int // NVPTX32:#define __UINT_FAST8_MAX__ 255 // NVPTX32:#define __UINT_FAST8_TYPE__ unsigned char @@ -4830,18 +4844,18 @@ // NVPTX32:#define __UINT_LEAST16_TYPE__ unsigned short // NVPTX32:#define __UINT_LEAST32_MAX__ 4294967295U // NVPTX32:#define __UINT_LEAST32_TYPE__ unsigned int -// NVPTX32:#define __UINT_LEAST64_MAX__ 18446744073709551615UL +// NVPTX32:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL // NVPTX32:#define __UINT_LEAST64_TYPE__ long long unsigned int // NVPTX32:#define __UINT_LEAST8_MAX__ 255 // NVPTX32:#define __UINT_LEAST8_TYPE__ unsigned char -// NVPTX32:#define __USER_LABEL_PREFIX__ _ +// NVPTX32:#define __USER_LABEL_PREFIX__ // NVPTX32:#define __WCHAR_MAX__ 2147483647 // NVPTX32:#define __WCHAR_TYPE__ int // NVPTX32:#define __WCHAR_WIDTH__ 32 // NVPTX32:#define __WINT_TYPE__ int // NVPTX32:#define __WINT_WIDTH__ 32 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix NVPTX64 %s // // NVPTX64:#define _LP64 1 // NVPTX64:#define __BIGGEST_ALIGNMENT__ 8 @@ -4880,12 +4894,12 @@ // NVPTX64:#define __FLT_MIN_EXP__ (-125) // NVPTX64:#define __FLT_MIN__ 1.17549435e-38F // NVPTX64:#define __FLT_RADIX__ 2 -// NVPTX64:#define __INT16_C_SUFFIX__ {{$}} +// NVPTX64:#define __INT16_C_SUFFIX__ // NVPTX64:#define __INT16_FMTd__ "hd" // NVPTX64:#define __INT16_FMTi__ "hi" // NVPTX64:#define __INT16_MAX__ 32767 // NVPTX64:#define __INT16_TYPE__ short -// NVPTX64:#define __INT32_C_SUFFIX__ {{$}} +// NVPTX64:#define __INT32_C_SUFFIX__ // NVPTX64:#define __INT32_FMTd__ "d" // NVPTX64:#define __INT32_FMTi__ "i" // NVPTX64:#define __INT32_MAX__ 2147483647 @@ -4893,9 +4907,9 @@ // NVPTX64:#define __INT64_C_SUFFIX__ LL // NVPTX64:#define __INT64_FMTd__ "lld" // NVPTX64:#define __INT64_FMTi__ "lli" -// NVPTX64:#define __INT64_MAX__ 9223372036854775807L +// NVPTX64:#define __INT64_MAX__ 9223372036854775807LL // NVPTX64:#define __INT64_TYPE__ long long int -// NVPTX64:#define __INT8_C_SUFFIX__ {{$}} +// NVPTX64:#define __INT8_C_SUFFIX__ // NVPTX64:#define __INT8_FMTd__ "hhd" // NVPTX64:#define __INT8_FMTi__ "hhi" // NVPTX64:#define __INT8_MAX__ 127 @@ -4986,7 +5000,7 @@ // NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL // NVPTX64:#define __SIZE_TYPE__ long unsigned int // NVPTX64:#define __SIZE_WIDTH__ 64 -// NVPTX64:#define __UINT16_C_SUFFIX__ {{$}} +// NVPTX64:#define __UINT16_C_SUFFIX__ // NVPTX64:#define __UINT16_MAX__ 65535 // NVPTX64:#define __UINT16_TYPE__ unsigned short // NVPTX64:#define __UINT32_C_SUFFIX__ U @@ -4995,7 +5009,7 @@ // NVPTX64:#define __UINT64_C_SUFFIX__ ULL // NVPTX64:#define __UINT64_MAX__ 18446744073709551615ULL // NVPTX64:#define __UINT64_TYPE__ long long unsigned int -// NVPTX64:#define __UINT8_C_SUFFIX__ {{$}} +// NVPTX64:#define __UINT8_C_SUFFIX__ // NVPTX64:#define __UINT8_MAX__ 255 // NVPTX64:#define __UINT8_TYPE__ unsigned char // NVPTX64:#define __UINTMAX_C_SUFFIX__ ULL @@ -5021,14 +5035,14 @@ // NVPTX64:#define __UINT_LEAST64_TYPE__ long unsigned int // NVPTX64:#define __UINT_LEAST8_MAX__ 255 // NVPTX64:#define __UINT_LEAST8_TYPE__ unsigned char -// NVPTX64:#define __USER_LABEL_PREFIX__ _ +// NVPTX64:#define __USER_LABEL_PREFIX__ // NVPTX64:#define __WCHAR_MAX__ 2147483647 // NVPTX64:#define __WCHAR_TYPE__ int // NVPTX64:#define __WCHAR_WIDTH__ 32 // NVPTX64:#define __WINT_TYPE__ int // NVPTX64:#define __WINT_WIDTH__ 32 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -match-full-lines -check-prefix PPC603E %s // // PPC603E:#define _ARCH_603 1 // PPC603E:#define _ARCH_603E 1 @@ -5071,12 +5085,12 @@ // PPC603E:#define __FLT_MIN_EXP__ (-125) // PPC603E:#define __FLT_MIN__ 1.17549435e-38F // PPC603E:#define __FLT_RADIX__ 2 -// PPC603E:#define __INT16_C_SUFFIX__ {{$}} +// PPC603E:#define __INT16_C_SUFFIX__ // PPC603E:#define __INT16_FMTd__ "hd" // PPC603E:#define __INT16_FMTi__ "hi" // PPC603E:#define __INT16_MAX__ 32767 // PPC603E:#define __INT16_TYPE__ short -// PPC603E:#define __INT32_C_SUFFIX__ {{$}} +// PPC603E:#define __INT32_C_SUFFIX__ // PPC603E:#define __INT32_FMTd__ "d" // PPC603E:#define __INT32_FMTi__ "i" // PPC603E:#define __INT32_MAX__ 2147483647 @@ -5086,7 +5100,7 @@ // PPC603E:#define __INT64_FMTi__ "lli" // PPC603E:#define __INT64_MAX__ 9223372036854775807LL // PPC603E:#define __INT64_TYPE__ long long int -// PPC603E:#define __INT8_C_SUFFIX__ {{$}} +// PPC603E:#define __INT8_C_SUFFIX__ // PPC603E:#define __INT8_FMTd__ "hhd" // PPC603E:#define __INT8_FMTi__ "hhi" // PPC603E:#define __INT8_MAX__ 127 @@ -5175,10 +5189,10 @@ // PPC603E:#define __SIZEOF_SIZE_T__ 4 // PPC603E:#define __SIZEOF_WCHAR_T__ 4 // PPC603E:#define __SIZEOF_WINT_T__ 4 -// PPC603E:#define __SIZE_MAX__ 4294967295U +// PPC603E:#define __SIZE_MAX__ 4294967295UL // PPC603E:#define __SIZE_TYPE__ long unsigned int // PPC603E:#define __SIZE_WIDTH__ 32 -// PPC603E:#define __UINT16_C_SUFFIX__ {{$}} +// PPC603E:#define __UINT16_C_SUFFIX__ // PPC603E:#define __UINT16_MAX__ 65535 // PPC603E:#define __UINT16_TYPE__ unsigned short // PPC603E:#define __UINT32_C_SUFFIX__ U @@ -5187,14 +5201,14 @@ // PPC603E:#define __UINT64_C_SUFFIX__ ULL // PPC603E:#define __UINT64_MAX__ 18446744073709551615ULL // PPC603E:#define __UINT64_TYPE__ long long unsigned int -// PPC603E:#define __UINT8_C_SUFFIX__ {{$}} +// PPC603E:#define __UINT8_C_SUFFIX__ // PPC603E:#define __UINT8_MAX__ 255 // PPC603E:#define __UINT8_TYPE__ unsigned char // PPC603E:#define __UINTMAX_C_SUFFIX__ ULL // PPC603E:#define __UINTMAX_MAX__ 18446744073709551615ULL // PPC603E:#define __UINTMAX_TYPE__ long long unsigned int // PPC603E:#define __UINTMAX_WIDTH__ 64 -// PPC603E:#define __UINTPTR_MAX__ 4294967295U +// PPC603E:#define __UINTPTR_MAX__ 4294967295UL // PPC603E:#define __UINTPTR_TYPE__ long unsigned int // PPC603E:#define __UINTPTR_WIDTH__ 32 // PPC603E:#define __UINT_FAST16_MAX__ 65535 @@ -5213,7 +5227,7 @@ // PPC603E:#define __UINT_LEAST64_TYPE__ long long unsigned int // PPC603E:#define __UINT_LEAST8_MAX__ 255 // PPC603E:#define __UINT_LEAST8_TYPE__ unsigned char -// PPC603E:#define __USER_LABEL_PREFIX__ _ +// PPC603E:#define __USER_LABEL_PREFIX__ // PPC603E:#define __WCHAR_MAX__ 2147483647 // PPC603E:#define __WCHAR_TYPE__ int // PPC603E:#define __WCHAR_WIDTH__ 32 @@ -5222,7 +5236,7 @@ // PPC603E:#define __powerpc__ 1 // PPC603E:#define __ppc__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64 %s // // PPC64:#define _ARCH_PPC 1 // PPC64:#define _ARCH_PPC64 1 @@ -5270,12 +5284,12 @@ // PPC64:#define __FLT_MIN_EXP__ (-125) // PPC64:#define __FLT_MIN__ 1.17549435e-38F // PPC64:#define __FLT_RADIX__ 2 -// PPC64:#define __INT16_C_SUFFIX__ {{$}} +// PPC64:#define __INT16_C_SUFFIX__ // PPC64:#define __INT16_FMTd__ "hd" // PPC64:#define __INT16_FMTi__ "hi" // PPC64:#define __INT16_MAX__ 32767 // PPC64:#define __INT16_TYPE__ short -// PPC64:#define __INT32_C_SUFFIX__ {{$}} +// PPC64:#define __INT32_C_SUFFIX__ // PPC64:#define __INT32_FMTd__ "d" // PPC64:#define __INT32_FMTi__ "i" // PPC64:#define __INT32_MAX__ 2147483647 @@ -5285,7 +5299,7 @@ // PPC64:#define __INT64_FMTi__ "li" // PPC64:#define __INT64_MAX__ 9223372036854775807L // PPC64:#define __INT64_TYPE__ long int -// PPC64:#define __INT8_C_SUFFIX__ {{$}} +// PPC64:#define __INT8_C_SUFFIX__ // PPC64:#define __INT8_FMTd__ "hhd" // PPC64:#define __INT8_FMTi__ "hhi" // PPC64:#define __INT8_MAX__ 127 @@ -5358,7 +5372,7 @@ // PPC64:#define __PPC__ 1 // PPC64:#define __PTRDIFF_TYPE__ long int // PPC64:#define __PTRDIFF_WIDTH__ 64 -// PPC64:#define __REGISTER_PREFIX__ +// PPC64:#define __REGISTER_PREFIX__ // PPC64:#define __SCHAR_MAX__ 127 // PPC64:#define __SHRT_MAX__ 32767 // PPC64:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -5378,7 +5392,7 @@ // PPC64:#define __SIZE_MAX__ 18446744073709551615UL // PPC64:#define __SIZE_TYPE__ long unsigned int // PPC64:#define __SIZE_WIDTH__ 64 -// PPC64:#define __UINT16_C_SUFFIX__ {{$}} +// PPC64:#define __UINT16_C_SUFFIX__ // PPC64:#define __UINT16_MAX__ 65535 // PPC64:#define __UINT16_TYPE__ unsigned short // PPC64:#define __UINT32_C_SUFFIX__ U @@ -5387,7 +5401,7 @@ // PPC64:#define __UINT64_C_SUFFIX__ UL // PPC64:#define __UINT64_MAX__ 18446744073709551615UL // PPC64:#define __UINT64_TYPE__ long unsigned int -// PPC64:#define __UINT8_C_SUFFIX__ {{$}} +// PPC64:#define __UINT8_C_SUFFIX__ // PPC64:#define __UINT8_MAX__ 255 // PPC64:#define __UINT8_TYPE__ unsigned char // PPC64:#define __UINTMAX_C_SUFFIX__ UL @@ -5413,7 +5427,7 @@ // PPC64:#define __UINT_LEAST64_TYPE__ long unsigned int // PPC64:#define __UINT_LEAST8_MAX__ 255 // PPC64:#define __UINT_LEAST8_TYPE__ unsigned char -// PPC64:#define __USER_LABEL_PREFIX__ _ +// PPC64:#define __USER_LABEL_PREFIX__ // PPC64:#define __WCHAR_MAX__ 2147483647 // PPC64:#define __WCHAR_TYPE__ int // PPC64:#define __WCHAR_WIDTH__ 32 @@ -5422,7 +5436,7 @@ // PPC64:#define __ppc64__ 1 // PPC64:#define __ppc__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64LE %s // // PPC64LE:#define _ARCH_PPC 1 // PPC64LE:#define _ARCH_PPC64 1 @@ -5472,12 +5486,12 @@ // PPC64LE:#define __FLT_MIN_EXP__ (-125) // PPC64LE:#define __FLT_MIN__ 1.17549435e-38F // PPC64LE:#define __FLT_RADIX__ 2 -// PPC64LE:#define __INT16_C_SUFFIX__ {{$}} +// PPC64LE:#define __INT16_C_SUFFIX__ // PPC64LE:#define __INT16_FMTd__ "hd" // PPC64LE:#define __INT16_FMTi__ "hi" // PPC64LE:#define __INT16_MAX__ 32767 // PPC64LE:#define __INT16_TYPE__ short -// PPC64LE:#define __INT32_C_SUFFIX__ {{$}} +// PPC64LE:#define __INT32_C_SUFFIX__ // PPC64LE:#define __INT32_FMTd__ "d" // PPC64LE:#define __INT32_FMTi__ "i" // PPC64LE:#define __INT32_MAX__ 2147483647 @@ -5487,7 +5501,7 @@ // PPC64LE:#define __INT64_FMTi__ "li" // PPC64LE:#define __INT64_MAX__ 9223372036854775807L // PPC64LE:#define __INT64_TYPE__ long int -// PPC64LE:#define __INT8_C_SUFFIX__ {{$}} +// PPC64LE:#define __INT8_C_SUFFIX__ // PPC64LE:#define __INT8_FMTd__ "hhd" // PPC64LE:#define __INT8_FMTi__ "hhi" // PPC64LE:#define __INT8_MAX__ 127 @@ -5561,7 +5575,7 @@ // PPC64LE:#define __PPC__ 1 // PPC64LE:#define __PTRDIFF_TYPE__ long int // PPC64LE:#define __PTRDIFF_WIDTH__ 64 -// PPC64LE:#define __REGISTER_PREFIX__ +// PPC64LE:#define __REGISTER_PREFIX__ // PPC64LE:#define __SCHAR_MAX__ 127 // PPC64LE:#define __SHRT_MAX__ 32767 // PPC64LE:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -5581,7 +5595,7 @@ // PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL // PPC64LE:#define __SIZE_TYPE__ long unsigned int // PPC64LE:#define __SIZE_WIDTH__ 64 -// PPC64LE:#define __UINT16_C_SUFFIX__ {{$}} +// PPC64LE:#define __UINT16_C_SUFFIX__ // PPC64LE:#define __UINT16_MAX__ 65535 // PPC64LE:#define __UINT16_TYPE__ unsigned short // PPC64LE:#define __UINT32_C_SUFFIX__ U @@ -5590,7 +5604,7 @@ // PPC64LE:#define __UINT64_C_SUFFIX__ UL // PPC64LE:#define __UINT64_MAX__ 18446744073709551615UL // PPC64LE:#define __UINT64_TYPE__ long unsigned int -// PPC64LE:#define __UINT8_C_SUFFIX__ {{$}} +// PPC64LE:#define __UINT8_C_SUFFIX__ // PPC64LE:#define __UINT8_MAX__ 255 // PPC64LE:#define __UINT8_TYPE__ unsigned char // PPC64LE:#define __UINTMAX_C_SUFFIX__ UL @@ -5616,7 +5630,7 @@ // PPC64LE:#define __UINT_LEAST64_TYPE__ long unsigned int // PPC64LE:#define __UINT_LEAST8_MAX__ 255 // PPC64LE:#define __UINT_LEAST8_TYPE__ unsigned char -// PPC64LE:#define __USER_LABEL_PREFIX__ _ +// PPC64LE:#define __USER_LABEL_PREFIX__ // PPC64LE:#define __WCHAR_MAX__ 2147483647 // PPC64LE:#define __WCHAR_TYPE__ int // PPC64LE:#define __WCHAR_WIDTH__ 32 @@ -5625,7 +5639,7 @@ // PPC64LE:#define __ppc64__ 1 // PPC64LE:#define __ppc__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCA2Q %s // // PPCA2Q:#define _ARCH_A2 1 // PPCA2Q:#define _ARCH_A2Q 1 @@ -5633,33 +5647,33 @@ // PPCA2Q:#define _ARCH_PPC64 1 // PPCA2Q:#define _ARCH_QP 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCBGQ %s // // PPCBGQ:#define __THW_BLUEGENE__ 1 // PPCBGQ:#define __TOS_BGQ__ 1 // PPCBGQ:#define __bg__ 1 // PPCBGQ:#define __bgq__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC630 %s // // PPC630:#define _ARCH_630 1 // PPC630:#define _ARCH_PPC 1 // PPC630:#define _ARCH_PPC64 1 // PPC630:#define _ARCH_PPCGR 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR3 %s // // PPCPWR3:#define _ARCH_PPC 1 // PPCPWR3:#define _ARCH_PPC64 1 // PPCPWR3:#define _ARCH_PPCGR 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER3 %s // // PPCPOWER3:#define _ARCH_PPC 1 // PPCPOWER3:#define _ARCH_PPC64 1 // PPCPOWER3:#define _ARCH_PPCGR 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR4 %s // // PPCPWR4:#define _ARCH_PPC 1 // PPCPWR4:#define _ARCH_PPC64 1 @@ -5667,7 +5681,7 @@ // PPCPWR4:#define _ARCH_PPCSQ 1 // PPCPWR4:#define _ARCH_PWR4 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER4 %s // // PPCPOWER4:#define _ARCH_PPC 1 // PPCPOWER4:#define _ARCH_PPC64 1 @@ -5675,7 +5689,7 @@ // PPCPOWER4:#define _ARCH_PPCSQ 1 // PPCPOWER4:#define _ARCH_PWR4 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR5 %s // // PPCPWR5:#define _ARCH_PPC 1 // PPCPWR5:#define _ARCH_PPC64 1 @@ -5684,7 +5698,7 @@ // PPCPWR5:#define _ARCH_PWR4 1 // PPCPWR5:#define _ARCH_PWR5 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER5 %s // // PPCPOWER5:#define _ARCH_PPC 1 // PPCPOWER5:#define _ARCH_PPC64 1 @@ -5693,7 +5707,7 @@ // PPCPOWER5:#define _ARCH_PWR4 1 // PPCPOWER5:#define _ARCH_PWR5 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR5X %s // // PPCPWR5X:#define _ARCH_PPC 1 // PPCPWR5X:#define _ARCH_PPC64 1 @@ -5703,7 +5717,7 @@ // PPCPWR5X:#define _ARCH_PWR5 1 // PPCPWR5X:#define _ARCH_PWR5X 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER5X %s // // PPCPOWER5X:#define _ARCH_PPC 1 // PPCPOWER5X:#define _ARCH_PPC64 1 @@ -5713,7 +5727,7 @@ // PPCPOWER5X:#define _ARCH_PWR5 1 // PPCPOWER5X:#define _ARCH_PWR5X 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR6 %s // // PPCPWR6:#define _ARCH_PPC 1 // PPCPWR6:#define _ARCH_PPC64 1 @@ -5724,7 +5738,7 @@ // PPCPWR6:#define _ARCH_PWR5X 1 // PPCPWR6:#define _ARCH_PWR6 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER6 %s // // PPCPOWER6:#define _ARCH_PPC 1 // PPCPOWER6:#define _ARCH_PPC64 1 @@ -5735,7 +5749,7 @@ // PPCPOWER6:#define _ARCH_PWR5X 1 // PPCPOWER6:#define _ARCH_PWR6 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR6X %s // // PPCPWR6X:#define _ARCH_PPC 1 // PPCPWR6X:#define _ARCH_PPC64 1 @@ -5747,7 +5761,7 @@ // PPCPWR6X:#define _ARCH_PWR6 1 // PPCPWR6X:#define _ARCH_PWR6X 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER6X %s // // PPCPOWER6X:#define _ARCH_PPC 1 // PPCPOWER6X:#define _ARCH_PPC64 1 @@ -5759,7 +5773,7 @@ // PPCPOWER6X:#define _ARCH_PWR6 1 // PPCPOWER6X:#define _ARCH_PWR6X 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR7 %s // // PPCPWR7:#define _ARCH_PPC 1 // PPCPWR7:#define _ARCH_PPC64 1 @@ -5772,7 +5786,7 @@ // PPCPWR7:#define _ARCH_PWR6X 1 // PPCPWR7:#define _ARCH_PWR7 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER7 %s // // PPCPOWER7:#define _ARCH_PPC 1 // PPCPOWER7:#define _ARCH_PPC64 1 @@ -5785,7 +5799,7 @@ // PPCPOWER7:#define _ARCH_PWR6X 1 // PPCPOWER7:#define _ARCH_PWR7 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr8 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR8 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr8 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR8 %s // // PPCPWR8:#define _ARCH_PPC 1 // PPCPWR8:#define _ARCH_PPC64 1 @@ -5799,7 +5813,7 @@ // PPCPWR8:#define _ARCH_PWR7 1 // PPCPWR8:#define _ARCH_PWR8 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power8 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER8 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power8 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER8 %s // // PPCPOWER8:#define _ARCH_PPC 1 // PPCPOWER8:#define _ARCH_PPC64 1 @@ -5813,7 +5827,38 @@ // PPCPOWER8:#define _ARCH_PWR7 1 // PPCPOWER8:#define _ARCH_PWR8 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr9 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR9 %s +// +// PPCPWR9:#define _ARCH_PPC 1 +// PPCPWR9:#define _ARCH_PPC64 1 +// PPCPWR9:#define _ARCH_PPCGR 1 +// PPCPWR9:#define _ARCH_PPCSQ 1 +// PPCPWR9:#define _ARCH_PWR4 1 +// PPCPWR9:#define _ARCH_PWR5 1 +// PPCPWR9:#define _ARCH_PWR5X 1 +// PPCPWR9:#define _ARCH_PWR6 1 +// PPCPWR9:#define _ARCH_PWR6X 1 +// PPCPWR9:#define _ARCH_PWR7 1 +// PPCPWR9:#define _ARCH_PWR9 1 +// +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power9 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER9 %s +// +// PPCPOWER9:#define _ARCH_PPC 1 +// PPCPOWER9:#define _ARCH_PPC64 1 +// PPCPOWER9:#define _ARCH_PPCGR 1 +// PPCPOWER9:#define _ARCH_PPCSQ 1 +// PPCPOWER9:#define _ARCH_PWR4 1 +// PPCPOWER9:#define _ARCH_PWR5 1 +// PPCPOWER9:#define _ARCH_PWR5X 1 +// PPCPOWER9:#define _ARCH_PWR6 1 +// PPCPOWER9:#define _ARCH_PWR6X 1 +// 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 +// 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 // // PPC64-LINUX:#define _ARCH_PPC 1 // PPC64-LINUX:#define _ARCH_PPC64 1 @@ -5855,12 +5900,12 @@ // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125) // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F // PPC64-LINUX:#define __FLT_RADIX__ 2 -// PPC64-LINUX:#define __INT16_C_SUFFIX__ {{$}} +// PPC64-LINUX:#define __INT16_C_SUFFIX__ // PPC64-LINUX:#define __INT16_FMTd__ "hd" // PPC64-LINUX:#define __INT16_FMTi__ "hi" // PPC64-LINUX:#define __INT16_MAX__ 32767 // PPC64-LINUX:#define __INT16_TYPE__ short -// PPC64-LINUX:#define __INT32_C_SUFFIX__ {{$}} +// PPC64-LINUX:#define __INT32_C_SUFFIX__ // PPC64-LINUX:#define __INT32_FMTd__ "d" // PPC64-LINUX:#define __INT32_FMTi__ "i" // PPC64-LINUX:#define __INT32_MAX__ 2147483647 @@ -5870,7 +5915,7 @@ // PPC64-LINUX:#define __INT64_FMTi__ "li" // PPC64-LINUX:#define __INT64_MAX__ 9223372036854775807L // PPC64-LINUX:#define __INT64_TYPE__ long int -// PPC64-LINUX:#define __INT8_C_SUFFIX__ {{$}} +// PPC64-LINUX:#define __INT8_C_SUFFIX__ // PPC64-LINUX:#define __INT8_FMTd__ "hhd" // PPC64-LINUX:#define __INT8_FMTi__ "hhi" // PPC64-LINUX:#define __INT8_MAX__ 127 @@ -5963,7 +6008,7 @@ // PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int // PPC64-LINUX:#define __SIZE_WIDTH__ 64 -// PPC64-LINUX:#define __UINT16_C_SUFFIX__ {{$}} +// PPC64-LINUX:#define __UINT16_C_SUFFIX__ // PPC64-LINUX:#define __UINT16_MAX__ 65535 // PPC64-LINUX:#define __UINT16_TYPE__ unsigned short // PPC64-LINUX:#define __UINT32_C_SUFFIX__ U @@ -5972,7 +6017,7 @@ // PPC64-LINUX:#define __UINT64_C_SUFFIX__ UL // PPC64-LINUX:#define __UINT64_MAX__ 18446744073709551615UL // PPC64-LINUX:#define __UINT64_TYPE__ long unsigned int -// PPC64-LINUX:#define __UINT8_C_SUFFIX__ {{$}} +// PPC64-LINUX:#define __UINT8_C_SUFFIX__ // PPC64-LINUX:#define __UINT8_MAX__ 255 // PPC64-LINUX:#define __UINT8_TYPE__ unsigned char // PPC64-LINUX:#define __UINTMAX_C_SUFFIX__ UL @@ -6010,17 +6055,17 @@ // PPC64-LINUX:#define __ppc64__ 1 // PPC64-LINUX:#define __ppc__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu < /dev/null | FileCheck -check-prefix PPC64-ELFv1 %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -target-abi elfv1 < /dev/null | FileCheck -check-prefix PPC64-ELFv1 %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -target-abi elfv1-qpx < /dev/null | FileCheck -check-prefix PPC64-ELFv1 %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -check-prefix PPC64-ELFv2 %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu < /dev/null | FileCheck -check-prefix PPC64-ELFv2 %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < /dev/null | FileCheck -check-prefix PPC64-ELFv1 %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -check-prefix PPC64-ELFv2 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -target-abi elfv1 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -target-abi elfv1-qpx < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s // PPC64-ELFv1:#define _CALL_ELF 1 // PPC64-ELFv2:#define _CALL_ELF 2 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC %s // // PPC:#define _ARCH_PPC 1 // PPC:#define _BIG_ENDIAN 1 @@ -6061,12 +6106,12 @@ // PPC:#define __FLT_MIN_EXP__ (-125) // PPC:#define __FLT_MIN__ 1.17549435e-38F // PPC:#define __FLT_RADIX__ 2 -// PPC:#define __INT16_C_SUFFIX__ {{$}} +// PPC:#define __INT16_C_SUFFIX__ // PPC:#define __INT16_FMTd__ "hd" // PPC:#define __INT16_FMTi__ "hi" // PPC:#define __INT16_MAX__ 32767 // PPC:#define __INT16_TYPE__ short -// PPC:#define __INT32_C_SUFFIX__ {{$}} +// PPC:#define __INT32_C_SUFFIX__ // PPC:#define __INT32_FMTd__ "d" // PPC:#define __INT32_FMTi__ "i" // PPC:#define __INT32_MAX__ 2147483647 @@ -6076,7 +6121,7 @@ // PPC:#define __INT64_FMTi__ "lli" // PPC:#define __INT64_MAX__ 9223372036854775807LL // PPC:#define __INT64_TYPE__ long long int -// PPC:#define __INT8_C_SUFFIX__ {{$}} +// PPC:#define __INT8_C_SUFFIX__ // PPC:#define __INT8_FMTd__ "hhd" // PPC:#define __INT8_FMTi__ "hhi" // PPC:#define __INT8_MAX__ 127 @@ -6148,7 +6193,7 @@ // PPC:#define __PPC__ 1 // PPC:#define __PTRDIFF_TYPE__ long int // PPC:#define __PTRDIFF_WIDTH__ 32 -// PPC:#define __REGISTER_PREFIX__ +// PPC:#define __REGISTER_PREFIX__ // PPC:#define __SCHAR_MAX__ 127 // PPC:#define __SHRT_MAX__ 32767 // PPC:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -6165,10 +6210,10 @@ // PPC:#define __SIZEOF_SIZE_T__ 4 // PPC:#define __SIZEOF_WCHAR_T__ 4 // PPC:#define __SIZEOF_WINT_T__ 4 -// PPC:#define __SIZE_MAX__ 4294967295U +// PPC:#define __SIZE_MAX__ 4294967295UL // PPC:#define __SIZE_TYPE__ long unsigned int // PPC:#define __SIZE_WIDTH__ 32 -// PPC:#define __UINT16_C_SUFFIX__ {{$}} +// PPC:#define __UINT16_C_SUFFIX__ // PPC:#define __UINT16_MAX__ 65535 // PPC:#define __UINT16_TYPE__ unsigned short // PPC:#define __UINT32_C_SUFFIX__ U @@ -6177,14 +6222,14 @@ // PPC:#define __UINT64_C_SUFFIX__ ULL // PPC:#define __UINT64_MAX__ 18446744073709551615ULL // PPC:#define __UINT64_TYPE__ long long unsigned int -// PPC:#define __UINT8_C_SUFFIX__ {{$}} +// PPC:#define __UINT8_C_SUFFIX__ // PPC:#define __UINT8_MAX__ 255 // PPC:#define __UINT8_TYPE__ unsigned char // PPC:#define __UINTMAX_C_SUFFIX__ ULL // PPC:#define __UINTMAX_MAX__ 18446744073709551615ULL // PPC:#define __UINTMAX_TYPE__ long long unsigned int // PPC:#define __UINTMAX_WIDTH__ 64 -// PPC:#define __UINTPTR_MAX__ 4294967295U +// PPC:#define __UINTPTR_MAX__ 4294967295UL // PPC:#define __UINTPTR_TYPE__ long unsigned int // PPC:#define __UINTPTR_WIDTH__ 32 // PPC:#define __UINT_FAST16_MAX__ 65535 @@ -6203,7 +6248,7 @@ // PPC:#define __UINT_LEAST64_TYPE__ long long unsigned int // PPC:#define __UINT_LEAST8_MAX__ 255 // PPC:#define __UINT_LEAST8_TYPE__ unsigned char -// PPC:#define __USER_LABEL_PREFIX__ _ +// PPC:#define __USER_LABEL_PREFIX__ // PPC:#define __WCHAR_MAX__ 2147483647 // PPC:#define __WCHAR_TYPE__ int // PPC:#define __WCHAR_WIDTH__ 32 @@ -6211,7 +6256,7 @@ // PPC:#define __WINT_WIDTH__ 32 // PPC:#define __ppc__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC-LINUX %s // // PPC-LINUX:#define _ARCH_PPC 1 // PPC-LINUX:#define _BIG_ENDIAN 1 @@ -6252,12 +6297,12 @@ // PPC-LINUX:#define __FLT_MIN_EXP__ (-125) // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F // PPC-LINUX:#define __FLT_RADIX__ 2 -// PPC-LINUX:#define __INT16_C_SUFFIX__ {{$}} +// PPC-LINUX:#define __INT16_C_SUFFIX__ // PPC-LINUX:#define __INT16_FMTd__ "hd" // PPC-LINUX:#define __INT16_FMTi__ "hi" // PPC-LINUX:#define __INT16_MAX__ 32767 // PPC-LINUX:#define __INT16_TYPE__ short -// PPC-LINUX:#define __INT32_C_SUFFIX__ {{$}} +// PPC-LINUX:#define __INT32_C_SUFFIX__ // PPC-LINUX:#define __INT32_FMTd__ "d" // PPC-LINUX:#define __INT32_FMTi__ "i" // PPC-LINUX:#define __INT32_MAX__ 2147483647 @@ -6267,7 +6312,7 @@ // PPC-LINUX:#define __INT64_FMTi__ "lli" // PPC-LINUX:#define __INT64_MAX__ 9223372036854775807LL // PPC-LINUX:#define __INT64_TYPE__ long long int -// PPC-LINUX:#define __INT8_C_SUFFIX__ {{$}} +// PPC-LINUX:#define __INT8_C_SUFFIX__ // PPC-LINUX:#define __INT8_FMTd__ "hhd" // PPC-LINUX:#define __INT8_FMTi__ "hhi" // PPC-LINUX:#define __INT8_MAX__ 127 @@ -6359,7 +6404,7 @@ // PPC-LINUX:#define __SIZE_MAX__ 4294967295U // PPC-LINUX:#define __SIZE_TYPE__ unsigned int // PPC-LINUX:#define __SIZE_WIDTH__ 32 -// PPC-LINUX:#define __UINT16_C_SUFFIX__ {{$}} +// PPC-LINUX:#define __UINT16_C_SUFFIX__ // PPC-LINUX:#define __UINT16_MAX__ 65535 // PPC-LINUX:#define __UINT16_TYPE__ unsigned short // PPC-LINUX:#define __UINT32_C_SUFFIX__ U @@ -6368,7 +6413,7 @@ // PPC-LINUX:#define __UINT64_C_SUFFIX__ ULL // PPC-LINUX:#define __UINT64_MAX__ 18446744073709551615ULL // PPC-LINUX:#define __UINT64_TYPE__ long long unsigned int -// PPC-LINUX:#define __UINT8_C_SUFFIX__ {{$}} +// PPC-LINUX:#define __UINT8_C_SUFFIX__ // PPC-LINUX:#define __UINT8_MAX__ 255 // PPC-LINUX:#define __UINT8_TYPE__ unsigned char // PPC-LINUX:#define __UINTMAX_C_SUFFIX__ ULL @@ -6404,7 +6449,7 @@ // PPC-LINUX:#define __powerpc__ 1 // PPC-LINUX:#define __ppc__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -match-full-lines -check-prefix PPC-DARWIN %s // // PPC-DARWIN:#define _ARCH_PPC 1 // PPC-DARWIN:#define _BIG_ENDIAN 1 @@ -6443,12 +6488,12 @@ // PPC-DARWIN:#define __FLT_MIN_EXP__ (-125) // PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F // PPC-DARWIN:#define __FLT_RADIX__ 2 -// PPC-DARWIN:#define __INT16_C_SUFFIX__ {{$}} +// PPC-DARWIN:#define __INT16_C_SUFFIX__ // PPC-DARWIN:#define __INT16_FMTd__ "hd" // PPC-DARWIN:#define __INT16_FMTi__ "hi" // PPC-DARWIN:#define __INT16_MAX__ 32767 // PPC-DARWIN:#define __INT16_TYPE__ short -// PPC-DARWIN:#define __INT32_C_SUFFIX__ {{$}} +// PPC-DARWIN:#define __INT32_C_SUFFIX__ // PPC-DARWIN:#define __INT32_FMTd__ "d" // PPC-DARWIN:#define __INT32_FMTi__ "i" // PPC-DARWIN:#define __INT32_MAX__ 2147483647 @@ -6458,7 +6503,7 @@ // PPC-DARWIN:#define __INT64_FMTi__ "lli" // PPC-DARWIN:#define __INT64_MAX__ 9223372036854775807LL // PPC-DARWIN:#define __INT64_TYPE__ long long int -// PPC-DARWIN:#define __INT8_C_SUFFIX__ {{$}} +// PPC-DARWIN:#define __INT8_C_SUFFIX__ // PPC-DARWIN:#define __INT8_FMTd__ "hhd" // PPC-DARWIN:#define __INT8_FMTi__ "hhi" // PPC-DARWIN:#define __INT8_MAX__ 127 @@ -6533,7 +6578,7 @@ // PPC-DARWIN:#define __PPC__ 1 // PPC-DARWIN:#define __PTRDIFF_TYPE__ int // PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32 -// PPC-DARWIN:#define __REGISTER_PREFIX__ +// PPC-DARWIN:#define __REGISTER_PREFIX__ // PPC-DARWIN:#define __SCHAR_MAX__ 127 // PPC-DARWIN:#define __SHRT_MAX__ 32767 // PPC-DARWIN:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -6556,7 +6601,7 @@ // PPC-DARWIN:#define __STDC_HOSTED__ 0 // PPC-DARWIN:#define __STDC_VERSION__ 201112L // PPC-DARWIN:#define __STDC__ 1 -// PPC-DARWIN:#define __UINT16_C_SUFFIX__ {{$}} +// PPC-DARWIN:#define __UINT16_C_SUFFIX__ // PPC-DARWIN:#define __UINT16_MAX__ 65535 // PPC-DARWIN:#define __UINT16_TYPE__ unsigned short // PPC-DARWIN:#define __UINT32_C_SUFFIX__ U @@ -6565,14 +6610,14 @@ // PPC-DARWIN:#define __UINT64_C_SUFFIX__ ULL // PPC-DARWIN:#define __UINT64_MAX__ 18446744073709551615ULL // PPC-DARWIN:#define __UINT64_TYPE__ long long unsigned int -// PPC-DARWIN:#define __UINT8_C_SUFFIX__ {{$}} +// PPC-DARWIN:#define __UINT8_C_SUFFIX__ // PPC-DARWIN:#define __UINT8_MAX__ 255 // PPC-DARWIN:#define __UINT8_TYPE__ unsigned char // PPC-DARWIN:#define __UINTMAX_C_SUFFIX__ ULL // PPC-DARWIN:#define __UINTMAX_MAX__ 18446744073709551615ULL // PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int // PPC-DARWIN:#define __UINTMAX_WIDTH__ 64 -// PPC-DARWIN:#define __UINTPTR_MAX__ 4294967295U +// PPC-DARWIN:#define __UINTPTR_MAX__ 4294967295UL // PPC-DARWIN:#define __UINTPTR_TYPE__ long unsigned int // PPC-DARWIN:#define __UINTPTR_WIDTH__ 32 // PPC-DARWIN:#define __UINT_FAST16_MAX__ 65535 @@ -6600,8 +6645,8 @@ // PPC-DARWIN:#define __powerpc__ 1 // PPC-DARWIN:#define __ppc__ 1 // -// RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=amdgcn < /dev/null | FileCheck -check-prefix AMDGCN --check-prefix AMDGPU %s -// RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=r600 -target-cpu caicos < /dev/null | FileCheck --check-prefix AMDGPU %s +// RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=amdgcn < /dev/null | FileCheck -match-full-lines -check-prefix AMDGCN --check-prefix AMDGPU %s +// RUN: %clang_cc1 -x cl -E -dM -ffreestanding -triple=r600 -target-cpu caicos < /dev/null | FileCheck -match-full-lines --check-prefix AMDGPU %s // // AMDGPU:#define cl_khr_byte_addressable_store 1 // AMDGCN:#define cl_khr_fp64 1 @@ -6610,7 +6655,7 @@ // AMDGPU:#define cl_khr_local_int32_base_atomics 1 // AMDGPU:#define cl_khr_local_int32_extended_atomics 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix S390X %s // // S390X:#define __BIGGEST_ALIGNMENT__ 8 // S390X:#define __CHAR16_TYPE__ unsigned short @@ -6646,12 +6691,12 @@ // S390X:#define __FLT_MIN_EXP__ (-125) // S390X:#define __FLT_MIN__ 1.17549435e-38F // S390X:#define __FLT_RADIX__ 2 -// S390X:#define __INT16_C_SUFFIX__ {{$}} +// S390X:#define __INT16_C_SUFFIX__ // S390X:#define __INT16_FMTd__ "hd" // S390X:#define __INT16_FMTi__ "hi" // S390X:#define __INT16_MAX__ 32767 // S390X:#define __INT16_TYPE__ short -// S390X:#define __INT32_C_SUFFIX__ {{$}} +// S390X:#define __INT32_C_SUFFIX__ // S390X:#define __INT32_FMTd__ "d" // S390X:#define __INT32_FMTi__ "i" // S390X:#define __INT32_MAX__ 2147483647 @@ -6661,7 +6706,7 @@ // S390X:#define __INT64_FMTi__ "li" // S390X:#define __INT64_MAX__ 9223372036854775807L // S390X:#define __INT64_TYPE__ long int -// S390X:#define __INT8_C_SUFFIX__ {{$}} +// S390X:#define __INT8_C_SUFFIX__ // S390X:#define __INT8_FMTd__ "hhd" // S390X:#define __INT8_FMTi__ "hhi" // S390X:#define __INT8_MAX__ 127 @@ -6747,7 +6792,7 @@ // S390X:#define __SIZEOF_WINT_T__ 4 // S390X:#define __SIZE_TYPE__ long unsigned int // S390X:#define __SIZE_WIDTH__ 64 -// S390X:#define __UINT16_C_SUFFIX__ {{$}} +// S390X:#define __UINT16_C_SUFFIX__ // S390X:#define __UINT16_MAX__ 65535 // S390X:#define __UINT16_TYPE__ unsigned short // S390X:#define __UINT32_C_SUFFIX__ U @@ -6756,7 +6801,7 @@ // S390X:#define __UINT64_C_SUFFIX__ UL // S390X:#define __UINT64_MAX__ 18446744073709551615UL // S390X:#define __UINT64_TYPE__ long unsigned int -// S390X:#define __UINT8_C_SUFFIX__ {{$}} +// S390X:#define __UINT8_C_SUFFIX__ // S390X:#define __UINT8_MAX__ 255 // S390X:#define __UINT8_TYPE__ unsigned char // S390X:#define __UINTMAX_C_SUFFIX__ UL @@ -6782,7 +6827,7 @@ // S390X:#define __UINT_LEAST64_TYPE__ long unsigned int // S390X:#define __UINT_LEAST8_MAX__ 255 // S390X:#define __UINT_LEAST8_TYPE__ unsigned char -// S390X:#define __USER_LABEL_PREFIX__ _ +// S390X:#define __USER_LABEL_PREFIX__ // S390X:#define __WCHAR_MAX__ 2147483647 // S390X:#define __WCHAR_TYPE__ int // S390X:#define __WCHAR_WIDTH__ 32 @@ -6791,7 +6836,10 @@ // S390X:#define __s390__ 1 // S390X:#define __s390x__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-DEFAULT %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-rtems-elf < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-DEFAULT %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-netbsd < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-NETOPENBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-openbsd < /dev/null | FileCheck -match-full-lines -check-prefix SPARC -check-prefix SPARC-NETOPENBSD %s // // SPARC-NOT:#define _LP64 // SPARC:#define __BIGGEST_ALIGNMENT__ 8 @@ -6829,12 +6877,12 @@ // SPARC:#define __FLT_MIN_EXP__ (-125) // SPARC:#define __FLT_MIN__ 1.17549435e-38F // SPARC:#define __FLT_RADIX__ 2 -// SPARC:#define __INT16_C_SUFFIX__ {{$}} +// SPARC:#define __INT16_C_SUFFIX__ // SPARC:#define __INT16_FMTd__ "hd" // SPARC:#define __INT16_FMTi__ "hi" // SPARC:#define __INT16_MAX__ 32767 // SPARC:#define __INT16_TYPE__ short -// SPARC:#define __INT32_C_SUFFIX__ {{$}} +// SPARC:#define __INT32_C_SUFFIX__ // SPARC:#define __INT32_FMTd__ "d" // SPARC:#define __INT32_FMTi__ "i" // SPARC:#define __INT32_MAX__ 2147483647 @@ -6844,7 +6892,7 @@ // SPARC:#define __INT64_FMTi__ "lli" // SPARC:#define __INT64_MAX__ 9223372036854775807LL // SPARC:#define __INT64_TYPE__ long long int -// SPARC:#define __INT8_C_SUFFIX__ {{$}} +// SPARC:#define __INT8_C_SUFFIX__ // SPARC:#define __INT8_FMTd__ "hhd" // SPARC:#define __INT8_FMTi__ "hhi" // SPARC:#define __INT8_MAX__ 127 @@ -6855,10 +6903,14 @@ // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL // SPARC:#define __INTMAX_TYPE__ long long int // SPARC:#define __INTMAX_WIDTH__ 64 -// SPARC:#define __INTPTR_FMTd__ "d" -// SPARC:#define __INTPTR_FMTi__ "i" -// SPARC:#define __INTPTR_MAX__ 2147483647 -// SPARC:#define __INTPTR_TYPE__ int +// SPARC-DEFAULT:#define __INTPTR_FMTd__ "d" +// SPARC-DEFAULT:#define __INTPTR_FMTi__ "i" +// SPARC-DEFAULT:#define __INTPTR_MAX__ 2147483647 +// SPARC-DEFAULT:#define __INTPTR_TYPE__ int +// SPARC-NETOPENBSD:#define __INTPTR_FMTd__ "ld" +// SPARC-NETOPENBSD:#define __INTPTR_FMTi__ "li" +// SPARC-NETOPENBSD:#define __INTPTR_MAX__ 2147483647L +// SPARC-NETOPENBSD:#define __INTPTR_TYPE__ long int // SPARC:#define __INTPTR_WIDTH__ 32 // SPARC:#define __INT_FAST16_FMTd__ "hd" // SPARC:#define __INT_FAST16_FMTi__ "hi" @@ -6910,7 +6962,8 @@ // SPARC:#define __LONG_MAX__ 2147483647L // SPARC-NOT:#define __LP64__ // SPARC:#define __POINTER_WIDTH__ 32 -// SPARC:#define __PTRDIFF_TYPE__ int +// SPARC-DEFAULT:#define __PTRDIFF_TYPE__ int +// SPARC-NETOPENBSD:#define __PTRDIFF_TYPE__ long int // SPARC:#define __PTRDIFF_WIDTH__ 32 // SPARC:#define __REGISTER_PREFIX__ // SPARC:#define __SCHAR_MAX__ 127 @@ -6929,10 +6982,12 @@ // SPARC:#define __SIZEOF_SIZE_T__ 4 // SPARC:#define __SIZEOF_WCHAR_T__ 4 // SPARC:#define __SIZEOF_WINT_T__ 4 -// SPARC:#define __SIZE_MAX__ 4294967295U -// SPARC:#define __SIZE_TYPE__ unsigned int +// SPARC-DEFAULT:#define __SIZE_MAX__ 4294967295U +// SPARC-DEFAULT:#define __SIZE_TYPE__ unsigned int +// SPARC-NETOPENBSD:#define __SIZE_MAX__ 4294967295UL +// SPARC-NETOPENBSD:#define __SIZE_TYPE__ long unsigned int // SPARC:#define __SIZE_WIDTH__ 32 -// SPARC:#define __UINT16_C_SUFFIX__ {{$}} +// SPARC:#define __UINT16_C_SUFFIX__ // SPARC:#define __UINT16_MAX__ 65535 // SPARC:#define __UINT16_TYPE__ unsigned short // SPARC:#define __UINT32_C_SUFFIX__ U @@ -6941,15 +6996,17 @@ // SPARC:#define __UINT64_C_SUFFIX__ ULL // SPARC:#define __UINT64_MAX__ 18446744073709551615ULL // SPARC:#define __UINT64_TYPE__ long long unsigned int -// SPARC:#define __UINT8_C_SUFFIX__ {{$}} +// SPARC:#define __UINT8_C_SUFFIX__ // SPARC:#define __UINT8_MAX__ 255 // SPARC:#define __UINT8_TYPE__ unsigned char // SPARC:#define __UINTMAX_C_SUFFIX__ ULL // SPARC:#define __UINTMAX_MAX__ 18446744073709551615ULL // SPARC:#define __UINTMAX_TYPE__ long long unsigned int // SPARC:#define __UINTMAX_WIDTH__ 64 -// SPARC:#define __UINTPTR_MAX__ 4294967295U -// SPARC:#define __UINTPTR_TYPE__ unsigned int +// SPARC-DEFAULT:#define __UINTPTR_MAX__ 4294967295U +// SPARC-DEFAULT:#define __UINTPTR_TYPE__ unsigned int +// SPARC-NETOPENBSD:#define __UINTPTR_MAX__ 4294967295UL +// SPARC-NETOPENBSD:#define __UINTPTR_TYPE__ long unsigned int // SPARC:#define __UINTPTR_WIDTH__ 32 // SPARC:#define __UINT_FAST16_MAX__ 65535 // SPARC:#define __UINT_FAST16_TYPE__ unsigned short @@ -6967,8 +7024,8 @@ // SPARC:#define __UINT_LEAST64_TYPE__ long long unsigned int // SPARC:#define __UINT_LEAST8_MAX__ 255 // SPARC:#define __UINT_LEAST8_TYPE__ unsigned char -// SPARC:#define __USER_LABEL_PREFIX__ _ -// SPARC:#define __VERSION__ "4.2.1 Compatible +// SPARC:#define __USER_LABEL_PREFIX__ +// SPARC:#define __VERSION__ "4.2.1 Compatible{{.*}} // SPARC:#define __WCHAR_MAX__ 2147483647 // SPARC:#define __WCHAR_TYPE__ int // SPARC:#define __WCHAR_WIDTH__ 32 @@ -6978,18 +7035,8 @@ // SPARC:#define __sparc__ 1 // SPARC:#define __sparcv8 1 // SPARC:#define sparc 1 -// -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-netbsd < /dev/null | FileCheck -check-prefix SPARC-NETOPENBSD %s -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-openbsd < /dev/null | FileCheck -check-prefix SPARC-NETOPENBSD %s -// SPARC-NETOPENBSD:#define __INTPTR_FMTd__ "ld" -// SPARC-NETOPENBSD:#define __INTPTR_FMTi__ "li" -// SPARC-NETOPENBSD:#define __INTPTR_MAX__ 2147483647L -// SPARC-NETOPENBSD:#define __INTPTR_TYPE__ long int -// SPARC-NETOPENBSD:#define __PTRDIFF_TYPE__ long int -// SPARC-NETOPENBSD:#define __SIZE_TYPE__ long unsigned int -// SPARC-NETOPENBSD:#define __UINTPTR_TYPE__ long unsigned int -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -match-full-lines -check-prefix TCE %s // // TCE-NOT:#define _LP64 // TCE:#define __BIGGEST_ALIGNMENT__ 4 @@ -7027,17 +7074,17 @@ // TCE:#define __FLT_MIN_EXP__ (-125) // TCE:#define __FLT_MIN__ 1.17549435e-38F // TCE:#define __FLT_RADIX__ 2 -// TCE:#define __INT16_C_SUFFIX__ {{$}} +// TCE:#define __INT16_C_SUFFIX__ // TCE:#define __INT16_FMTd__ "hd" // TCE:#define __INT16_FMTi__ "hi" // TCE:#define __INT16_MAX__ 32767 // TCE:#define __INT16_TYPE__ short -// TCE:#define __INT32_C_SUFFIX__ {{$}} +// TCE:#define __INT32_C_SUFFIX__ // TCE:#define __INT32_FMTd__ "d" // TCE:#define __INT32_FMTi__ "i" // TCE:#define __INT32_MAX__ 2147483647 // TCE:#define __INT32_TYPE__ int -// TCE:#define __INT8_C_SUFFIX__ {{$}} +// TCE:#define __INT8_C_SUFFIX__ // TCE:#define __INT8_FMTd__ "hhd" // TCE:#define __INT8_FMTi__ "hhi" // TCE:#define __INT8_MAX__ 127 @@ -7118,13 +7165,13 @@ // TCE:#define __SIZE_WIDTH__ 32 // TCE:#define __TCE_V1__ 1 // TCE:#define __TCE__ 1 -// TCE:#define __UINT16_C_SUFFIX__ {{$}} +// TCE:#define __UINT16_C_SUFFIX__ // TCE:#define __UINT16_MAX__ 65535 // TCE:#define __UINT16_TYPE__ unsigned short // TCE:#define __UINT32_C_SUFFIX__ U // TCE:#define __UINT32_MAX__ 4294967295U // TCE:#define __UINT32_TYPE__ unsigned int -// TCE:#define __UINT8_C_SUFFIX__ {{$}} +// TCE:#define __UINT8_C_SUFFIX__ // TCE:#define __UINT8_MAX__ 255 // TCE:#define __UINT8_TYPE__ unsigned char // TCE:#define __UINTMAX_C_SUFFIX__ UL @@ -7146,7 +7193,7 @@ // TCE:#define __UINT_LEAST32_TYPE__ unsigned int // TCE:#define __UINT_LEAST8_MAX__ 255 // TCE:#define __UINT_LEAST8_TYPE__ unsigned char -// TCE:#define __USER_LABEL_PREFIX__ _ +// TCE:#define __USER_LABEL_PREFIX__ // TCE:#define __WCHAR_MAX__ 2147483647 // TCE:#define __WCHAR_TYPE__ int // TCE:#define __WCHAR_WIDTH__ 32 @@ -7156,7 +7203,7 @@ // TCE:#define __tce__ 1 // TCE:#define tce 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix X86_64 %s // // X86_64:#define _LP64 1 // X86_64-NOT:#define _LP32 1 @@ -7194,12 +7241,12 @@ // X86_64:#define __FLT_MIN_EXP__ (-125) // X86_64:#define __FLT_MIN__ 1.17549435e-38F // X86_64:#define __FLT_RADIX__ 2 -// X86_64:#define __INT16_C_SUFFIX__ {{$}} +// X86_64:#define __INT16_C_SUFFIX__ // X86_64:#define __INT16_FMTd__ "hd" // X86_64:#define __INT16_FMTi__ "hi" // X86_64:#define __INT16_MAX__ 32767 // X86_64:#define __INT16_TYPE__ short -// X86_64:#define __INT32_C_SUFFIX__ {{$}} +// X86_64:#define __INT32_C_SUFFIX__ // X86_64:#define __INT32_FMTd__ "d" // X86_64:#define __INT32_FMTi__ "i" // X86_64:#define __INT32_MAX__ 2147483647 @@ -7209,7 +7256,7 @@ // X86_64:#define __INT64_FMTi__ "li" // X86_64:#define __INT64_MAX__ 9223372036854775807L // X86_64:#define __INT64_TYPE__ long int -// X86_64:#define __INT8_C_SUFFIX__ {{$}} +// X86_64:#define __INT8_C_SUFFIX__ // X86_64:#define __INT8_FMTd__ "hhd" // X86_64:#define __INT8_FMTi__ "hhi" // X86_64:#define __INT8_MAX__ 127 @@ -7281,7 +7328,7 @@ // X86_64:#define __POINTER_WIDTH__ 64 // X86_64:#define __PTRDIFF_TYPE__ long int // X86_64:#define __PTRDIFF_WIDTH__ 64 -// X86_64:#define __REGISTER_PREFIX__ +// X86_64:#define __REGISTER_PREFIX__ // X86_64:#define __SCHAR_MAX__ 127 // X86_64:#define __SHRT_MAX__ 32767 // X86_64:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -7305,7 +7352,7 @@ // X86_64:#define __SSE2__ 1 // X86_64:#define __SSE_MATH__ 1 // X86_64:#define __SSE__ 1 -// X86_64:#define __UINT16_C_SUFFIX__ {{$}} +// X86_64:#define __UINT16_C_SUFFIX__ // X86_64:#define __UINT16_MAX__ 65535 // X86_64:#define __UINT16_TYPE__ unsigned short // X86_64:#define __UINT32_C_SUFFIX__ U @@ -7314,7 +7361,7 @@ // X86_64:#define __UINT64_C_SUFFIX__ UL // X86_64:#define __UINT64_MAX__ 18446744073709551615UL // X86_64:#define __UINT64_TYPE__ long unsigned int -// X86_64:#define __UINT8_C_SUFFIX__ {{$}} +// X86_64:#define __UINT8_C_SUFFIX__ // X86_64:#define __UINT8_MAX__ 255 // X86_64:#define __UINT8_TYPE__ unsigned char // X86_64:#define __UINTMAX_C_SUFFIX__ UL @@ -7340,7 +7387,7 @@ // X86_64:#define __UINT_LEAST64_TYPE__ long unsigned int // X86_64:#define __UINT_LEAST8_MAX__ 255 // X86_64:#define __UINT_LEAST8_TYPE__ unsigned char -// X86_64:#define __USER_LABEL_PREFIX__ _ +// X86_64:#define __USER_LABEL_PREFIX__ // X86_64:#define __WCHAR_MAX__ 2147483647 // X86_64:#define __WCHAR_TYPE__ int // X86_64:#define __WCHAR_WIDTH__ 32 @@ -7351,14 +7398,14 @@ // X86_64:#define __x86_64 1 // X86_64:#define __x86_64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64h-none-none < /dev/null | FileCheck -check-prefix X86_64H %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64h-none-none < /dev/null | FileCheck -match-full-lines -check-prefix X86_64H %s // // X86_64H:#define __x86_64 1 // X86_64H:#define __x86_64__ 1 // X86_64H:#define __x86_64h 1 // X86_64H:#define __x86_64h__ 1 -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none-gnux32 < /dev/null | FileCheck -check-prefix X32 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none-gnux32 < /dev/null | FileCheck -match-full-lines -check-prefix X32 %s // // X32:#define _ILP32 1 // X32-NOT:#define _LP64 1 @@ -7398,22 +7445,22 @@ // X32:#define __FLT_RADIX__ 2 // X32:#define __ILP32__ 1 // X32-NOT:#define __LP64__ 1 -// X32:#define __INT16_C_SUFFIX__ {{$}} +// X32:#define __INT16_C_SUFFIX__ // X32:#define __INT16_FMTd__ "hd" // X32:#define __INT16_FMTi__ "hi" // X32:#define __INT16_MAX__ 32767 // X32:#define __INT16_TYPE__ short -// X32:#define __INT32_C_SUFFIX__ {{$}} +// X32:#define __INT32_C_SUFFIX__ // X32:#define __INT32_FMTd__ "d" // X32:#define __INT32_FMTi__ "i" // X32:#define __INT32_MAX__ 2147483647 // X32:#define __INT32_TYPE__ int -// X32:#define __INT64_C_SUFFIX__ L +// X32:#define __INT64_C_SUFFIX__ LL // X32:#define __INT64_FMTd__ "lld" // X32:#define __INT64_FMTi__ "lli" -// X32:#define __INT64_MAX__ 9223372036854775807L +// X32:#define __INT64_MAX__ 9223372036854775807LL // X32:#define __INT64_TYPE__ long long int -// X32:#define __INT8_C_SUFFIX__ {{$}} +// X32:#define __INT8_C_SUFFIX__ // X32:#define __INT8_FMTd__ "hhd" // X32:#define __INT8_FMTi__ "hhi" // X32:#define __INT8_MAX__ 127 @@ -7421,7 +7468,7 @@ // X32:#define __INTMAX_C_SUFFIX__ LL // X32:#define __INTMAX_FMTd__ "lld" // X32:#define __INTMAX_FMTi__ "lli" -// X32:#define __INTMAX_MAX__ 9223372036854775807L +// X32:#define __INTMAX_MAX__ 9223372036854775807LL // X32:#define __INTMAX_TYPE__ long long int // X32:#define __INTMAX_WIDTH__ 64 // X32:#define __INTPTR_FMTd__ "d" @@ -7439,7 +7486,7 @@ // X32:#define __INT_FAST32_TYPE__ int // X32:#define __INT_FAST64_FMTd__ "lld" // X32:#define __INT_FAST64_FMTi__ "lli" -// X32:#define __INT_FAST64_MAX__ 9223372036854775807L +// X32:#define __INT_FAST64_MAX__ 9223372036854775807LL // X32:#define __INT_FAST64_TYPE__ long long int // X32:#define __INT_FAST8_FMTd__ "hhd" // X32:#define __INT_FAST8_FMTi__ "hhi" @@ -7455,7 +7502,7 @@ // X32:#define __INT_LEAST32_TYPE__ int // X32:#define __INT_LEAST64_FMTd__ "lld" // X32:#define __INT_LEAST64_FMTi__ "lli" -// X32:#define __INT_LEAST64_MAX__ 9223372036854775807L +// X32:#define __INT_LEAST64_MAX__ 9223372036854775807LL // X32:#define __INT_LEAST64_TYPE__ long long int // X32:#define __INT_LEAST8_FMTd__ "hhd" // X32:#define __INT_LEAST8_FMTi__ "hhi" @@ -7483,7 +7530,7 @@ // X32:#define __POINTER_WIDTH__ 32 // X32:#define __PTRDIFF_TYPE__ int // X32:#define __PTRDIFF_WIDTH__ 32 -// X32:#define __REGISTER_PREFIX__ +// X32:#define __REGISTER_PREFIX__ // X32:#define __SCHAR_MAX__ 127 // X32:#define __SHRT_MAX__ 32767 // X32:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -7507,16 +7554,16 @@ // X32:#define __SSE2__ 1 // X32:#define __SSE_MATH__ 1 // X32:#define __SSE__ 1 -// X32:#define __UINT16_C_SUFFIX__ {{$}} +// X32:#define __UINT16_C_SUFFIX__ // X32:#define __UINT16_MAX__ 65535 // X32:#define __UINT16_TYPE__ unsigned short // X32:#define __UINT32_C_SUFFIX__ U // X32:#define __UINT32_MAX__ 4294967295U // X32:#define __UINT32_TYPE__ unsigned int -// X32:#define __UINT64_C_SUFFIX__ UL +// X32:#define __UINT64_C_SUFFIX__ ULL // X32:#define __UINT64_MAX__ 18446744073709551615ULL // X32:#define __UINT64_TYPE__ long long unsigned int -// X32:#define __UINT8_C_SUFFIX__ {{$}} +// X32:#define __UINT8_C_SUFFIX__ // X32:#define __UINT8_MAX__ 255 // X32:#define __UINT8_TYPE__ unsigned char // X32:#define __UINTMAX_C_SUFFIX__ ULL @@ -7542,7 +7589,7 @@ // X32:#define __UINT_LEAST64_TYPE__ long long unsigned int // X32:#define __UINT_LEAST8_MAX__ 255 // X32:#define __UINT_LEAST8_TYPE__ unsigned char -// X32:#define __USER_LABEL_PREFIX__ _ +// X32:#define __USER_LABEL_PREFIX__ // X32:#define __WCHAR_MAX__ 2147483647 // X32:#define __WCHAR_TYPE__ int // X32:#define __WCHAR_WIDTH__ 32 @@ -7553,7 +7600,7 @@ // X32:#define __x86_64 1 // X32:#define __x86_64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-cloudabi < /dev/null | FileCheck -check-prefix X86_64-CLOUDABI %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-cloudabi < /dev/null | FileCheck -match-full-lines -check-prefix X86_64-CLOUDABI %s // // X86_64-CLOUDABI:#define _LP64 1 // X86_64-CLOUDABI:#define __ATOMIC_ACQUIRE 2 @@ -7618,13 +7665,12 @@ // X86_64-CLOUDABI:#define __GNUC_STDC_INLINE__ 1 // X86_64-CLOUDABI:#define __GNUC__ 4 // X86_64-CLOUDABI:#define __GXX_ABI_VERSION 1002 -// X86_64-CLOUDABI:#define __GXX_RTTI 1 -// X86_64-CLOUDABI:#define __INT16_C_SUFFIX__ +// X86_64-CLOUDABI:#define __INT16_C_SUFFIX__ // X86_64-CLOUDABI:#define __INT16_FMTd__ "hd" // X86_64-CLOUDABI:#define __INT16_FMTi__ "hi" // X86_64-CLOUDABI:#define __INT16_MAX__ 32767 // X86_64-CLOUDABI:#define __INT16_TYPE__ short -// X86_64-CLOUDABI:#define __INT32_C_SUFFIX__ +// X86_64-CLOUDABI:#define __INT32_C_SUFFIX__ // X86_64-CLOUDABI:#define __INT32_FMTd__ "d" // X86_64-CLOUDABI:#define __INT32_FMTi__ "i" // X86_64-CLOUDABI:#define __INT32_MAX__ 2147483647 @@ -7634,7 +7680,7 @@ // X86_64-CLOUDABI:#define __INT64_FMTi__ "li" // X86_64-CLOUDABI:#define __INT64_MAX__ 9223372036854775807L // X86_64-CLOUDABI:#define __INT64_TYPE__ long int -// X86_64-CLOUDABI:#define __INT8_C_SUFFIX__ +// X86_64-CLOUDABI:#define __INT8_C_SUFFIX__ // X86_64-CLOUDABI:#define __INT8_FMTd__ "hhd" // X86_64-CLOUDABI:#define __INT8_FMTi__ "hhi" // X86_64-CLOUDABI:#define __INT8_MAX__ 127 @@ -7714,7 +7760,7 @@ // X86_64-CLOUDABI:#define __PTRDIFF_MAX__ 9223372036854775807L // X86_64-CLOUDABI:#define __PTRDIFF_TYPE__ long int // X86_64-CLOUDABI:#define __PTRDIFF_WIDTH__ 64 -// X86_64-CLOUDABI:#define __REGISTER_PREFIX__ +// X86_64-CLOUDABI:#define __REGISTER_PREFIX__ // X86_64-CLOUDABI:#define __SCHAR_MAX__ 127 // X86_64-CLOUDABI:#define __SHRT_MAX__ 32767 // X86_64-CLOUDABI:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -7749,7 +7795,7 @@ // X86_64-CLOUDABI:#define __STDC_UTF_32__ 1 // X86_64-CLOUDABI:#define __STDC_VERSION__ 201112L // X86_64-CLOUDABI:#define __STDC__ 1 -// X86_64-CLOUDABI:#define __UINT16_C_SUFFIX__ +// X86_64-CLOUDABI:#define __UINT16_C_SUFFIX__ // X86_64-CLOUDABI:#define __UINT16_FMTX__ "hX" // X86_64-CLOUDABI:#define __UINT16_FMTo__ "ho" // X86_64-CLOUDABI:#define __UINT16_FMTu__ "hu" @@ -7770,7 +7816,7 @@ // X86_64-CLOUDABI:#define __UINT64_FMTx__ "lx" // X86_64-CLOUDABI:#define __UINT64_MAX__ 18446744073709551615UL // X86_64-CLOUDABI:#define __UINT64_TYPE__ long unsigned int -// X86_64-CLOUDABI:#define __UINT8_C_SUFFIX__ +// X86_64-CLOUDABI:#define __UINT8_C_SUFFIX__ // X86_64-CLOUDABI:#define __UINT8_FMTX__ "hhX" // X86_64-CLOUDABI:#define __UINT8_FMTo__ "hho" // X86_64-CLOUDABI:#define __UINT8_FMTu__ "hhu" @@ -7840,8 +7886,8 @@ // X86_64-CLOUDABI:#define __UINT_LEAST8_FMTx__ "hhx" // X86_64-CLOUDABI:#define __UINT_LEAST8_MAX__ 255 // X86_64-CLOUDABI:#define __UINT_LEAST8_TYPE__ unsigned char -// X86_64-CLOUDABI:#define __USER_LABEL_PREFIX__ -// X86_64-CLOUDABI:#define __VERSION__ "4.2.1 Compatible +// X86_64-CLOUDABI:#define __USER_LABEL_PREFIX__ +// X86_64-CLOUDABI:#define __VERSION__ "4.2.1 Compatible{{.*}} // X86_64-CLOUDABI:#define __WCHAR_MAX__ 2147483647 // X86_64-CLOUDABI:#define __WCHAR_TYPE__ int // X86_64-CLOUDABI:#define __WCHAR_WIDTH__ 32 @@ -7850,15 +7896,15 @@ // X86_64-CLOUDABI:#define __amd64 1 // X86_64-CLOUDABI:#define __amd64__ 1 // X86_64-CLOUDABI:#define __clang__ 1 -// X86_64-CLOUDABI:#define __clang_major__ -// X86_64-CLOUDABI:#define __clang_minor__ -// X86_64-CLOUDABI:#define __clang_patchlevel__ -// X86_64-CLOUDABI:#define __clang_version__ +// X86_64-CLOUDABI:#define __clang_major__ {{.*}} +// X86_64-CLOUDABI:#define __clang_minor__ {{.*}} +// X86_64-CLOUDABI:#define __clang_patchlevel__ {{.*}} +// X86_64-CLOUDABI:#define __clang_version__ {{.*}} // X86_64-CLOUDABI:#define __llvm__ 1 // X86_64-CLOUDABI:#define __x86_64 1 // X86_64-CLOUDABI:#define __x86_64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix X86_64-LINUX %s // // X86_64-LINUX:#define _LP64 1 // X86_64-LINUX:#define __BIGGEST_ALIGNMENT__ 16 @@ -7895,12 +7941,12 @@ // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125) // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F // X86_64-LINUX:#define __FLT_RADIX__ 2 -// X86_64-LINUX:#define __INT16_C_SUFFIX__ {{$}} +// X86_64-LINUX:#define __INT16_C_SUFFIX__ // X86_64-LINUX:#define __INT16_FMTd__ "hd" // X86_64-LINUX:#define __INT16_FMTi__ "hi" // X86_64-LINUX:#define __INT16_MAX__ 32767 // X86_64-LINUX:#define __INT16_TYPE__ short -// X86_64-LINUX:#define __INT32_C_SUFFIX__ {{$}} +// X86_64-LINUX:#define __INT32_C_SUFFIX__ // X86_64-LINUX:#define __INT32_FMTd__ "d" // X86_64-LINUX:#define __INT32_FMTi__ "i" // X86_64-LINUX:#define __INT32_MAX__ 2147483647 @@ -7910,7 +7956,7 @@ // X86_64-LINUX:#define __INT64_FMTi__ "li" // X86_64-LINUX:#define __INT64_MAX__ 9223372036854775807L // X86_64-LINUX:#define __INT64_TYPE__ long int -// X86_64-LINUX:#define __INT8_C_SUFFIX__ {{$}} +// X86_64-LINUX:#define __INT8_C_SUFFIX__ // X86_64-LINUX:#define __INT8_FMTd__ "hhd" // X86_64-LINUX:#define __INT8_FMTi__ "hhi" // X86_64-LINUX:#define __INT8_MAX__ 127 @@ -7981,7 +8027,7 @@ // X86_64-LINUX:#define __POINTER_WIDTH__ 64 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64 -// X86_64-LINUX:#define __REGISTER_PREFIX__ +// X86_64-LINUX:#define __REGISTER_PREFIX__ // X86_64-LINUX:#define __SCHAR_MAX__ 127 // X86_64-LINUX:#define __SHRT_MAX__ 32767 // X86_64-LINUX:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -8005,7 +8051,7 @@ // X86_64-LINUX:#define __SSE2__ 1 // X86_64-LINUX:#define __SSE_MATH__ 1 // X86_64-LINUX:#define __SSE__ 1 -// X86_64-LINUX:#define __UINT16_C_SUFFIX__ {{$}} +// X86_64-LINUX:#define __UINT16_C_SUFFIX__ // X86_64-LINUX:#define __UINT16_MAX__ 65535 // X86_64-LINUX:#define __UINT16_TYPE__ unsigned short // X86_64-LINUX:#define __UINT32_C_SUFFIX__ U @@ -8014,7 +8060,7 @@ // X86_64-LINUX:#define __UINT64_C_SUFFIX__ UL // X86_64-LINUX:#define __UINT64_MAX__ 18446744073709551615UL // X86_64-LINUX:#define __UINT64_TYPE__ long unsigned int -// X86_64-LINUX:#define __UINT8_C_SUFFIX__ {{$}} +// X86_64-LINUX:#define __UINT8_C_SUFFIX__ // X86_64-LINUX:#define __UINT8_MAX__ 255 // X86_64-LINUX:#define __UINT8_TYPE__ unsigned char // X86_64-LINUX:#define __UINTMAX_C_SUFFIX__ UL @@ -8051,7 +8097,7 @@ // X86_64-LINUX:#define __x86_64 1 // X86_64-LINUX:#define __x86_64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -check-prefix X86_64-FREEBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-unknown-freebsd9.1 < /dev/null | FileCheck -match-full-lines -check-prefix X86_64-FREEBSD %s // // X86_64-FREEBSD:#define __DBL_DECIMAL_DIG__ 17 // X86_64-FREEBSD:#define __FLT_DECIMAL_DIG__ 9 @@ -8060,7 +8106,7 @@ // X86_64-FREEBSD:#define __LDBL_DECIMAL_DIG__ 21 // X86_64-FREEBSD:#define __STDC_MB_MIGHT_NEQ_WC__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -check-prefix X86_64-NETBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-netbsd < /dev/null | FileCheck -match-full-lines -check-prefix X86_64-NETBSD %s // // X86_64-NETBSD:#define _LP64 1 // X86_64-NETBSD:#define __BIGGEST_ALIGNMENT__ 16 @@ -8097,12 +8143,12 @@ // X86_64-NETBSD:#define __FLT_MIN_EXP__ (-125) // X86_64-NETBSD:#define __FLT_MIN__ 1.17549435e-38F // X86_64-NETBSD:#define __FLT_RADIX__ 2 -// X86_64-NETBSD:#define __INT16_C_SUFFIX__ {{$}} +// X86_64-NETBSD:#define __INT16_C_SUFFIX__ // X86_64-NETBSD:#define __INT16_FMTd__ "hd" // X86_64-NETBSD:#define __INT16_FMTi__ "hi" // X86_64-NETBSD:#define __INT16_MAX__ 32767 // X86_64-NETBSD:#define __INT16_TYPE__ short -// X86_64-NETBSD:#define __INT32_C_SUFFIX__ {{$}} +// X86_64-NETBSD:#define __INT32_C_SUFFIX__ // X86_64-NETBSD:#define __INT32_FMTd__ "d" // X86_64-NETBSD:#define __INT32_FMTi__ "i" // X86_64-NETBSD:#define __INT32_MAX__ 2147483647 @@ -8112,7 +8158,7 @@ // X86_64-NETBSD:#define __INT64_FMTi__ "li" // X86_64-NETBSD:#define __INT64_MAX__ 9223372036854775807L // X86_64-NETBSD:#define __INT64_TYPE__ long int -// X86_64-NETBSD:#define __INT8_C_SUFFIX__ {{$}} +// X86_64-NETBSD:#define __INT8_C_SUFFIX__ // X86_64-NETBSD:#define __INT8_FMTd__ "hhd" // X86_64-NETBSD:#define __INT8_FMTi__ "hhi" // X86_64-NETBSD:#define __INT8_MAX__ 127 @@ -8183,7 +8229,7 @@ // X86_64-NETBSD:#define __POINTER_WIDTH__ 64 // X86_64-NETBSD:#define __PTRDIFF_TYPE__ long int // X86_64-NETBSD:#define __PTRDIFF_WIDTH__ 64 -// X86_64-NETBSD:#define __REGISTER_PREFIX__ +// X86_64-NETBSD:#define __REGISTER_PREFIX__ // X86_64-NETBSD:#define __SCHAR_MAX__ 127 // X86_64-NETBSD:#define __SHRT_MAX__ 32767 // X86_64-NETBSD:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -8207,7 +8253,7 @@ // X86_64-NETBSD:#define __SSE2__ 1 // X86_64-NETBSD:#define __SSE_MATH__ 1 // X86_64-NETBSD:#define __SSE__ 1 -// X86_64-NETBSD:#define __UINT16_C_SUFFIX__ {{$}} +// X86_64-NETBSD:#define __UINT16_C_SUFFIX__ // X86_64-NETBSD:#define __UINT16_MAX__ 65535 // X86_64-NETBSD:#define __UINT16_TYPE__ unsigned short // X86_64-NETBSD:#define __UINT32_C_SUFFIX__ U @@ -8216,7 +8262,7 @@ // X86_64-NETBSD:#define __UINT64_C_SUFFIX__ UL // X86_64-NETBSD:#define __UINT64_MAX__ 18446744073709551615UL // X86_64-NETBSD:#define __UINT64_TYPE__ long unsigned int -// X86_64-NETBSD:#define __UINT8_C_SUFFIX__ {{$}} +// X86_64-NETBSD:#define __UINT8_C_SUFFIX__ // X86_64-NETBSD:#define __UINT8_MAX__ 255 // X86_64-NETBSD:#define __UINT8_TYPE__ unsigned char // X86_64-NETBSD:#define __UINTMAX_C_SUFFIX__ UL @@ -8253,7 +8299,7 @@ // X86_64-NETBSD:#define __x86_64 1 // X86_64-NETBSD:#define __x86_64__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-scei-ps4 < /dev/null | FileCheck -check-prefix PS4 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-scei-ps4 < /dev/null | FileCheck -match-full-lines -check-prefix PS4 %s // // PS4:#define _LP64 1 // PS4:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ @@ -8323,12 +8369,12 @@ // PS4:#define __LP64__ 1 // PS4:#define __MMX__ 1 // PS4:#define __NO_MATH_INLINES 1 +// PS4:#define __ORBIS__ 1 // PS4:#define __POINTER_WIDTH__ 64 -// PS4:#define __PS4__ 1 // PS4:#define __PTRDIFF_MAX__ 9223372036854775807L // PS4:#define __PTRDIFF_TYPE__ long int // PS4:#define __PTRDIFF_WIDTH__ 64 -// PS4:#define __REGISTER_PREFIX__ +// PS4:#define __REGISTER_PREFIX__ // PS4:#define __SCHAR_MAX__ 127 // PS4:#define __SHRT_MAX__ 32767 // PS4:#define __SIG_ATOMIC_MAX__ 2147483647 @@ -8351,6 +8397,7 @@ // PS4:#define __SSE2__ 1 // PS4:#define __SSE_MATH__ 1 // PS4:#define __SSE__ 1 +// PS4:#define __STDC_VERSION__ 199901L // PS4:#define __UINTMAX_TYPE__ long unsigned int // PS4:#define __USER_LABEL_PREFIX__ // PS4:#define __WCHAR_MAX__ 65535 @@ -8366,11 +8413,11 @@ // PS4:#define __x86_64 1 // PS4:#define __x86_64__ 1 // -// RUN: %clang_cc1 -E -dM -triple=x86_64-pc-mingw32 < /dev/null | FileCheck -check-prefix X86-64-DECLSPEC %s -// RUN: %clang_cc1 -E -dM -fms-extensions -triple=x86_64-unknown-mingw32 < /dev/null | FileCheck -check-prefix X86-64-DECLSPEC %s -// X86-64-DECLSPEC: #define __declspec +// 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{{.*}} // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix SPARCV9 %s // SPARCV9:#define __INT64_TYPE__ long int // SPARCV9:#define __INTMAX_C_SUFFIX__ L // SPARCV9:#define __INTMAX_TYPE__ long int @@ -8381,668 +8428,676 @@ // SPARCV9:#define __SIZEOF_POINTER__ 8 // SPARCV9:#define __UINTPTR_TYPE__ long unsigned int // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -match-full-lines -check-prefix SPARC64-OBSD %s // SPARC64-OBSD:#define __INT64_TYPE__ long long int // SPARC64-OBSD:#define __INTMAX_C_SUFFIX__ LL // SPARC64-OBSD:#define __INTMAX_TYPE__ long long int // SPARC64-OBSD:#define __UINTMAX_C_SUFFIX__ ULL // SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSD-DEFINE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-kfreebsd-gnu < /dev/null | FileCheck -match-full-lines -check-prefix KFREEBSD-DEFINE %s // KFREEBSD-DEFINE:#define __FreeBSD_kernel__ 1 // KFREEBSD-DEFINE:#define __GLIBC__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -check-prefix KFREEBSDI686-DEFINE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=i686-pc-kfreebsd-gnu < /dev/null | FileCheck -match-full-lines -check-prefix KFREEBSDI686-DEFINE %s // KFREEBSDI686-DEFINE:#define __FreeBSD_kernel__ 1 // KFREEBSDI686-DEFINE:#define __GLIBC__ 1 // -// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s +// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix GNUSOURCE %s // GNUSOURCE:#define _GNU_SOURCE 1 // -// RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s -// NORTTI: __GXX_ABI_VERSION +// 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 -// NORTTI: __STDC__ +// NORTTI:#define __STDC__ 1 +// +// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix ANDROID %s +// ANDROID:#define __ANDROID__ 1 // -// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s -// ANDROID: __ANDROID__ 1 +// RUN: %clang_cc1 -triple lanai-unknown-unknown -E -dM < /dev/null | FileCheck -match-full-lines -check-prefix LANAI %s +// LANAI: #define __lanai__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-FREEBSD %s // PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1 // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -check-prefix XCORE %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=xcore-none-none < /dev/null | FileCheck -match-full-lines -check-prefix XCORE %s // XCORE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ // XCORE:#define __LITTLE_ENDIAN__ 1 // XCORE:#define __XS1B__ 1 // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=wasm32-unknown-unknown \ // RUN: < /dev/null \ -// RUN: | FileCheck -check-prefix=WEBASSEMBLY32 %s +// RUN: | FileCheck -match-full-lines -check-prefix=WEBASSEMBLY32 %s // -// WEBASSEMBLY32:#define _ILP32 1{{$}} +// WEBASSEMBLY32:#define _ILP32 1 // WEBASSEMBLY32-NOT:#define _LP64 -// WEBASSEMBLY32-NEXT:#define __ATOMIC_ACQUIRE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __ATOMIC_ACQ_REL 4{{$}} -// WEBASSEMBLY32-NEXT:#define __ATOMIC_CONSUME 1{{$}} -// WEBASSEMBLY32-NEXT:#define __ATOMIC_RELAXED 0{{$}} -// WEBASSEMBLY32-NEXT:#define __ATOMIC_RELEASE 3{{$}} -// WEBASSEMBLY32-NEXT:#define __ATOMIC_SEQ_CST 5{{$}} -// WEBASSEMBLY32-NEXT:#define __BIGGEST_ALIGNMENT__ 16{{$}} -// WEBASSEMBLY32-NEXT:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__{{$}} -// WEBASSEMBLY32-NEXT:#define __CHAR16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY32-NEXT:#define __CHAR32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY32-NEXT:#define __CHAR_BIT__ 8{{$}} +// WEBASSEMBLY32-NEXT:#define __ATOMIC_ACQUIRE 2 +// WEBASSEMBLY32-NEXT:#define __ATOMIC_ACQ_REL 4 +// WEBASSEMBLY32-NEXT:#define __ATOMIC_CONSUME 1 +// WEBASSEMBLY32-NEXT:#define __ATOMIC_RELAXED 0 +// WEBASSEMBLY32-NEXT:#define __ATOMIC_RELEASE 3 +// WEBASSEMBLY32-NEXT:#define __ATOMIC_SEQ_CST 5 +// WEBASSEMBLY32-NEXT:#define __BIGGEST_ALIGNMENT__ 16 +// WEBASSEMBLY32-NEXT:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +// WEBASSEMBLY32-NEXT:#define __CHAR16_TYPE__ unsigned short +// WEBASSEMBLY32-NEXT:#define __CHAR32_TYPE__ unsigned int +// WEBASSEMBLY32-NEXT:#define __CHAR_BIT__ 8 // WEBASSEMBLY32-NOT:#define __CHAR_UNSIGNED__ -// WEBASSEMBLY32-NEXT:#define __CONSTANT_CFSTRINGS__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_DECIMAL_DIG__ 17{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_DIG__ 15{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_EPSILON__ 2.2204460492503131e-16{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_HAS_DENORM__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_HAS_INFINITY__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_HAS_QUIET_NAN__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_MANT_DIG__ 53{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_MAX_10_EXP__ 308{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_MAX_EXP__ 1024{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_MAX__ 1.7976931348623157e+308{{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_MIN_10_EXP__ (-307){{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_MIN_EXP__ (-1021){{$}} -// WEBASSEMBLY32-NEXT:#define __DBL_MIN__ 2.2250738585072014e-308{{$}} -// WEBASSEMBLY32-NEXT:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__{{$}} +// WEBASSEMBLY32-NEXT:#define __CONSTANT_CFSTRINGS__ 1 +// WEBASSEMBLY32-NEXT:#define __DBL_DECIMAL_DIG__ 17 +// WEBASSEMBLY32-NEXT:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +// WEBASSEMBLY32-NEXT:#define __DBL_DIG__ 15 +// WEBASSEMBLY32-NEXT:#define __DBL_EPSILON__ 2.2204460492503131e-16 +// WEBASSEMBLY32-NEXT:#define __DBL_HAS_DENORM__ 1 +// WEBASSEMBLY32-NEXT:#define __DBL_HAS_INFINITY__ 1 +// WEBASSEMBLY32-NEXT:#define __DBL_HAS_QUIET_NAN__ 1 +// WEBASSEMBLY32-NEXT:#define __DBL_MANT_DIG__ 53 +// WEBASSEMBLY32-NEXT:#define __DBL_MAX_10_EXP__ 308 +// WEBASSEMBLY32-NEXT:#define __DBL_MAX_EXP__ 1024 +// WEBASSEMBLY32-NEXT:#define __DBL_MAX__ 1.7976931348623157e+308 +// WEBASSEMBLY32-NEXT:#define __DBL_MIN_10_EXP__ (-307) +// WEBASSEMBLY32-NEXT:#define __DBL_MIN_EXP__ (-1021) +// WEBASSEMBLY32-NEXT:#define __DBL_MIN__ 2.2250738585072014e-308 +// WEBASSEMBLY32-NEXT:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ // WEBASSEMBLY32-NOT:#define __ELF__ -// WEBASSEMBLY32-NEXT:#define __FINITE_MATH_ONLY__ 0{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_DECIMAL_DIG__ 9{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_DENORM_MIN__ 1.40129846e-45F{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_DIG__ 6{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_EPSILON__ 1.19209290e-7F{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_EVAL_METHOD__ 0{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_HAS_DENORM__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_HAS_INFINITY__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_HAS_QUIET_NAN__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_MANT_DIG__ 24{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_MAX_10_EXP__ 38{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_MAX_EXP__ 128{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_MAX__ 3.40282347e+38F{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_MIN_10_EXP__ (-37){{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_MIN_EXP__ (-125){{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_MIN__ 1.17549435e-38F{{$}} -// WEBASSEMBLY32-NEXT:#define __FLT_RADIX__ 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_BOOL_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_CHAR_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_INT_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_LLONG_LOCK_FREE 1{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_LONG_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_POINTER_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_SHORT_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1{{$}} -// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2{{$}} -// WEBASSEMBLY32-NEXT:#define __GNUC_MINOR__ {{.}} -// WEBASSEMBLY32-NEXT:#define __GNUC_PATCHLEVEL__ {{.}} -// WEBASSEMBLY32-NEXT:#define __GNUC_STDC_INLINE__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __GNUC__ {{.}} -// WEBASSEMBLY32-NEXT:#define __GXX_ABI_VERSION 1002{{$}} -// WEBASSEMBLY32-NEXT:#define __GXX_RTTI 1{{$}} -// WEBASSEMBLY32-NEXT:#define __ILP32__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __INT16_C_SUFFIX__ {{$}} -// WEBASSEMBLY32-NEXT:#define __INT16_FMTd__ "hd"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT16_FMTi__ "hi"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT16_MAX__ 32767{{$}} -// WEBASSEMBLY32-NEXT:#define __INT16_TYPE__ short{{$}} -// WEBASSEMBLY32-NEXT:#define __INT32_C_SUFFIX__ {{$}} -// WEBASSEMBLY32-NEXT:#define __INT32_FMTd__ "d"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT32_FMTi__ "i"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT32_MAX__ 2147483647{{$}} -// WEBASSEMBLY32-NEXT:#define __INT32_TYPE__ int{{$}} -// WEBASSEMBLY32-NEXT:#define __INT64_C_SUFFIX__ LL{{$}} -// WEBASSEMBLY32-NEXT:#define __INT64_FMTd__ "lld"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT64_FMTi__ "lli"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT64_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY32-NEXT:#define __INT64_TYPE__ long long int{{$}} -// WEBASSEMBLY32-NEXT:#define __INT8_C_SUFFIX__ {{$}} -// WEBASSEMBLY32-NEXT:#define __INT8_FMTd__ "hhd"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT8_FMTi__ "hhi"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT8_MAX__ 127{{$}} -// WEBASSEMBLY32-NEXT:#define __INT8_TYPE__ signed char{{$}} -// WEBASSEMBLY32-NEXT:#define __INTMAX_C_SUFFIX__ LL{{$}} -// WEBASSEMBLY32-NEXT:#define __INTMAX_FMTd__ "lld"{{$}} -// WEBASSEMBLY32-NEXT:#define __INTMAX_FMTi__ "lli"{{$}} -// 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__ "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"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST16_MAX__ 32767{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST16_TYPE__ short{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST32_FMTd__ "d"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST32_FMTi__ "i"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST32_MAX__ 2147483647{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST32_TYPE__ int{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST64_FMTd__ "lld"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST64_FMTi__ "lli"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST64_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST64_TYPE__ long long int{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST8_FMTd__ "hhd"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST8_FMTi__ "hhi"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST8_MAX__ 127{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_FAST8_TYPE__ signed char{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_FMTd__ "hd"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_FMTi__ "hi"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_MAX__ 32767{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_TYPE__ short{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_FMTd__ "d"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_FMTi__ "i"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_MAX__ 2147483647{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_TYPE__ int{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_FMTd__ "lld"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_FMTi__ "lli"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_TYPE__ long long int{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_FMTd__ "hhd"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_FMTi__ "hhi"{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_MAX__ 127{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_TYPE__ signed char{{$}} -// WEBASSEMBLY32-NEXT:#define __INT_MAX__ 2147483647{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_DECIMAL_DIG__ 36{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_DIG__ 33{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_HAS_DENORM__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_HAS_INFINITY__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_HAS_QUIET_NAN__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_MANT_DIG__ 113{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_MAX_10_EXP__ 4932{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_MAX_EXP__ 16384{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L{{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_MIN_10_EXP__ (-4931){{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_MIN_EXP__ (-16381){{$}} -// WEBASSEMBLY32-NEXT:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L{{$}} -// WEBASSEMBLY32-NEXT:#define __LITTLE_ENDIAN__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __LONG_LONG_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY32-NEXT:#define __LONG_MAX__ 2147483647L{{$}} +// WEBASSEMBLY32-NEXT:#define __FINITE_MATH_ONLY__ 0 +// WEBASSEMBLY32-NEXT:#define __FLT_DECIMAL_DIG__ 9 +// WEBASSEMBLY32-NEXT:#define __FLT_DENORM_MIN__ 1.40129846e-45F +// WEBASSEMBLY32-NEXT:#define __FLT_DIG__ 6 +// WEBASSEMBLY32-NEXT:#define __FLT_EPSILON__ 1.19209290e-7F +// WEBASSEMBLY32-NEXT:#define __FLT_EVAL_METHOD__ 0 +// WEBASSEMBLY32-NEXT:#define __FLT_HAS_DENORM__ 1 +// WEBASSEMBLY32-NEXT:#define __FLT_HAS_INFINITY__ 1 +// WEBASSEMBLY32-NEXT:#define __FLT_HAS_QUIET_NAN__ 1 +// WEBASSEMBLY32-NEXT:#define __FLT_MANT_DIG__ 24 +// WEBASSEMBLY32-NEXT:#define __FLT_MAX_10_EXP__ 38 +// WEBASSEMBLY32-NEXT:#define __FLT_MAX_EXP__ 128 +// WEBASSEMBLY32-NEXT:#define __FLT_MAX__ 3.40282347e+38F +// WEBASSEMBLY32-NEXT:#define __FLT_MIN_10_EXP__ (-37) +// WEBASSEMBLY32-NEXT:#define __FLT_MIN_EXP__ (-125) +// WEBASSEMBLY32-NEXT:#define __FLT_MIN__ 1.17549435e-38F +// WEBASSEMBLY32-NEXT:#define __FLT_RADIX__ 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_INT_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_LLONG_LOCK_FREE 1 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +// WEBASSEMBLY32-NEXT:#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +// WEBASSEMBLY32-NEXT:#define __GNUC_MINOR__ {{.*}} +// WEBASSEMBLY32-NEXT:#define __GNUC_PATCHLEVEL__ {{.*}} +// WEBASSEMBLY32-NEXT:#define __GNUC_STDC_INLINE__ 1 +// WEBASSEMBLY32-NEXT:#define __GNUC__ {{.*}} +// WEBASSEMBLY32-NEXT:#define __GXX_ABI_VERSION 1002 +// WEBASSEMBLY32-NEXT:#define __ILP32__ 1 +// WEBASSEMBLY32-NEXT:#define __INT16_C_SUFFIX__ +// WEBASSEMBLY32-NEXT:#define __INT16_FMTd__ "hd" +// WEBASSEMBLY32-NEXT:#define __INT16_FMTi__ "hi" +// WEBASSEMBLY32-NEXT:#define __INT16_MAX__ 32767 +// WEBASSEMBLY32-NEXT:#define __INT16_TYPE__ short +// WEBASSEMBLY32-NEXT:#define __INT32_C_SUFFIX__ +// WEBASSEMBLY32-NEXT:#define __INT32_FMTd__ "d" +// WEBASSEMBLY32-NEXT:#define __INT32_FMTi__ "i" +// WEBASSEMBLY32-NEXT:#define __INT32_MAX__ 2147483647 +// WEBASSEMBLY32-NEXT:#define __INT32_TYPE__ int +// WEBASSEMBLY32-NEXT:#define __INT64_C_SUFFIX__ LL +// WEBASSEMBLY32-NEXT:#define __INT64_FMTd__ "lld" +// WEBASSEMBLY32-NEXT:#define __INT64_FMTi__ "lli" +// WEBASSEMBLY32-NEXT:#define __INT64_MAX__ 9223372036854775807LL +// WEBASSEMBLY32-NEXT:#define __INT64_TYPE__ long long int +// WEBASSEMBLY32-NEXT:#define __INT8_C_SUFFIX__ +// WEBASSEMBLY32-NEXT:#define __INT8_FMTd__ "hhd" +// WEBASSEMBLY32-NEXT:#define __INT8_FMTi__ "hhi" +// WEBASSEMBLY32-NEXT:#define __INT8_MAX__ 127 +// WEBASSEMBLY32-NEXT:#define __INT8_TYPE__ signed char +// WEBASSEMBLY32-NEXT:#define __INTMAX_C_SUFFIX__ LL +// WEBASSEMBLY32-NEXT:#define __INTMAX_FMTd__ "lld" +// WEBASSEMBLY32-NEXT:#define __INTMAX_FMTi__ "lli" +// 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__ "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" +// WEBASSEMBLY32-NEXT:#define __INT_FAST16_MAX__ 32767 +// WEBASSEMBLY32-NEXT:#define __INT_FAST16_TYPE__ short +// WEBASSEMBLY32-NEXT:#define __INT_FAST32_FMTd__ "d" +// WEBASSEMBLY32-NEXT:#define __INT_FAST32_FMTi__ "i" +// WEBASSEMBLY32-NEXT:#define __INT_FAST32_MAX__ 2147483647 +// WEBASSEMBLY32-NEXT:#define __INT_FAST32_TYPE__ int +// WEBASSEMBLY32-NEXT:#define __INT_FAST64_FMTd__ "lld" +// WEBASSEMBLY32-NEXT:#define __INT_FAST64_FMTi__ "lli" +// WEBASSEMBLY32-NEXT:#define __INT_FAST64_MAX__ 9223372036854775807LL +// WEBASSEMBLY32-NEXT:#define __INT_FAST64_TYPE__ long long int +// WEBASSEMBLY32-NEXT:#define __INT_FAST8_FMTd__ "hhd" +// WEBASSEMBLY32-NEXT:#define __INT_FAST8_FMTi__ "hhi" +// WEBASSEMBLY32-NEXT:#define __INT_FAST8_MAX__ 127 +// WEBASSEMBLY32-NEXT:#define __INT_FAST8_TYPE__ signed char +// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_FMTd__ "hd" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_FMTi__ "hi" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_MAX__ 32767 +// WEBASSEMBLY32-NEXT:#define __INT_LEAST16_TYPE__ short +// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_FMTd__ "d" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_FMTi__ "i" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_MAX__ 2147483647 +// WEBASSEMBLY32-NEXT:#define __INT_LEAST32_TYPE__ int +// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_FMTd__ "lld" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_FMTi__ "lli" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_MAX__ 9223372036854775807LL +// WEBASSEMBLY32-NEXT:#define __INT_LEAST64_TYPE__ long long int +// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_FMTd__ "hhd" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_FMTi__ "hhi" +// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_MAX__ 127 +// WEBASSEMBLY32-NEXT:#define __INT_LEAST8_TYPE__ signed char +// WEBASSEMBLY32-NEXT:#define __INT_MAX__ 2147483647 +// WEBASSEMBLY32-NEXT:#define __LDBL_DECIMAL_DIG__ 36 +// WEBASSEMBLY32-NEXT:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L +// WEBASSEMBLY32-NEXT:#define __LDBL_DIG__ 33 +// WEBASSEMBLY32-NEXT:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L +// WEBASSEMBLY32-NEXT:#define __LDBL_HAS_DENORM__ 1 +// WEBASSEMBLY32-NEXT:#define __LDBL_HAS_INFINITY__ 1 +// WEBASSEMBLY32-NEXT:#define __LDBL_HAS_QUIET_NAN__ 1 +// WEBASSEMBLY32-NEXT:#define __LDBL_MANT_DIG__ 113 +// WEBASSEMBLY32-NEXT:#define __LDBL_MAX_10_EXP__ 4932 +// WEBASSEMBLY32-NEXT:#define __LDBL_MAX_EXP__ 16384 +// WEBASSEMBLY32-NEXT:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L +// WEBASSEMBLY32-NEXT:#define __LDBL_MIN_10_EXP__ (-4931) +// WEBASSEMBLY32-NEXT:#define __LDBL_MIN_EXP__ (-16381) +// WEBASSEMBLY32-NEXT:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +// WEBASSEMBLY32-NEXT:#define __LITTLE_ENDIAN__ 1 +// WEBASSEMBLY32-NEXT:#define __LONG_LONG_MAX__ 9223372036854775807LL +// WEBASSEMBLY32-NEXT:#define __LONG_MAX__ 2147483647L // WEBASSEMBLY32-NOT:#define __LP64__ -// WEBASSEMBLY32-NEXT:#define __NO_INLINE__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __ORDER_BIG_ENDIAN__ 4321{{$}} -// WEBASSEMBLY32-NEXT:#define __ORDER_LITTLE_ENDIAN__ 1234{{$}} -// 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__ "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-NEXT:#define __NO_INLINE__ 1 +// WEBASSEMBLY32-NEXT:#define __ORDER_BIG_ENDIAN__ 4321 +// WEBASSEMBLY32-NEXT:#define __ORDER_LITTLE_ENDIAN__ 1234 +// 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__ "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{{$}} -// WEBASSEMBLY32-NEXT:#define __SHRT_MAX__ 32767{{$}} -// WEBASSEMBLY32-NEXT:#define __SIG_ATOMIC_MAX__ 2147483647L{{$}} -// WEBASSEMBLY32-NEXT:#define __SIG_ATOMIC_WIDTH__ 32{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_DOUBLE__ 8{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_FLOAT__ 4{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_INT128__ 16{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_INT__ 4{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_LONG_DOUBLE__ 16{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_LONG_LONG__ 8{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_LONG__ 4{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_POINTER__ 4{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_PTRDIFF_T__ 4{{$}} -// WEBASSEMBLY32-NEXT:#define __SIZEOF_SHORT__ 2{{$}} -// 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__ "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-NEXT:#define __SCHAR_MAX__ 127 +// WEBASSEMBLY32-NEXT:#define __SHRT_MAX__ 32767 +// WEBASSEMBLY32-NEXT:#define __SIG_ATOMIC_MAX__ 2147483647L +// WEBASSEMBLY32-NEXT:#define __SIG_ATOMIC_WIDTH__ 32 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_DOUBLE__ 8 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_FLOAT__ 4 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_INT128__ 16 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_INT__ 4 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_LONG_DOUBLE__ 16 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_LONG_LONG__ 8 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_LONG__ 4 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_POINTER__ 4 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_PTRDIFF_T__ 4 +// WEBASSEMBLY32-NEXT:#define __SIZEOF_SHORT__ 2 +// 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__ "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__ // WEBASSEMBLY32-NOT:#define __STDC_NO_ATOMICS__ // WEBASSEMBLY32-NOT:#define __STDC_NO_COMPLEX__ // WEBASSEMBLY32-NOT:#define __STDC_NO_VLA__ // WEBASSEMBLY32-NOT:#define __STDC_NO_THREADS__ -// WEBASSEMBLY32-NEXT:#define __STDC_UTF_16__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __STDC_UTF_32__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __STDC_VERSION__ 201112L{{$}} -// WEBASSEMBLY32-NEXT:#define __STDC__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT16_C_SUFFIX__ {{$}} -// WEBASSEMBLY32-NEXT:#define __UINT16_FMTX__ "hX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT16_FMTo__ "ho"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT16_FMTu__ "hu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT16_FMTx__ "hx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT16_MAX__ 65535{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT32_C_SUFFIX__ U{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT32_FMTX__ "X"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT32_FMTo__ "o"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT32_FMTu__ "u"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT32_FMTx__ "x"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT32_MAX__ 4294967295U{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT64_C_SUFFIX__ ULL{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT64_FMTX__ "llX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT64_FMTo__ "llo"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT64_FMTu__ "llu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT64_FMTx__ "llx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT64_MAX__ 18446744073709551615ULL{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT64_TYPE__ long long unsigned int{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT8_C_SUFFIX__ {{$}} -// WEBASSEMBLY32-NEXT:#define __UINT8_FMTX__ "hhX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT8_FMTo__ "hho"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT8_FMTu__ "hhu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT8_FMTx__ "hhx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT8_MAX__ 255{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT8_TYPE__ unsigned char{{$}} -// WEBASSEMBLY32-NEXT:#define __UINTMAX_C_SUFFIX__ ULL{{$}} -// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTX__ "llX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTo__ "llo"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTu__ "llu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTx__ "llx"{{$}} -// 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__ "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"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_FMTu__ "hu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_FMTx__ "hx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_MAX__ 65535{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTX__ "X"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTo__ "o"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTu__ "u"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTx__ "x"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_MAX__ 4294967295U{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTX__ "llX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTo__ "llo"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTu__ "llu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTx__ "llx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_MAX__ 18446744073709551615ULL{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_TYPE__ long long unsigned int{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTX__ "hhX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTo__ "hho"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTu__ "hhu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTx__ "hhx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_MAX__ 255{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_TYPE__ unsigned char{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTX__ "hX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTo__ "ho"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTu__ "hu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTx__ "hx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_MAX__ 65535{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTX__ "X"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTo__ "o"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTu__ "u"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTx__ "x"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_MAX__ 4294967295U{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTX__ "llX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTo__ "llo"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTu__ "llu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTx__ "llx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_TYPE__ long long unsigned int{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTX__ "hhX"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTo__ "hho"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTu__ "hhu"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTx__ "hhx"{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_MAX__ 255{{$}} -// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_TYPE__ unsigned char{{$}} -// WEBASSEMBLY32-NEXT:#define __USER_LABEL_PREFIX__ {{$}} -// WEBASSEMBLY32-NEXT:#define __VERSION__ "{{.*}}"{{$}} -// WEBASSEMBLY32-NEXT:#define __WCHAR_MAX__ 2147483647{{$}} -// WEBASSEMBLY32-NEXT:#define __WCHAR_TYPE__ int{{$}} +// WEBASSEMBLY32-NEXT:#define __STDC_UTF_16__ 1 +// WEBASSEMBLY32-NEXT:#define __STDC_UTF_32__ 1 +// WEBASSEMBLY32-NEXT:#define __STDC_VERSION__ 201112L +// WEBASSEMBLY32-NEXT:#define __STDC__ 1 +// WEBASSEMBLY32-NEXT:#define __UINT16_C_SUFFIX__ +// WEBASSEMBLY32-NEXT:#define __UINT16_FMTX__ "hX" +// WEBASSEMBLY32-NEXT:#define __UINT16_FMTo__ "ho" +// WEBASSEMBLY32-NEXT:#define __UINT16_FMTu__ "hu" +// WEBASSEMBLY32-NEXT:#define __UINT16_FMTx__ "hx" +// WEBASSEMBLY32-NEXT:#define __UINT16_MAX__ 65535 +// WEBASSEMBLY32-NEXT:#define __UINT16_TYPE__ unsigned short +// WEBASSEMBLY32-NEXT:#define __UINT32_C_SUFFIX__ U +// WEBASSEMBLY32-NEXT:#define __UINT32_FMTX__ "X" +// WEBASSEMBLY32-NEXT:#define __UINT32_FMTo__ "o" +// WEBASSEMBLY32-NEXT:#define __UINT32_FMTu__ "u" +// WEBASSEMBLY32-NEXT:#define __UINT32_FMTx__ "x" +// WEBASSEMBLY32-NEXT:#define __UINT32_MAX__ 4294967295U +// WEBASSEMBLY32-NEXT:#define __UINT32_TYPE__ unsigned int +// WEBASSEMBLY32-NEXT:#define __UINT64_C_SUFFIX__ ULL +// WEBASSEMBLY32-NEXT:#define __UINT64_FMTX__ "llX" +// WEBASSEMBLY32-NEXT:#define __UINT64_FMTo__ "llo" +// WEBASSEMBLY32-NEXT:#define __UINT64_FMTu__ "llu" +// WEBASSEMBLY32-NEXT:#define __UINT64_FMTx__ "llx" +// WEBASSEMBLY32-NEXT:#define __UINT64_MAX__ 18446744073709551615ULL +// WEBASSEMBLY32-NEXT:#define __UINT64_TYPE__ long long unsigned int +// WEBASSEMBLY32-NEXT:#define __UINT8_C_SUFFIX__ +// WEBASSEMBLY32-NEXT:#define __UINT8_FMTX__ "hhX" +// WEBASSEMBLY32-NEXT:#define __UINT8_FMTo__ "hho" +// WEBASSEMBLY32-NEXT:#define __UINT8_FMTu__ "hhu" +// WEBASSEMBLY32-NEXT:#define __UINT8_FMTx__ "hhx" +// WEBASSEMBLY32-NEXT:#define __UINT8_MAX__ 255 +// WEBASSEMBLY32-NEXT:#define __UINT8_TYPE__ unsigned char +// WEBASSEMBLY32-NEXT:#define __UINTMAX_C_SUFFIX__ ULL +// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTX__ "llX" +// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTo__ "llo" +// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTu__ "llu" +// WEBASSEMBLY32-NEXT:#define __UINTMAX_FMTx__ "llx" +// 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__ "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" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_FMTu__ "hu" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_FMTx__ "hx" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_MAX__ 65535 +// WEBASSEMBLY32-NEXT:#define __UINT_FAST16_TYPE__ unsigned short +// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTX__ "X" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTo__ "o" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTu__ "u" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_FMTx__ "x" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_MAX__ 4294967295U +// WEBASSEMBLY32-NEXT:#define __UINT_FAST32_TYPE__ unsigned int +// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTX__ "llX" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTo__ "llo" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTu__ "llu" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_FMTx__ "llx" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_MAX__ 18446744073709551615ULL +// WEBASSEMBLY32-NEXT:#define __UINT_FAST64_TYPE__ long long unsigned int +// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTX__ "hhX" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTo__ "hho" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTu__ "hhu" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_FMTx__ "hhx" +// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_MAX__ 255 +// WEBASSEMBLY32-NEXT:#define __UINT_FAST8_TYPE__ unsigned char +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTX__ "hX" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTo__ "ho" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTu__ "hu" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_FMTx__ "hx" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_MAX__ 65535 +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST16_TYPE__ unsigned short +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTX__ "X" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTo__ "o" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTu__ "u" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_FMTx__ "x" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_MAX__ 4294967295U +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST32_TYPE__ unsigned int +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTX__ "llX" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTo__ "llo" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTu__ "llu" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_FMTx__ "llx" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST64_TYPE__ long long unsigned int +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTX__ "hhX" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTo__ "hho" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTu__ "hhu" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_FMTx__ "hhx" +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_MAX__ 255 +// WEBASSEMBLY32-NEXT:#define __UINT_LEAST8_TYPE__ unsigned char +// WEBASSEMBLY32-NEXT:#define __USER_LABEL_PREFIX__ +// WEBASSEMBLY32-NEXT:#define __VERSION__ "{{.*}}" +// WEBASSEMBLY32-NEXT:#define __WCHAR_MAX__ 2147483647 +// WEBASSEMBLY32-NEXT:#define __WCHAR_TYPE__ int // WEBASSEMBLY32-NOT:#define __WCHAR_UNSIGNED__ -// WEBASSEMBLY32-NEXT:#define __WCHAR_WIDTH__ 32{{$}} -// WEBASSEMBLY32-NEXT:#define __WINT_TYPE__ int{{$}} +// WEBASSEMBLY32-NEXT:#define __WCHAR_WIDTH__ 32 +// WEBASSEMBLY32-NEXT:#define __WINT_TYPE__ int // WEBASSEMBLY32-NOT:#define __WINT_UNSIGNED__ -// WEBASSEMBLY32-NEXT:#define __WINT_WIDTH__ 32{{$}} -// WEBASSEMBLY32-NEXT:#define __clang__ 1{{$}} -// WEBASSEMBLY32-NEXT:#define __clang_major__ {{.}} -// WEBASSEMBLY32-NEXT:#define __clang_minor__ {{.}} -// WEBASSEMBLY32-NEXT:#define __clang_patchlevel__ {{.}} -// WEBASSEMBLY32-NEXT:#define __clang_version__ "{{.*}}"{{$}} -// WEBASSEMBLY32-NEXT:#define __llvm__ 1{{$}} +// WEBASSEMBLY32-NEXT:#define __WINT_WIDTH__ 32 +// WEBASSEMBLY32-NEXT:#define __clang__ 1 +// WEBASSEMBLY32-NEXT:#define __clang_major__ {{.*}} +// WEBASSEMBLY32-NEXT:#define __clang_minor__ {{.*}} +// WEBASSEMBLY32-NEXT:#define __clang_patchlevel__ {{.*}} +// WEBASSEMBLY32-NEXT:#define __clang_version__ "{{.*}}" +// WEBASSEMBLY32-NEXT:#define __llvm__ 1 // WEBASSEMBLY32-NOT:#define __wasm_simd128__ // WEBASSEMBLY32-NOT:#define __wasm_simd256__ // WEBASSEMBLY32-NOT:#define __wasm_simd512__ // WEBASSEMBLY32-NOT:#define __unix // WEBASSEMBLY32-NOT:#define __unix__ -// WEBASSEMBLY32-NEXT:#define __wasm 1{{$}} -// WEBASSEMBLY32-NEXT:#define __wasm32 1{{$}} -// WEBASSEMBLY32-NEXT:#define __wasm32__ 1{{$}} +// WEBASSEMBLY32-NEXT:#define __wasm 1 +// WEBASSEMBLY32-NEXT:#define __wasm32 1 +// WEBASSEMBLY32-NEXT:#define __wasm32__ 1 // WEBASSEMBLY32-NOT:#define __wasm64 // WEBASSEMBLY32-NOT:#define __wasm64__ -// WEBASSEMBLY32-NEXT:#define __wasm__ 1{{$}} +// WEBASSEMBLY32-NEXT:#define __wasm__ 1 // // RUN: %clang_cc1 -E -dM -ffreestanding -triple=wasm64-unknown-unknown \ // RUN: < /dev/null \ -// RUN: | FileCheck -check-prefix=WEBASSEMBLY64 %s +// RUN: | FileCheck -match-full-lines -check-prefix=WEBASSEMBLY64 %s // // WEBASSEMBLY64-NOT:#define _ILP32 -// WEBASSEMBLY64:#define _LP64 1{{$}} -// WEBASSEMBLY64-NEXT:#define __ATOMIC_ACQUIRE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __ATOMIC_ACQ_REL 4{{$}} -// WEBASSEMBLY64-NEXT:#define __ATOMIC_CONSUME 1{{$}} -// WEBASSEMBLY64-NEXT:#define __ATOMIC_RELAXED 0{{$}} -// WEBASSEMBLY64-NEXT:#define __ATOMIC_RELEASE 3{{$}} -// WEBASSEMBLY64-NEXT:#define __ATOMIC_SEQ_CST 5{{$}} -// WEBASSEMBLY64-NEXT:#define __BIGGEST_ALIGNMENT__ 16{{$}} -// WEBASSEMBLY64-NEXT:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__{{$}} -// WEBASSEMBLY64-NEXT:#define __CHAR16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY64-NEXT:#define __CHAR32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __CHAR_BIT__ 8{{$}} +// WEBASSEMBLY64:#define _LP64 1 +// WEBASSEMBLY64-NEXT:#define __ATOMIC_ACQUIRE 2 +// WEBASSEMBLY64-NEXT:#define __ATOMIC_ACQ_REL 4 +// WEBASSEMBLY64-NEXT:#define __ATOMIC_CONSUME 1 +// WEBASSEMBLY64-NEXT:#define __ATOMIC_RELAXED 0 +// WEBASSEMBLY64-NEXT:#define __ATOMIC_RELEASE 3 +// WEBASSEMBLY64-NEXT:#define __ATOMIC_SEQ_CST 5 +// WEBASSEMBLY64-NEXT:#define __BIGGEST_ALIGNMENT__ 16 +// WEBASSEMBLY64-NEXT:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +// WEBASSEMBLY64-NEXT:#define __CHAR16_TYPE__ unsigned short +// WEBASSEMBLY64-NEXT:#define __CHAR32_TYPE__ unsigned int +// WEBASSEMBLY64-NEXT:#define __CHAR_BIT__ 8 // WEBASSEMBLY64-NOT:#define __CHAR_UNSIGNED__ -// WEBASSEMBLY64-NEXT:#define __CONSTANT_CFSTRINGS__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_DECIMAL_DIG__ 17{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_DIG__ 15{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_EPSILON__ 2.2204460492503131e-16{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_HAS_DENORM__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_HAS_INFINITY__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_HAS_QUIET_NAN__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_MANT_DIG__ 53{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_MAX_10_EXP__ 308{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_MAX_EXP__ 1024{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_MAX__ 1.7976931348623157e+308{{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_MIN_10_EXP__ (-307){{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_MIN_EXP__ (-1021){{$}} -// WEBASSEMBLY64-NEXT:#define __DBL_MIN__ 2.2250738585072014e-308{{$}} -// WEBASSEMBLY64-NEXT:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__{{$}} +// WEBASSEMBLY64-NEXT:#define __CONSTANT_CFSTRINGS__ 1 +// WEBASSEMBLY64-NEXT:#define __DBL_DECIMAL_DIG__ 17 +// WEBASSEMBLY64-NEXT:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +// WEBASSEMBLY64-NEXT:#define __DBL_DIG__ 15 +// WEBASSEMBLY64-NEXT:#define __DBL_EPSILON__ 2.2204460492503131e-16 +// WEBASSEMBLY64-NEXT:#define __DBL_HAS_DENORM__ 1 +// WEBASSEMBLY64-NEXT:#define __DBL_HAS_INFINITY__ 1 +// WEBASSEMBLY64-NEXT:#define __DBL_HAS_QUIET_NAN__ 1 +// WEBASSEMBLY64-NEXT:#define __DBL_MANT_DIG__ 53 +// WEBASSEMBLY64-NEXT:#define __DBL_MAX_10_EXP__ 308 +// WEBASSEMBLY64-NEXT:#define __DBL_MAX_EXP__ 1024 +// WEBASSEMBLY64-NEXT:#define __DBL_MAX__ 1.7976931348623157e+308 +// WEBASSEMBLY64-NEXT:#define __DBL_MIN_10_EXP__ (-307) +// WEBASSEMBLY64-NEXT:#define __DBL_MIN_EXP__ (-1021) +// WEBASSEMBLY64-NEXT:#define __DBL_MIN__ 2.2250738585072014e-308 +// WEBASSEMBLY64-NEXT:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__ // WEBASSEMBLY64-NOT:#define __ELF__ -// WEBASSEMBLY64-NEXT:#define __FINITE_MATH_ONLY__ 0{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_DECIMAL_DIG__ 9{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_DENORM_MIN__ 1.40129846e-45F{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_DIG__ 6{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_EPSILON__ 1.19209290e-7F{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_EVAL_METHOD__ 0{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_HAS_DENORM__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_HAS_INFINITY__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_HAS_QUIET_NAN__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_MANT_DIG__ 24{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_MAX_10_EXP__ 38{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_MAX_EXP__ 128{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_MAX__ 3.40282347e+38F{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_MIN_10_EXP__ (-37){{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_MIN_EXP__ (-125){{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_MIN__ 1.17549435e-38F{{$}} -// WEBASSEMBLY64-NEXT:#define __FLT_RADIX__ 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_BOOL_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_CHAR_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_INT_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_LLONG_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_LONG_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_POINTER_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_SHORT_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1{{$}} -// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2{{$}} -// WEBASSEMBLY64-NEXT:#define __GNUC_MINOR__ {{.}} -// WEBASSEMBLY64-NEXT:#define __GNUC_PATCHLEVEL__ {{.}} -// WEBASSEMBLY64-NEXT:#define __GNUC_STDC_INLINE__ 1{{$}} +// WEBASSEMBLY64-NEXT:#define __FINITE_MATH_ONLY__ 0 +// WEBASSEMBLY64-NEXT:#define __FLT_DECIMAL_DIG__ 9 +// WEBASSEMBLY64-NEXT:#define __FLT_DENORM_MIN__ 1.40129846e-45F +// WEBASSEMBLY64-NEXT:#define __FLT_DIG__ 6 +// WEBASSEMBLY64-NEXT:#define __FLT_EPSILON__ 1.19209290e-7F +// WEBASSEMBLY64-NEXT:#define __FLT_EVAL_METHOD__ 0 +// WEBASSEMBLY64-NEXT:#define __FLT_HAS_DENORM__ 1 +// WEBASSEMBLY64-NEXT:#define __FLT_HAS_INFINITY__ 1 +// WEBASSEMBLY64-NEXT:#define __FLT_HAS_QUIET_NAN__ 1 +// WEBASSEMBLY64-NEXT:#define __FLT_MANT_DIG__ 24 +// WEBASSEMBLY64-NEXT:#define __FLT_MAX_10_EXP__ 38 +// WEBASSEMBLY64-NEXT:#define __FLT_MAX_EXP__ 128 +// WEBASSEMBLY64-NEXT:#define __FLT_MAX__ 3.40282347e+38F +// WEBASSEMBLY64-NEXT:#define __FLT_MIN_10_EXP__ (-37) +// WEBASSEMBLY64-NEXT:#define __FLT_MIN_EXP__ (-125) +// WEBASSEMBLY64-NEXT:#define __FLT_MIN__ 1.17549435e-38F +// WEBASSEMBLY64-NEXT:#define __FLT_RADIX__ 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_BOOL_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_CHAR_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_INT_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_LLONG_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_LONG_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_POINTER_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_SHORT_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 +// WEBASSEMBLY64-NEXT:#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 +// WEBASSEMBLY64-NEXT:#define __GNUC_MINOR__ {{.*}} +// WEBASSEMBLY64-NEXT:#define __GNUC_PATCHLEVEL__ {{.*}} +// WEBASSEMBLY64-NEXT:#define __GNUC_STDC_INLINE__ 1 // WEBASSEMBLY64-NEXT:#define __GNUC__ {{.}} -// WEBASSEMBLY64-NEXT:#define __GXX_ABI_VERSION 1002{{$}} -// WEBASSEMBLY64-NEXT:#define __GXX_RTTI 1{{$}} +// WEBASSEMBLY64-NEXT:#define __GXX_ABI_VERSION 1002 // WEBASSEMBLY64-NOT:#define __ILP32__ -// WEBASSEMBLY64-NEXT:#define __INT16_C_SUFFIX__ {{$}} -// WEBASSEMBLY64-NEXT:#define __INT16_FMTd__ "hd"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT16_FMTi__ "hi"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT16_MAX__ 32767{{$}} -// WEBASSEMBLY64-NEXT:#define __INT16_TYPE__ short{{$}} -// WEBASSEMBLY64-NEXT:#define __INT32_C_SUFFIX__ {{$}} -// WEBASSEMBLY64-NEXT:#define __INT32_FMTd__ "d"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT32_FMTi__ "i"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT32_MAX__ 2147483647{{$}} -// WEBASSEMBLY64-NEXT:#define __INT32_TYPE__ int{{$}} -// WEBASSEMBLY64-NEXT:#define __INT64_C_SUFFIX__ LL{{$}} -// WEBASSEMBLY64-NEXT:#define __INT64_FMTd__ "lld"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT64_FMTi__ "lli"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT64_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY64-NEXT:#define __INT64_TYPE__ long long int{{$}} -// WEBASSEMBLY64-NEXT:#define __INT8_C_SUFFIX__ {{$}} -// WEBASSEMBLY64-NEXT:#define __INT8_FMTd__ "hhd"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT8_FMTi__ "hhi"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT8_MAX__ 127{{$}} -// WEBASSEMBLY64-NEXT:#define __INT8_TYPE__ signed char{{$}} -// WEBASSEMBLY64-NEXT:#define __INTMAX_C_SUFFIX__ LL{{$}} -// WEBASSEMBLY64-NEXT:#define __INTMAX_FMTd__ "lld"{{$}} -// WEBASSEMBLY64-NEXT:#define __INTMAX_FMTi__ "lli"{{$}} -// WEBASSEMBLY64-NEXT:#define __INTMAX_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY64-NEXT:#define __INTMAX_TYPE__ long long int{{$}} -// WEBASSEMBLY64-NEXT:#define __INTMAX_WIDTH__ 64{{$}} -// WEBASSEMBLY64-NEXT:#define __INTPTR_FMTd__ "ld"{{$}} -// WEBASSEMBLY64-NEXT:#define __INTPTR_FMTi__ "li"{{$}} -// WEBASSEMBLY64-NEXT:#define __INTPTR_MAX__ 9223372036854775807L{{$}} -// WEBASSEMBLY64-NEXT:#define __INTPTR_TYPE__ long int{{$}} -// WEBASSEMBLY64-NEXT:#define __INTPTR_WIDTH__ 64{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST16_FMTd__ "hd"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST16_FMTi__ "hi"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST16_MAX__ 32767{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST16_TYPE__ short{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST32_FMTd__ "d"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST32_FMTi__ "i"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST32_MAX__ 2147483647{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST32_TYPE__ int{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST64_FMTd__ "lld"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST64_FMTi__ "lli"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST64_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST64_TYPE__ long long int{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST8_FMTd__ "hhd"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST8_FMTi__ "hhi"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST8_MAX__ 127{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_FAST8_TYPE__ signed char{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_FMTd__ "hd"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_FMTi__ "hi"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_MAX__ 32767{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_TYPE__ short{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_FMTd__ "d"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_FMTi__ "i"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_MAX__ 2147483647{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_TYPE__ int{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_FMTd__ "lld"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_FMTi__ "lli"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_TYPE__ long long int{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_FMTd__ "hhd"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_FMTi__ "hhi"{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_MAX__ 127{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_TYPE__ signed char{{$}} -// WEBASSEMBLY64-NEXT:#define __INT_MAX__ 2147483647{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_DECIMAL_DIG__ 36{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_DIG__ 33{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_HAS_DENORM__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_HAS_INFINITY__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_HAS_QUIET_NAN__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_MANT_DIG__ 113{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_MAX_10_EXP__ 4932{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_MAX_EXP__ 16384{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L{{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_MIN_10_EXP__ (-4931){{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_MIN_EXP__ (-16381){{$}} -// WEBASSEMBLY64-NEXT:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L{{$}} -// WEBASSEMBLY64-NEXT:#define __LITTLE_ENDIAN__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __LONG_LONG_MAX__ 9223372036854775807LL{{$}} -// WEBASSEMBLY64-NEXT:#define __LONG_MAX__ 9223372036854775807L{{$}} -// WEBASSEMBLY64-NEXT:#define __LP64__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __NO_INLINE__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __ORDER_BIG_ENDIAN__ 4321{{$}} -// WEBASSEMBLY64-NEXT:#define __ORDER_LITTLE_ENDIAN__ 1234{{$}} -// WEBASSEMBLY64-NEXT:#define __ORDER_PDP_ENDIAN__ 3412{{$}} -// WEBASSEMBLY64-NEXT:#define __POINTER_WIDTH__ 64{{$}} -// WEBASSEMBLY64-NEXT:#define __PRAGMA_REDEFINE_EXTNAME 1{{$}} -// WEBASSEMBLY64-NEXT:#define __PTRDIFF_FMTd__ "ld"{{$}} -// WEBASSEMBLY64-NEXT:#define __PTRDIFF_FMTi__ "li"{{$}} -// WEBASSEMBLY64-NEXT:#define __PTRDIFF_MAX__ 9223372036854775807L{{$}} -// WEBASSEMBLY64-NEXT:#define __PTRDIFF_TYPE__ long int{{$}} -// WEBASSEMBLY64-NEXT:#define __PTRDIFF_WIDTH__ 64{{$}} +// WEBASSEMBLY64-NEXT:#define __INT16_C_SUFFIX__ +// WEBASSEMBLY64-NEXT:#define __INT16_FMTd__ "hd" +// WEBASSEMBLY64-NEXT:#define __INT16_FMTi__ "hi" +// WEBASSEMBLY64-NEXT:#define __INT16_MAX__ 32767 +// WEBASSEMBLY64-NEXT:#define __INT16_TYPE__ short +// WEBASSEMBLY64-NEXT:#define __INT32_C_SUFFIX__ +// WEBASSEMBLY64-NEXT:#define __INT32_FMTd__ "d" +// WEBASSEMBLY64-NEXT:#define __INT32_FMTi__ "i" +// WEBASSEMBLY64-NEXT:#define __INT32_MAX__ 2147483647 +// WEBASSEMBLY64-NEXT:#define __INT32_TYPE__ int +// WEBASSEMBLY64-NEXT:#define __INT64_C_SUFFIX__ LL +// WEBASSEMBLY64-NEXT:#define __INT64_FMTd__ "lld" +// WEBASSEMBLY64-NEXT:#define __INT64_FMTi__ "lli" +// WEBASSEMBLY64-NEXT:#define __INT64_MAX__ 9223372036854775807LL +// WEBASSEMBLY64-NEXT:#define __INT64_TYPE__ long long int +// WEBASSEMBLY64-NEXT:#define __INT8_C_SUFFIX__ +// WEBASSEMBLY64-NEXT:#define __INT8_FMTd__ "hhd" +// WEBASSEMBLY64-NEXT:#define __INT8_FMTi__ "hhi" +// WEBASSEMBLY64-NEXT:#define __INT8_MAX__ 127 +// WEBASSEMBLY64-NEXT:#define __INT8_TYPE__ signed char +// WEBASSEMBLY64-NEXT:#define __INTMAX_C_SUFFIX__ LL +// WEBASSEMBLY64-NEXT:#define __INTMAX_FMTd__ "lld" +// WEBASSEMBLY64-NEXT:#define __INTMAX_FMTi__ "lli" +// WEBASSEMBLY64-NEXT:#define __INTMAX_MAX__ 9223372036854775807LL +// WEBASSEMBLY64-NEXT:#define __INTMAX_TYPE__ long long int +// WEBASSEMBLY64-NEXT:#define __INTMAX_WIDTH__ 64 +// WEBASSEMBLY64-NEXT:#define __INTPTR_FMTd__ "ld" +// WEBASSEMBLY64-NEXT:#define __INTPTR_FMTi__ "li" +// WEBASSEMBLY64-NEXT:#define __INTPTR_MAX__ 9223372036854775807L +// WEBASSEMBLY64-NEXT:#define __INTPTR_TYPE__ long int +// WEBASSEMBLY64-NEXT:#define __INTPTR_WIDTH__ 64 +// WEBASSEMBLY64-NEXT:#define __INT_FAST16_FMTd__ "hd" +// WEBASSEMBLY64-NEXT:#define __INT_FAST16_FMTi__ "hi" +// WEBASSEMBLY64-NEXT:#define __INT_FAST16_MAX__ 32767 +// WEBASSEMBLY64-NEXT:#define __INT_FAST16_TYPE__ short +// WEBASSEMBLY64-NEXT:#define __INT_FAST32_FMTd__ "d" +// WEBASSEMBLY64-NEXT:#define __INT_FAST32_FMTi__ "i" +// WEBASSEMBLY64-NEXT:#define __INT_FAST32_MAX__ 2147483647 +// WEBASSEMBLY64-NEXT:#define __INT_FAST32_TYPE__ int +// WEBASSEMBLY64-NEXT:#define __INT_FAST64_FMTd__ "lld" +// WEBASSEMBLY64-NEXT:#define __INT_FAST64_FMTi__ "lli" +// WEBASSEMBLY64-NEXT:#define __INT_FAST64_MAX__ 9223372036854775807LL +// WEBASSEMBLY64-NEXT:#define __INT_FAST64_TYPE__ long long int +// WEBASSEMBLY64-NEXT:#define __INT_FAST8_FMTd__ "hhd" +// WEBASSEMBLY64-NEXT:#define __INT_FAST8_FMTi__ "hhi" +// WEBASSEMBLY64-NEXT:#define __INT_FAST8_MAX__ 127 +// WEBASSEMBLY64-NEXT:#define __INT_FAST8_TYPE__ signed char +// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_FMTd__ "hd" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_FMTi__ "hi" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_MAX__ 32767 +// WEBASSEMBLY64-NEXT:#define __INT_LEAST16_TYPE__ short +// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_FMTd__ "d" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_FMTi__ "i" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_MAX__ 2147483647 +// WEBASSEMBLY64-NEXT:#define __INT_LEAST32_TYPE__ int +// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_FMTd__ "lld" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_FMTi__ "lli" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_MAX__ 9223372036854775807LL +// WEBASSEMBLY64-NEXT:#define __INT_LEAST64_TYPE__ long long int +// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_FMTd__ "hhd" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_FMTi__ "hhi" +// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_MAX__ 127 +// WEBASSEMBLY64-NEXT:#define __INT_LEAST8_TYPE__ signed char +// WEBASSEMBLY64-NEXT:#define __INT_MAX__ 2147483647 +// WEBASSEMBLY64-NEXT:#define __LDBL_DECIMAL_DIG__ 36 +// WEBASSEMBLY64-NEXT:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L +// WEBASSEMBLY64-NEXT:#define __LDBL_DIG__ 33 +// WEBASSEMBLY64-NEXT:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L +// WEBASSEMBLY64-NEXT:#define __LDBL_HAS_DENORM__ 1 +// WEBASSEMBLY64-NEXT:#define __LDBL_HAS_INFINITY__ 1 +// WEBASSEMBLY64-NEXT:#define __LDBL_HAS_QUIET_NAN__ 1 +// WEBASSEMBLY64-NEXT:#define __LDBL_MANT_DIG__ 113 +// WEBASSEMBLY64-NEXT:#define __LDBL_MAX_10_EXP__ 4932 +// WEBASSEMBLY64-NEXT:#define __LDBL_MAX_EXP__ 16384 +// WEBASSEMBLY64-NEXT:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L +// WEBASSEMBLY64-NEXT:#define __LDBL_MIN_10_EXP__ (-4931) +// WEBASSEMBLY64-NEXT:#define __LDBL_MIN_EXP__ (-16381) +// WEBASSEMBLY64-NEXT:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L +// WEBASSEMBLY64-NEXT:#define __LITTLE_ENDIAN__ 1 +// WEBASSEMBLY64-NEXT:#define __LONG_LONG_MAX__ 9223372036854775807LL +// WEBASSEMBLY64-NEXT:#define __LONG_MAX__ 9223372036854775807L +// WEBASSEMBLY64-NEXT:#define __LP64__ 1 +// WEBASSEMBLY64-NEXT:#define __NO_INLINE__ 1 +// WEBASSEMBLY64-NEXT:#define __ORDER_BIG_ENDIAN__ 4321 +// WEBASSEMBLY64-NEXT:#define __ORDER_LITTLE_ENDIAN__ 1234 +// WEBASSEMBLY64-NEXT:#define __ORDER_PDP_ENDIAN__ 3412 +// WEBASSEMBLY64-NEXT:#define __POINTER_WIDTH__ 64 +// WEBASSEMBLY64-NEXT:#define __PRAGMA_REDEFINE_EXTNAME 1 +// WEBASSEMBLY64-NEXT:#define __PTRDIFF_FMTd__ "ld" +// WEBASSEMBLY64-NEXT:#define __PTRDIFF_FMTi__ "li" +// WEBASSEMBLY64-NEXT:#define __PTRDIFF_MAX__ 9223372036854775807L +// WEBASSEMBLY64-NEXT:#define __PTRDIFF_TYPE__ long int +// WEBASSEMBLY64-NEXT:#define __PTRDIFF_WIDTH__ 64 // WEBASSEMBLY64-NOT:#define __REGISTER_PREFIX__ -// WEBASSEMBLY64-NEXT:#define __SCHAR_MAX__ 127{{$}} -// WEBASSEMBLY64-NEXT:#define __SHRT_MAX__ 32767{{$}} -// WEBASSEMBLY64-NEXT:#define __SIG_ATOMIC_MAX__ 9223372036854775807L{{$}} -// WEBASSEMBLY64-NEXT:#define __SIG_ATOMIC_WIDTH__ 64{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_DOUBLE__ 8{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_FLOAT__ 4{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_INT128__ 16{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_INT__ 4{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_LONG_DOUBLE__ 16{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_LONG_LONG__ 8{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_LONG__ 8{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_POINTER__ 8{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_PTRDIFF_T__ 8{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_SHORT__ 2{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_SIZE_T__ 8{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_WCHAR_T__ 4{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZEOF_WINT_T__ 4{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZE_FMTX__ "lX"{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZE_FMTo__ "lo"{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZE_FMTu__ "lu"{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZE_FMTx__ "lx"{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZE_MAX__ 18446744073709551615UL{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZE_TYPE__ long unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __SIZE_WIDTH__ 64{{$}} -// WEBASSEMBLY64-NEXT:#define __STDC_HOSTED__ 0{{$}} +// WEBASSEMBLY64-NEXT:#define __SCHAR_MAX__ 127 +// WEBASSEMBLY64-NEXT:#define __SHRT_MAX__ 32767 +// WEBASSEMBLY64-NEXT:#define __SIG_ATOMIC_MAX__ 9223372036854775807L +// WEBASSEMBLY64-NEXT:#define __SIG_ATOMIC_WIDTH__ 64 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_DOUBLE__ 8 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_FLOAT__ 4 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_INT128__ 16 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_INT__ 4 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_LONG_DOUBLE__ 16 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_LONG_LONG__ 8 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_LONG__ 8 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_POINTER__ 8 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_PTRDIFF_T__ 8 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_SHORT__ 2 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_SIZE_T__ 8 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_WCHAR_T__ 4 +// WEBASSEMBLY64-NEXT:#define __SIZEOF_WINT_T__ 4 +// WEBASSEMBLY64-NEXT:#define __SIZE_FMTX__ "lX" +// WEBASSEMBLY64-NEXT:#define __SIZE_FMTo__ "lo" +// WEBASSEMBLY64-NEXT:#define __SIZE_FMTu__ "lu" +// WEBASSEMBLY64-NEXT:#define __SIZE_FMTx__ "lx" +// WEBASSEMBLY64-NEXT:#define __SIZE_MAX__ 18446744073709551615UL +// WEBASSEMBLY64-NEXT:#define __SIZE_TYPE__ long unsigned int +// WEBASSEMBLY64-NEXT:#define __SIZE_WIDTH__ 64 +// WEBASSEMBLY64-NEXT:#define __STDC_HOSTED__ 0 // WEBASSEMBLY64-NOT:#define __STDC_MB_MIGHT_NEQ_WC__ // WEBASSEMBLY64-NOT:#define __STDC_NO_ATOMICS__ // WEBASSEMBLY64-NOT:#define __STDC_NO_COMPLEX__ // WEBASSEMBLY64-NOT:#define __STDC_NO_VLA__ // WEBASSEMBLY64-NOT:#define __STDC_NO_THREADS__ -// WEBASSEMBLY64-NEXT:#define __STDC_UTF_16__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __STDC_UTF_32__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __STDC_VERSION__ 201112L{{$}} -// WEBASSEMBLY64-NEXT:#define __STDC__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT16_C_SUFFIX__ {{$}} -// WEBASSEMBLY64-NEXT:#define __UINT16_FMTX__ "hX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT16_FMTo__ "ho"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT16_FMTu__ "hu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT16_FMTx__ "hx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT16_MAX__ 65535{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT32_C_SUFFIX__ U{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT32_FMTX__ "X"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT32_FMTo__ "o"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT32_FMTu__ "u"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT32_FMTx__ "x"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT32_MAX__ 4294967295U{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT64_C_SUFFIX__ ULL{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT64_FMTX__ "llX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT64_FMTo__ "llo"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT64_FMTu__ "llu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT64_FMTx__ "llx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT64_MAX__ 18446744073709551615ULL{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT64_TYPE__ long long unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT8_C_SUFFIX__ {{$}} -// WEBASSEMBLY64-NEXT:#define __UINT8_FMTX__ "hhX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT8_FMTo__ "hho"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT8_FMTu__ "hhu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT8_FMTx__ "hhx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT8_MAX__ 255{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT8_TYPE__ unsigned char{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_C_SUFFIX__ ULL{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTX__ "llX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTo__ "llo"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTu__ "llu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTx__ "llx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_MAX__ 18446744073709551615ULL{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_TYPE__ long long unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTMAX_WIDTH__ 64{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTX__ "lX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTo__ "lo"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTu__ "lu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTx__ "lx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTPTR_MAX__ 18446744073709551615UL{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTPTR_TYPE__ long unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINTPTR_WIDTH__ 64{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTX__ "hX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTo__ "ho"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTu__ "hu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTx__ "hx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_MAX__ 65535{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTX__ "X"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTo__ "o"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTu__ "u"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTx__ "x"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_MAX__ 4294967295U{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTX__ "llX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTo__ "llo"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTu__ "llu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTx__ "llx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_MAX__ 18446744073709551615ULL{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_TYPE__ long long unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTX__ "hhX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTo__ "hho"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTu__ "hhu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTx__ "hhx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_MAX__ 255{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_TYPE__ unsigned char{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTX__ "hX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTo__ "ho"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTu__ "hu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTx__ "hx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_MAX__ 65535{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_TYPE__ unsigned short{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTX__ "X"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTo__ "o"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTu__ "u"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTx__ "x"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_MAX__ 4294967295U{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_TYPE__ unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTX__ "llX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTo__ "llo"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTu__ "llu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTx__ "llx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_TYPE__ long long unsigned int{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTX__ "hhX"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTo__ "hho"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTu__ "hhu"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTx__ "hhx"{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_MAX__ 255{{$}} -// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_TYPE__ unsigned char{{$}} -// WEBASSEMBLY64-NEXT:#define __USER_LABEL_PREFIX__ {{$}} -// WEBASSEMBLY64-NEXT:#define __VERSION__ "{{.*}}"{{$}} -// WEBASSEMBLY64-NEXT:#define __WCHAR_MAX__ 2147483647{{$}} -// WEBASSEMBLY64-NEXT:#define __WCHAR_TYPE__ int{{$}} +// WEBASSEMBLY64-NEXT:#define __STDC_UTF_16__ 1 +// WEBASSEMBLY64-NEXT:#define __STDC_UTF_32__ 1 +// WEBASSEMBLY64-NEXT:#define __STDC_VERSION__ 201112L +// WEBASSEMBLY64-NEXT:#define __STDC__ 1 +// WEBASSEMBLY64-NEXT:#define __UINT16_C_SUFFIX__ +// WEBASSEMBLY64-NEXT:#define __UINT16_FMTX__ "hX" +// WEBASSEMBLY64-NEXT:#define __UINT16_FMTo__ "ho" +// WEBASSEMBLY64-NEXT:#define __UINT16_FMTu__ "hu" +// WEBASSEMBLY64-NEXT:#define __UINT16_FMTx__ "hx" +// WEBASSEMBLY64-NEXT:#define __UINT16_MAX__ 65535 +// WEBASSEMBLY64-NEXT:#define __UINT16_TYPE__ unsigned short +// WEBASSEMBLY64-NEXT:#define __UINT32_C_SUFFIX__ U +// WEBASSEMBLY64-NEXT:#define __UINT32_FMTX__ "X" +// WEBASSEMBLY64-NEXT:#define __UINT32_FMTo__ "o" +// WEBASSEMBLY64-NEXT:#define __UINT32_FMTu__ "u" +// WEBASSEMBLY64-NEXT:#define __UINT32_FMTx__ "x" +// WEBASSEMBLY64-NEXT:#define __UINT32_MAX__ 4294967295U +// WEBASSEMBLY64-NEXT:#define __UINT32_TYPE__ unsigned int +// WEBASSEMBLY64-NEXT:#define __UINT64_C_SUFFIX__ ULL +// WEBASSEMBLY64-NEXT:#define __UINT64_FMTX__ "llX" +// WEBASSEMBLY64-NEXT:#define __UINT64_FMTo__ "llo" +// WEBASSEMBLY64-NEXT:#define __UINT64_FMTu__ "llu" +// WEBASSEMBLY64-NEXT:#define __UINT64_FMTx__ "llx" +// WEBASSEMBLY64-NEXT:#define __UINT64_MAX__ 18446744073709551615ULL +// WEBASSEMBLY64-NEXT:#define __UINT64_TYPE__ long long unsigned int +// WEBASSEMBLY64-NEXT:#define __UINT8_C_SUFFIX__ +// WEBASSEMBLY64-NEXT:#define __UINT8_FMTX__ "hhX" +// WEBASSEMBLY64-NEXT:#define __UINT8_FMTo__ "hho" +// WEBASSEMBLY64-NEXT:#define __UINT8_FMTu__ "hhu" +// WEBASSEMBLY64-NEXT:#define __UINT8_FMTx__ "hhx" +// WEBASSEMBLY64-NEXT:#define __UINT8_MAX__ 255 +// WEBASSEMBLY64-NEXT:#define __UINT8_TYPE__ unsigned char +// WEBASSEMBLY64-NEXT:#define __UINTMAX_C_SUFFIX__ ULL +// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTX__ "llX" +// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTo__ "llo" +// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTu__ "llu" +// WEBASSEMBLY64-NEXT:#define __UINTMAX_FMTx__ "llx" +// WEBASSEMBLY64-NEXT:#define __UINTMAX_MAX__ 18446744073709551615ULL +// WEBASSEMBLY64-NEXT:#define __UINTMAX_TYPE__ long long unsigned int +// WEBASSEMBLY64-NEXT:#define __UINTMAX_WIDTH__ 64 +// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTX__ "lX" +// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTo__ "lo" +// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTu__ "lu" +// WEBASSEMBLY64-NEXT:#define __UINTPTR_FMTx__ "lx" +// WEBASSEMBLY64-NEXT:#define __UINTPTR_MAX__ 18446744073709551615UL +// WEBASSEMBLY64-NEXT:#define __UINTPTR_TYPE__ long unsigned int +// WEBASSEMBLY64-NEXT:#define __UINTPTR_WIDTH__ 64 +// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTX__ "hX" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTo__ "ho" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTu__ "hu" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_FMTx__ "hx" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_MAX__ 65535 +// WEBASSEMBLY64-NEXT:#define __UINT_FAST16_TYPE__ unsigned short +// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTX__ "X" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTo__ "o" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTu__ "u" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_FMTx__ "x" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_MAX__ 4294967295U +// WEBASSEMBLY64-NEXT:#define __UINT_FAST32_TYPE__ unsigned int +// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTX__ "llX" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTo__ "llo" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTu__ "llu" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_FMTx__ "llx" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_MAX__ 18446744073709551615ULL +// WEBASSEMBLY64-NEXT:#define __UINT_FAST64_TYPE__ long long unsigned int +// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTX__ "hhX" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTo__ "hho" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTu__ "hhu" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_FMTx__ "hhx" +// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_MAX__ 255 +// WEBASSEMBLY64-NEXT:#define __UINT_FAST8_TYPE__ unsigned char +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTX__ "hX" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTo__ "ho" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTu__ "hu" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_FMTx__ "hx" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_MAX__ 65535 +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST16_TYPE__ unsigned short +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTX__ "X" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTo__ "o" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTu__ "u" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_FMTx__ "x" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_MAX__ 4294967295U +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST32_TYPE__ unsigned int +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTX__ "llX" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTo__ "llo" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTu__ "llu" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_FMTx__ "llx" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST64_TYPE__ long long unsigned int +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTX__ "hhX" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTo__ "hho" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTu__ "hhu" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_FMTx__ "hhx" +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_MAX__ 255 +// WEBASSEMBLY64-NEXT:#define __UINT_LEAST8_TYPE__ unsigned char +// WEBASSEMBLY64-NEXT:#define __USER_LABEL_PREFIX__ +// WEBASSEMBLY64-NEXT:#define __VERSION__ "{{.*}}" +// WEBASSEMBLY64-NEXT:#define __WCHAR_MAX__ 2147483647 +// WEBASSEMBLY64-NEXT:#define __WCHAR_TYPE__ int // WEBASSEMBLY64-NOT:#define __WCHAR_UNSIGNED__ -// WEBASSEMBLY64-NEXT:#define __WCHAR_WIDTH__ 32{{$}} -// WEBASSEMBLY64-NEXT:#define __WINT_TYPE__ int{{$}} +// WEBASSEMBLY64-NEXT:#define __WCHAR_WIDTH__ 32 +// WEBASSEMBLY64-NEXT:#define __WINT_TYPE__ int // WEBASSEMBLY64-NOT:#define __WINT_UNSIGNED__ -// WEBASSEMBLY64-NEXT:#define __WINT_WIDTH__ 32{{$}} -// WEBASSEMBLY64-NEXT:#define __clang__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __clang_major__ {{.}} -// WEBASSEMBLY64-NEXT:#define __clang_minor__ {{.}} -// WEBASSEMBLY64-NEXT:#define __clang_patchlevel__ {{.}} -// WEBASSEMBLY64-NEXT:#define __clang_version__ "{{.*}}"{{$}} -// WEBASSEMBLY64-NEXT:#define __llvm__ 1{{$}} +// WEBASSEMBLY64-NEXT:#define __WINT_WIDTH__ 32 +// WEBASSEMBLY64-NEXT:#define __clang__ 1 +// WEBASSEMBLY64-NEXT:#define __clang_major__ {{.*}} +// WEBASSEMBLY64-NEXT:#define __clang_minor__ {{.*}} +// WEBASSEMBLY64-NEXT:#define __clang_patchlevel__ {{.*}} +// WEBASSEMBLY64-NEXT:#define __clang_version__ "{{.*}}" +// WEBASSEMBLY64-NEXT:#define __llvm__ 1 // WEBASSEMBLY64-NOT:#define __wasm_simd128__ // WEBASSEMBLY64-NOT:#define __wasm_simd256__ // WEBASSEMBLY64-NOT:#define __wasm_simd512__ // WEBASSEMBLY64-NOT:#define __unix // WEBASSEMBLY64-NOT:#define __unix__ -// WEBASSEMBLY64-NEXT:#define __wasm 1{{$}} +// WEBASSEMBLY64-NEXT:#define __wasm 1 // WEBASSEMBLY64-NOT:#define __wasm32 // WEBASSEMBLY64-NOT:#define __wasm32__ -// WEBASSEMBLY64-NEXT:#define __wasm64 1{{$}} -// WEBASSEMBLY64-NEXT:#define __wasm64__ 1{{$}} -// WEBASSEMBLY64-NEXT:#define __wasm__ 1{{$}} +// WEBASSEMBLY64-NEXT:#define __wasm64 1 +// WEBASSEMBLY64-NEXT:#define __wasm64__ 1 +// WEBASSEMBLY64-NEXT:#define __wasm__ 1 + +// RUN: %clang_cc1 -E -dM -ffreestanding -triple i686-windows-cygnus < /dev/null | FileCheck -match-full-lines -check-prefix CYGWIN-X32 %s +// CYGWIN-X32: #define __USER_LABEL_PREFIX__ _ + +// RUN: %clang_cc1 -E -dM -ffreestanding -triple x86_64-windows-cygnus < /dev/null | FileCheck -match-full-lines -check-prefix CYGWIN-X64 %s +// CYGWIN-X64: #define __USER_LABEL_PREFIX__ + diff --git a/test/Preprocessor/invalid-__has_warning1.c b/test/Preprocessor/invalid-__has_warning1.c index b6a0b2e8ee3c..5e4f12f5699d 100644 --- a/test/Preprocessor/invalid-__has_warning1.c +++ b/test/Preprocessor/invalid-__has_warning1.c @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -verify %s // These must be the last lines in this test. -// expected-error@+1{{expected string literal}} expected-error@+1 2{{expected}} +// expected-error@+1{{unterminated}} expected-error@+1 2{{expected}} int i = __has_warning( diff --git a/test/Preprocessor/invalid-__has_warning2.c b/test/Preprocessor/invalid-__has_warning2.c index 8aba530c875a..f54ff4799319 100644 --- a/test/Preprocessor/invalid-__has_warning2.c +++ b/test/Preprocessor/invalid-__has_warning2.c @@ -1,5 +1,5 @@ // RUN: %clang_cc1 -verify %s // These must be the last lines in this test. -// expected-error@+1{{expected string literal}} expected-error@+1{{expected}} +// expected-error@+1{{too few arguments}} int i = __has_warning(); diff --git a/test/Preprocessor/macro_expand.c b/test/Preprocessor/macro_expand.c index cf98a2cbfb8f..430068ba7295 100644 --- a/test/Preprocessor/macro_expand.c +++ b/test/Preprocessor/macro_expand.c @@ -19,3 +19,9 @@ C: for(for)) // rdar://6880648 #define f(x,y...) y f() + +// CHECK: #pragma omp parallel for +#define FOO parallel +#define Streaming _Pragma("omp FOO for") +Streaming + diff --git a/test/Preprocessor/microsoft-ext.c b/test/Preprocessor/microsoft-ext.c index b03f6775429a..cb3cf4f15379 100644 --- a/test/Preprocessor/microsoft-ext.c +++ b/test/Preprocessor/microsoft-ext.c @@ -34,3 +34,12 @@ ACTION_TEMPLATE(InvokeArgument, MAKE_FUNC(MAK, ER, int a, _COMMA, int b); // CHECK: void func(int a , int b) {} + +#define macro(a, b) (a - b) +void function(int a); +#define COMMA_ELIDER(...) \ + macro(x, __VA_ARGS__); \ + function(x, __VA_ARGS__); +COMMA_ELIDER(); +// CHECK: (x - ); +// CHECK: function(x); diff --git a/test/Preprocessor/pic.c b/test/Preprocessor/pic.c index 3e649ee5ea2d..ec8c9542f001 100644 --- a/test/Preprocessor/pic.c +++ b/test/Preprocessor/pic.c @@ -19,16 +19,16 @@ // CHECK-PIC2: #define __pic__ 2 // CHECK-PIC2-NOT: #define __pie__ // -// RUN: %clang_cc1 -pie-level 1 -dM -E -o - %s \ +// RUN: %clang_cc1 -pic-level 1 -pic-is-pie -dM -E -o - %s \ // RUN: | FileCheck --check-prefix=CHECK-PIE1 %s -// CHECK-PIE1-NOT: #define __PIC__ +// CHECK-PIE1: #define __PIC__ 1 // CHECK-PIE1: #define __PIE__ 1 -// CHECK-PIE1-NOT: #define __pic__ +// CHECK-PIE1: #define __pic__ 1 // CHECK-PIE1: #define __pie__ 1 // -// RUN: %clang_cc1 -pie-level 2 -dM -E -o - %s \ +// RUN: %clang_cc1 -pic-level 2 -pic-is-pie -dM -E -o - %s \ // RUN: | FileCheck --check-prefix=CHECK-PIE2 %s -// CHECK-PIE2-NOT: #define __PIC__ +// CHECK-PIE2: #define __PIC__ 2 // CHECK-PIE2: #define __PIE__ 2 -// CHECK-PIE2-NOT: #define __pic__ +// CHECK-PIE2: #define __pic__ 2 // CHECK-PIE2: #define __pie__ 2 diff --git a/test/Preprocessor/pragma_diagnostic.c b/test/Preprocessor/pragma_diagnostic.c index e8a67abb79eb..3970dbbc8e2f 100644 --- a/test/Preprocessor/pragma_diagnostic.c +++ b/test/Preprocessor/pragma_diagnostic.c @@ -30,3 +30,18 @@ #pragma GCC diagnostic error "-Winvalid-name" // expected-warning {{unknown warning group '-Winvalid-name', ignored}} + +// Testing pragma clang diagnostic with -Weverything +void ppo(){} // First test that we do not diagnose on this. + +#pragma clang diagnostic warning "-Weverything" +void ppp(){} // expected-warning {{no previous prototype for function 'ppp'}} + +#pragma clang diagnostic ignored "-Weverything" // Reset it. +void ppq(){} + +#pragma clang diagnostic error "-Weverything" // Now set to error +void ppr(){} // expected-error {{no previous prototype for function 'ppr'}} + +#pragma clang diagnostic warning "-Weverything" // This should not be effective +void pps(){} // expected-error {{no previous prototype for function 'pps'}} diff --git a/test/Preprocessor/predefined-arch-macros.c b/test/Preprocessor/predefined-arch-macros.c index ea98e7fb0fe5..18a75df66e7d 100644 --- a/test/Preprocessor/predefined-arch-macros.c +++ b/test/Preprocessor/predefined-arch-macros.c @@ -2,19 +2,19 @@ // // RUN: %clang -march=i386 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I386_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I386_M32 // CHECK_I386_M32: #define __i386 1 // CHECK_I386_M32: #define __i386__ 1 // CHECK_I386_M32: #define __tune_i386__ 1 // CHECK_I386_M32: #define i386 1 // RUN: not %clang -march=i386 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I386_M64 -// CHECK_I386_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I386_M64 +// CHECK_I386_M64: error: {{.*}} // // RUN: %clang -march=i486 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I486_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I486_M32 // CHECK_I486_M32: #define __i386 1 // CHECK_I486_M32: #define __i386__ 1 // CHECK_I486_M32: #define __i486 1 @@ -23,12 +23,12 @@ // CHECK_I486_M32: #define i386 1 // RUN: not %clang -march=i486 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I486_M64 -// CHECK_I486_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I486_M64 +// CHECK_I486_M64: error: {{.*}} // // RUN: %clang -march=i586 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I586_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I586_M32 // CHECK_I586_M32: #define __i386 1 // CHECK_I586_M32: #define __i386__ 1 // CHECK_I586_M32: #define __i586 1 @@ -40,12 +40,12 @@ // CHECK_I586_M32: #define i386 1 // RUN: not %clang -march=i586 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I586_M64 -// CHECK_I586_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I586_M64 +// CHECK_I586_M64: error: {{.*}} // // RUN: %clang -march=pentium -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M32 // CHECK_PENTIUM_M32: #define __i386 1 // CHECK_PENTIUM_M32: #define __i386__ 1 // CHECK_PENTIUM_M32: #define __i586 1 @@ -57,12 +57,12 @@ // CHECK_PENTIUM_M32: #define i386 1 // RUN: not %clang -march=pentium -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M64 -// CHECK_PENTIUM_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M64 +// CHECK_PENTIUM_M64: error: {{.*}} // // RUN: %clang -march=pentium-mmx -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_MMX_M32 // CHECK_PENTIUM_MMX_M32: #define __MMX__ 1 // CHECK_PENTIUM_MMX_M32: #define __i386 1 // CHECK_PENTIUM_MMX_M32: #define __i386__ 1 @@ -77,12 +77,12 @@ // CHECK_PENTIUM_MMX_M32: #define i386 1 // RUN: not %clang -march=pentium-mmx -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_MMX_M64 -// CHECK_PENTIUM_MMX_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_MMX_M64 +// CHECK_PENTIUM_MMX_M64: error: {{.*}} // // RUN: %clang -march=winchip-c6 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP_C6_M32 // CHECK_WINCHIP_C6_M32: #define __MMX__ 1 // CHECK_WINCHIP_C6_M32: #define __i386 1 // CHECK_WINCHIP_C6_M32: #define __i386__ 1 @@ -92,12 +92,12 @@ // CHECK_WINCHIP_C6_M32: #define i386 1 // RUN: not %clang -march=winchip-c6 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP_C6_M64 -// CHECK_WINCHIP_C6_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP_C6_M64 +// CHECK_WINCHIP_C6_M64: error: {{.*}} // // RUN: %clang -march=winchip2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP2_M32 // CHECK_WINCHIP2_M32: #define __3dNOW__ 1 // CHECK_WINCHIP2_M32: #define __MMX__ 1 // CHECK_WINCHIP2_M32: #define __i386 1 @@ -108,12 +108,12 @@ // CHECK_WINCHIP2_M32: #define i386 1 // RUN: not %clang -march=winchip2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_WINCHIP2_M64 -// CHECK_WINCHIP2_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_WINCHIP2_M64 +// CHECK_WINCHIP2_M64: error: {{.*}} // // RUN: %clang -march=c3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_C3_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_M32 // CHECK_C3_M32: #define __3dNOW__ 1 // CHECK_C3_M32: #define __MMX__ 1 // CHECK_C3_M32: #define __i386 1 @@ -124,12 +124,12 @@ // CHECK_C3_M32: #define i386 1 // RUN: not %clang -march=c3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_C3_M64 -// CHECK_C3_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_M64 +// CHECK_C3_M64: error: {{.*}} // // RUN: %clang -march=c3-2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_2_M32 // CHECK_C3_2_M32: #define __MMX__ 1 // CHECK_C3_2_M32: #define __SSE__ 1 // CHECK_C3_2_M32: #define __i386 1 @@ -144,12 +144,12 @@ // CHECK_C3_2_M32: #define i386 1 // RUN: not %clang -march=c3-2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_C3_2_M64 -// CHECK_C3_2_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_C3_2_M64 +// CHECK_C3_2_M64: error: {{.*}} // // RUN: %clang -march=i686 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I686_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I686_M32 // CHECK_I686_M32: #define __i386 1 // CHECK_I686_M32: #define __i386__ 1 // CHECK_I686_M32: #define __i686 1 @@ -159,12 +159,12 @@ // CHECK_I686_M32: #define i386 1 // RUN: not %clang -march=i686 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_I686_M64 -// CHECK_I686_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_I686_M64 +// CHECK_I686_M64: error: {{.*}} // // RUN: %clang -march=pentiumpro -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUMPRO_M32 // CHECK_PENTIUMPRO_M32: #define __i386 1 // CHECK_PENTIUMPRO_M32: #define __i386__ 1 // CHECK_PENTIUMPRO_M32: #define __i686 1 @@ -176,12 +176,12 @@ // CHECK_PENTIUMPRO_M32: #define i386 1 // RUN: not %clang -march=pentiumpro -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUMPRO_M64 -// CHECK_PENTIUMPRO_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUMPRO_M64 +// CHECK_PENTIUMPRO_M64: error: {{.*}} // // RUN: %clang -march=pentium2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM2_M32 // CHECK_PENTIUM2_M32: #define __MMX__ 1 // CHECK_PENTIUM2_M32: #define __i386 1 // CHECK_PENTIUM2_M32: #define __i386__ 1 @@ -195,12 +195,12 @@ // CHECK_PENTIUM2_M32: #define i386 1 // RUN: not %clang -march=pentium2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM2_M64 -// CHECK_PENTIUM2_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM2_M64 +// CHECK_PENTIUM2_M64: error: {{.*}} // // RUN: %clang -march=pentium3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3_M32 // CHECK_PENTIUM3_M32: #define __MMX__ 1 // CHECK_PENTIUM3_M32: #define __SSE__ 1 // CHECK_PENTIUM3_M32: #define __i386 1 @@ -216,12 +216,12 @@ // CHECK_PENTIUM3_M32: #define i386 1 // RUN: not %clang -march=pentium3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3_M64 -// CHECK_PENTIUM3_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3_M64 +// CHECK_PENTIUM3_M64: error: {{.*}} // // RUN: %clang -march=pentium3m -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3M_M32 // CHECK_PENTIUM3M_M32: #define __MMX__ 1 // CHECK_PENTIUM3M_M32: #define __SSE__ 1 // CHECK_PENTIUM3M_M32: #define __i386 1 @@ -235,12 +235,12 @@ // CHECK_PENTIUM3M_M32: #define i386 1 // RUN: not %clang -march=pentium3m -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM3M_M64 -// CHECK_PENTIUM3M_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM3M_M64 +// CHECK_PENTIUM3M_M64: error: {{.*}} // // RUN: %clang -march=pentium-m -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M_M32 // CHECK_PENTIUM_M_M32: #define __MMX__ 1 // CHECK_PENTIUM_M_M32: #define __SSE2__ 1 // CHECK_PENTIUM_M_M32: #define __SSE__ 1 @@ -255,12 +255,12 @@ // CHECK_PENTIUM_M_M32: #define i386 1 // RUN: not %clang -march=pentium-m -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM_M_M64 -// CHECK_PENTIUM_M_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM_M_M64 +// CHECK_PENTIUM_M_M64: error: {{.*}} // // RUN: %clang -march=pentium4 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4_M32 // CHECK_PENTIUM4_M32: #define __MMX__ 1 // CHECK_PENTIUM4_M32: #define __SSE2__ 1 // CHECK_PENTIUM4_M32: #define __SSE__ 1 @@ -272,12 +272,12 @@ // CHECK_PENTIUM4_M32: #define i386 1 // RUN: not %clang -march=pentium4 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4_M64 -// CHECK_PENTIUM4_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4_M64 +// CHECK_PENTIUM4_M64: error: {{.*}} // // RUN: %clang -march=pentium4m -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4M_M32 // CHECK_PENTIUM4M_M32: #define __MMX__ 1 // CHECK_PENTIUM4M_M32: #define __SSE2__ 1 // CHECK_PENTIUM4M_M32: #define __SSE__ 1 @@ -289,12 +289,12 @@ // CHECK_PENTIUM4M_M32: #define i386 1 // RUN: not %clang -march=pentium4m -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PENTIUM4M_M64 -// CHECK_PENTIUM4M_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PENTIUM4M_M64 +// CHECK_PENTIUM4M_M64: error: {{.*}} // // RUN: %clang -march=prescott -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PRESCOTT_M32 // CHECK_PRESCOTT_M32: #define __MMX__ 1 // CHECK_PRESCOTT_M32: #define __SSE2__ 1 // CHECK_PRESCOTT_M32: #define __SSE3__ 1 @@ -307,12 +307,12 @@ // CHECK_PRESCOTT_M32: #define i386 1 // RUN: not %clang -march=prescott -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PRESCOTT_M64 -// CHECK_PRESCOTT_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PRESCOTT_M64 +// CHECK_PRESCOTT_M64: error: {{.*}} // // RUN: %clang -march=nocona -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_NOCONA_M32 // CHECK_NOCONA_M32: #define __MMX__ 1 // CHECK_NOCONA_M32: #define __SSE2__ 1 // CHECK_NOCONA_M32: #define __SSE3__ 1 @@ -325,7 +325,7 @@ // CHECK_NOCONA_M32: #define i386 1 // RUN: %clang -march=nocona -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_NOCONA_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_NOCONA_M64 // CHECK_NOCONA_M64: #define __MMX__ 1 // CHECK_NOCONA_M64: #define __SSE2_MATH__ 1 // CHECK_NOCONA_M64: #define __SSE2__ 1 @@ -342,7 +342,7 @@ // // RUN: %clang -march=core2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE2_M32 // CHECK_CORE2_M32: #define __MMX__ 1 // CHECK_CORE2_M32: #define __SSE2__ 1 // CHECK_CORE2_M32: #define __SSE3__ 1 @@ -356,7 +356,7 @@ // CHECK_CORE2_M32: #define i386 1 // RUN: %clang -march=core2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_CORE2_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE2_M64 // CHECK_CORE2_M64: #define __MMX__ 1 // CHECK_CORE2_M64: #define __SSE2_MATH__ 1 // CHECK_CORE2_M64: #define __SSE2__ 1 @@ -374,7 +374,7 @@ // // RUN: %clang -march=corei7 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_M32 // CHECK_COREI7_M32: #define __MMX__ 1 // CHECK_COREI7_M32: #define __POPCNT__ 1 // CHECK_COREI7_M32: #define __SSE2__ 1 @@ -391,7 +391,7 @@ // CHECK_COREI7_M32: #define i386 1 // RUN: %clang -march=corei7 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_M64 // CHECK_COREI7_M64: #define __MMX__ 1 // CHECK_COREI7_M64: #define __POPCNT__ 1 // CHECK_COREI7_M64: #define __SSE2_MATH__ 1 @@ -412,7 +412,7 @@ // // RUN: %clang -march=corei7-avx -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_AVX_M32 // CHECK_COREI7_AVX_M32: #define __AES__ 1 // CHECK_COREI7_AVX_M32: #define __AVX__ 1 // CHECK_COREI7_AVX_M32: #define __MMX__ 1 @@ -435,7 +435,7 @@ // CHECK_COREI7_AVX_M32: #define i386 1 // RUN: %clang -march=corei7-avx -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_COREI7_AVX_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_COREI7_AVX_M64 // CHECK_COREI7_AVX_M64: #define __AES__ 1 // CHECK_COREI7_AVX_M64: #define __AVX__ 1 // CHECK_COREI7_AVX_M64: #define __MMX__ 1 @@ -462,7 +462,7 @@ // // RUN: %clang -march=core-avx-i -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX_I_M32 // CHECK_CORE_AVX_I_M32: #define __AES__ 1 // CHECK_CORE_AVX_I_M32: #define __AVX__ 1 // CHECK_CORE_AVX_I_M32: #define __F16C__ 1 @@ -485,7 +485,7 @@ // CHECK_CORE_AVX_I_M32: #define i386 1 // RUN: %clang -march=core-avx-i -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX_I_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX_I_M64 // CHECK_CORE_AVX_I_M64: #define __AES__ 1 // CHECK_CORE_AVX_I_M64: #define __AVX__ 1 // CHECK_CORE_AVX_I_M64: #define __F16C__ 1 @@ -512,7 +512,7 @@ // // RUN: %clang -march=core-avx2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX2_M32 // CHECK_CORE_AVX2_M32: #define __AES__ 1 // CHECK_CORE_AVX2_M32: #define __AVX2__ 1 // CHECK_CORE_AVX2_M32: #define __AVX__ 1 @@ -542,7 +542,7 @@ // CHECK_CORE_AVX2_M32: #define i386 1 // RUN: %clang -march=core-avx2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_CORE_AVX2_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CORE_AVX2_M64 // CHECK_CORE_AVX2_M64: #define __AES__ 1 // CHECK_CORE_AVX2_M64: #define __AVX2__ 1 // CHECK_CORE_AVX2_M64: #define __AVX__ 1 @@ -576,7 +576,7 @@ // // RUN: %clang -march=broadwell -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BROADWELL_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BROADWELL_M32 // CHECK_BROADWELL_M32: #define __ADX__ 1 // CHECK_BROADWELL_M32: #define __AES__ 1 // CHECK_BROADWELL_M32: #define __AVX2__ 1 @@ -608,7 +608,7 @@ // CHECK_BROADWELL_M32: #define i386 1 // RUN: %clang -march=broadwell -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BROADWELL_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BROADWELL_M64 // CHECK_BROADWELL_M64: #define __ADX__ 1 // CHECK_BROADWELL_M64: #define __AES__ 1 // CHECK_BROADWELL_M64: #define __AVX2__ 1 @@ -642,9 +642,74 @@ // CHECK_BROADWELL_M64: #define __x86_64 1 // CHECK_BROADWELL_M64: #define __x86_64__ 1 // +// RUN: %clang -march=skylake -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKL_M32 +// CHECK_SKL_M32: #define __ADX__ 1 +// CHECK_SKL_M32: #define __AES__ 1 +// CHECK_SKL_M32: #define __AVX2__ 1 +// CHECK_SKL_M32: #define __AVX__ 1 +// CHECK_SKL_M32: #define __BMI2__ 1 +// CHECK_SKL_M32: #define __BMI__ 1 +// CHECK_SKL_M32: #define __F16C__ 1 +// CHECK_SKL_M32: #define __FMA__ 1 +// CHECK_SKL_M32: #define __LZCNT__ 1 +// CHECK_SKL_M32: #define __MMX__ 1 +// CHECK_SKL_M32: #define __PCLMUL__ 1 +// CHECK_SKL_M32: #define __POPCNT__ 1 +// CHECK_SKL_M32: #define __RDRND__ 1 +// CHECK_SKL_M32: #define __RDSEED__ 1 +// CHECK_SKL_M32: #define __RTM__ 1 +// CHECK_SKL_M32: #define __SSE2__ 1 +// CHECK_SKL_M32: #define __SSE3__ 1 +// CHECK_SKL_M32: #define __SSE4_1__ 1 +// CHECK_SKL_M32: #define __SSE4_2__ 1 +// CHECK_SKL_M32: #define __SSE__ 1 +// CHECK_SKL_M32: #define __SSSE3__ 1 +// CHECK_SKL_M32: #define __XSAVEC__ 1 +// CHECK_SKL_M32: #define __XSAVEOPT__ 1 +// CHECK_SKL_M32: #define __XSAVES__ 1 +// CHECK_SKL_M32: #define __XSAVE__ 1 +// CHECK_SKL_M32: #define i386 1 + +// RUN: %clang -march=skylake -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKL_M64 +// CHECK_SKL_M64: #define __ADX__ 1 +// CHECK_SKL_M64: #define __AES__ 1 +// CHECK_SKL_M64: #define __AVX2__ 1 +// CHECK_SKL_M64: #define __AVX__ 1 +// CHECK_SKL_M64: #define __BMI2__ 1 +// CHECK_SKL_M64: #define __BMI__ 1 +// CHECK_SKL_M64: #define __F16C__ 1 +// CHECK_SKL_M64: #define __FMA__ 1 +// CHECK_SKL_M64: #define __LZCNT__ 1 +// CHECK_SKL_M64: #define __MMX__ 1 +// CHECK_SKL_M64: #define __PCLMUL__ 1 +// CHECK_SKL_M64: #define __POPCNT__ 1 +// CHECK_SKL_M64: #define __RDRND__ 1 +// CHECK_SKL_M64: #define __RDSEED__ 1 +// CHECK_SKL_M64: #define __RTM__ 1 +// CHECK_SKL_M64: #define __SSE2_MATH__ 1 +// CHECK_SKL_M64: #define __SSE2__ 1 +// CHECK_SKL_M64: #define __SSE3__ 1 +// CHECK_SKL_M64: #define __SSE4_1__ 1 +// CHECK_SKL_M64: #define __SSE4_2__ 1 +// CHECK_SKL_M64: #define __SSE_MATH__ 1 +// CHECK_SKL_M64: #define __SSE__ 1 +// CHECK_SKL_M64: #define __SSSE3__ 1 +// CHECK_SKL_M64: #define __XSAVEC__ 1 +// CHECK_SKL_M64: #define __XSAVEOPT__ 1 +// CHECK_SKL_M64: #define __XSAVES__ 1 +// CHECK_SKL_M64: #define __XSAVE__ 1 +// CHECK_SKL_M64: #define __amd64 1 +// CHECK_SKL_M64: #define __amd64__ 1 +// CHECK_SKL_M64: #define __x86_64 1 +// CHECK_SKL_M64: #define __x86_64__ 1 + // RUN: %clang -march=knl -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_KNL_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_KNL_M32 // CHECK_KNL_M32: #define __AES__ 1 // CHECK_KNL_M32: #define __AVX2__ 1 // CHECK_KNL_M32: #define __AVX512CD__ 1 @@ -679,7 +744,7 @@ // RUN: %clang -march=knl -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_KNL_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_KNL_M64 // CHECK_KNL_M64: #define __AES__ 1 // CHECK_KNL_M64: #define __AVX2__ 1 // CHECK_KNL_M64: #define __AVX512CD__ 1 @@ -715,9 +780,9 @@ // CHECK_KNL_M64: #define __x86_64 1 // CHECK_KNL_M64: #define __x86_64__ 1 // -// RUN: %clang -march=skx -m32 -E -dM %s -o - 2>&1 \ +// RUN: %clang -march=skylake-avx512 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SKX_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKX_M32 // CHECK_SKX_M32: #define __AES__ 1 // CHECK_SKX_M32: #define __AVX2__ 1 // CHECK_SKX_M32: #define __AVX512BW__ 1 @@ -753,9 +818,9 @@ // CHECK_SKX_M32: #define __tune_skx__ 1 // CHECK_SKX_M32: #define i386 1 -// RUN: %clang -march=skx -m64 -E -dM %s -o - 2>&1 \ +// RUN: %clang -march=skylake-avx512 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SKX_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SKX_M64 // CHECK_SKX_M64: #define __AES__ 1 // CHECK_SKX_M64: #define __AVX2__ 1 // CHECK_SKX_M64: #define __AVX512BW__ 1 @@ -794,9 +859,86 @@ // CHECK_SKX_M64: #define __x86_64 1 // CHECK_SKX_M64: #define __x86_64__ 1 // +// RUN: %clang -march=cannonlake -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CNL_M32 +// CHECK_CNL_M32: #define __AES__ 1 +// CHECK_CNL_M32: #define __AVX2__ 1 +// CHECK_CNL_M32: #define __AVX512BW__ 1 +// CHECK_CNL_M32: #define __AVX512CD__ 1 +// CHECK_CNL_M32: #define __AVX512DQ__ 1 +// CHECK_CNL_M32: #define __AVX512F__ 1 +// CHECK_CNL_M32: #define __AVX512IFMA__ 1 +// CHECK_CNL_M32: #define __AVX512VBMI__ 1 +// CHECK_CNL_M32: #define __AVX512VL__ 1 +// CHECK_CNL_M32: #define __AVX__ 1 +// CHECK_CNL_M32: #define __BMI2__ 1 +// CHECK_CNL_M32: #define __BMI__ 1 +// CHECK_CNL_M32: #define __F16C__ 1 +// CHECK_CNL_M32: #define __FMA__ 1 +// CHECK_CNL_M32: #define __LZCNT__ 1 +// CHECK_CNL_M32: #define __MMX__ 1 +// CHECK_CNL_M32: #define __PCLMUL__ 1 +// CHECK_CNL_M32: #define __POPCNT__ 1 +// CHECK_CNL_M32: #define __RDRND__ 1 +// CHECK_CNL_M32: #define __RTM__ 1 +// CHECK_CNL_M32: #define __SHA__ 1 +// CHECK_CNL_M32: #define __SSE2__ 1 +// CHECK_CNL_M32: #define __SSE3__ 1 +// CHECK_CNL_M32: #define __SSE4_1__ 1 +// CHECK_CNL_M32: #define __SSE4_2__ 1 +// CHECK_CNL_M32: #define __SSE__ 1 +// CHECK_CNL_M32: #define __SSSE3__ 1 +// CHECK_CNL_M32: #define __XSAVEC__ 1 +// CHECK_CNL_M32: #define __XSAVEOPT__ 1 +// CHECK_CNL_M32: #define __XSAVES__ 1 +// CHECK_CNL_M32: #define __XSAVE__ 1 +// CHECK_CNL_M32: #define __i386 1 +// CHECK_CNL_M32: #define __i386__ 1 +// CHECK_CNL_M32: #define i386 1 +// +// RUN: %clang -march=cannonlake -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_CNL_M64 +// CHECK_CNL_M64: #define __AES__ 1 +// CHECK_CNL_M64: #define __AVX2__ 1 +// CHECK_CNL_M64: #define __AVX512BW__ 1 +// CHECK_CNL_M64: #define __AVX512CD__ 1 +// CHECK_CNL_M64: #define __AVX512DQ__ 1 +// CHECK_CNL_M64: #define __AVX512F__ 1 +// CHECK_CNL_M64: #define __AVX512IFMA__ 1 +// CHECK_CNL_M64: #define __AVX512VBMI__ 1 +// CHECK_CNL_M64: #define __AVX512VL__ 1 +// CHECK_CNL_M64: #define __AVX__ 1 +// CHECK_CNL_M64: #define __BMI2__ 1 +// CHECK_CNL_M64: #define __BMI__ 1 +// CHECK_CNL_M64: #define __F16C__ 1 +// CHECK_CNL_M64: #define __FMA__ 1 +// CHECK_CNL_M64: #define __LZCNT__ 1 +// CHECK_CNL_M64: #define __MMX__ 1 +// CHECK_CNL_M64: #define __PCLMUL__ 1 +// CHECK_CNL_M64: #define __POPCNT__ 1 +// CHECK_CNL_M64: #define __RDRND__ 1 +// CHECK_CNL_M64: #define __RTM__ 1 +// CHECK_CNL_M64: #define __SHA__ 1 +// CHECK_CNL_M64: #define __SSE2__ 1 +// CHECK_CNL_M64: #define __SSE3__ 1 +// CHECK_CNL_M64: #define __SSE4_1__ 1 +// CHECK_CNL_M64: #define __SSE4_2__ 1 +// CHECK_CNL_M64: #define __SSE__ 1 +// CHECK_CNL_M64: #define __SSSE3__ 1 +// CHECK_CNL_M64: #define __XSAVEC__ 1 +// CHECK_CNL_M64: #define __XSAVEOPT__ 1 +// CHECK_CNL_M64: #define __XSAVES__ 1 +// CHECK_CNL_M64: #define __XSAVE__ 1 +// CHECK_CNL_M64: #define __amd64 1 +// CHECK_CNL_M64: #define __amd64__ 1 +// CHECK_CNL_M64: #define __x86_64 1 +// CHECK_CNL_M64: #define __x86_64__ 1 + // RUN: %clang -march=atom -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATOM_M32 // CHECK_ATOM_M32: #define __MMX__ 1 // CHECK_ATOM_M32: #define __SSE2__ 1 // CHECK_ATOM_M32: #define __SSE3__ 1 @@ -810,7 +952,7 @@ // CHECK_ATOM_M32: #define i386 1 // RUN: %clang -march=atom -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATOM_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATOM_M64 // CHECK_ATOM_M64: #define __MMX__ 1 // CHECK_ATOM_M64: #define __SSE2_MATH__ 1 // CHECK_ATOM_M64: #define __SSE2__ 1 @@ -828,7 +970,7 @@ // // RUN: %clang -march=slm -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SLM_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SLM_M32 // CHECK_SLM_M32: #define __MMX__ 1 // CHECK_SLM_M32: #define __SSE2__ 1 // CHECK_SLM_M32: #define __SSE3__ 1 @@ -844,7 +986,7 @@ // CHECK_SLM_M32: #define i386 1 // RUN: %clang -march=slm -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SLM_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SLM_M64 // CHECK_SLM_M64: #define __MMX__ 1 // CHECK_SLM_M64: #define __SSE2_MATH__ 1 // CHECK_SLM_M64: #define __SSE2__ 1 @@ -862,9 +1004,21 @@ // CHECK_SLM_M64: #define __x86_64 1 // CHECK_SLM_M64: #define __x86_64__ 1 // +// RUN: %clang -march=lakemont -m32 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_LMT_M32 +// CHECK_LMT_M32: #define __i386 1 +// CHECK_LMT_M32: #define __i386__ 1 +// CHECK_LMT_M32: #define __tune_lakemont__ 1 +// CHECK_LMT_M32: #define i386 1 +// RUN: not %clang -march=lakemont -m64 -E -dM %s -o - 2>&1 \ +// RUN: -target i386-unknown-linux \ +// RUN: | FileCheck %s -check-prefix=CHECK_LMT_M64 +// CHECK_LMT_M64: error: +// // RUN: %clang -march=geode -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GEODE_M32 // CHECK_GEODE_M32: #define __3dNOW_A__ 1 // CHECK_GEODE_M32: #define __3dNOW__ 1 // CHECK_GEODE_M32: #define __MMX__ 1 @@ -876,12 +1030,12 @@ // CHECK_GEODE_M32: #define i386 1 // RUN: not %clang -march=geode -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_GEODE_M64 -// CHECK_GEODE_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_GEODE_M64 +// CHECK_GEODE_M64: error: {{.*}} // // RUN: %clang -march=k6 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K6_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_M32 // CHECK_K6_M32: #define __MMX__ 1 // CHECK_K6_M32: #define __i386 1 // CHECK_K6_M32: #define __i386__ 1 @@ -891,12 +1045,12 @@ // CHECK_K6_M32: #define i386 1 // RUN: not %clang -march=k6 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K6_M64 -// CHECK_K6_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_M64 +// CHECK_K6_M64: error: {{.*}} // // RUN: %clang -march=k6-2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_2_M32 // CHECK_K6_2_M32: #define __3dNOW__ 1 // CHECK_K6_2_M32: #define __MMX__ 1 // CHECK_K6_2_M32: #define __i386 1 @@ -909,12 +1063,12 @@ // CHECK_K6_2_M32: #define i386 1 // RUN: not %clang -march=k6-2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K6_2_M64 -// CHECK_K6_2_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_2_M64 +// CHECK_K6_2_M64: error: {{.*}} // // RUN: %clang -march=k6-3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_3_M32 // CHECK_K6_3_M32: #define __3dNOW__ 1 // CHECK_K6_3_M32: #define __MMX__ 1 // CHECK_K6_3_M32: #define __i386 1 @@ -927,12 +1081,12 @@ // CHECK_K6_3_M32: #define i386 1 // RUN: not %clang -march=k6-3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K6_3_M64 -// CHECK_K6_3_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K6_3_M64 +// CHECK_K6_3_M64: error: {{.*}} // // RUN: %clang -march=athlon -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_M32 // CHECK_ATHLON_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_M32: #define __3dNOW__ 1 // CHECK_ATHLON_M32: #define __MMX__ 1 @@ -944,12 +1098,12 @@ // CHECK_ATHLON_M32: #define i386 1 // RUN: not %clang -march=athlon -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_M64 -// CHECK_ATHLON_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_M64 +// CHECK_ATHLON_M64: error: {{.*}} // // RUN: %clang -march=athlon-tbird -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_TBIRD_M32 // CHECK_ATHLON_TBIRD_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_TBIRD_M32: #define __3dNOW__ 1 // CHECK_ATHLON_TBIRD_M32: #define __MMX__ 1 @@ -961,12 +1115,12 @@ // CHECK_ATHLON_TBIRD_M32: #define i386 1 // RUN: not %clang -march=athlon-tbird -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_TBIRD_M64 -// CHECK_ATHLON_TBIRD_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_TBIRD_M64 +// CHECK_ATHLON_TBIRD_M64: error: {{.*}} // // RUN: %clang -march=athlon-4 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_4_M32 // CHECK_ATHLON_4_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_4_M32: #define __3dNOW__ 1 // CHECK_ATHLON_4_M32: #define __MMX__ 1 @@ -981,12 +1135,12 @@ // CHECK_ATHLON_4_M32: #define i386 1 // RUN: not %clang -march=athlon-4 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_4_M64 -// CHECK_ATHLON_4_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_4_M64 +// CHECK_ATHLON_4_M64: error: {{.*}} // // RUN: %clang -march=athlon-xp -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_XP_M32 // CHECK_ATHLON_XP_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_XP_M32: #define __3dNOW__ 1 // CHECK_ATHLON_XP_M32: #define __MMX__ 1 @@ -1001,12 +1155,12 @@ // CHECK_ATHLON_XP_M32: #define i386 1 // RUN: not %clang -march=athlon-xp -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_XP_M64 -// CHECK_ATHLON_XP_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_XP_M64 +// CHECK_ATHLON_XP_M64: error: {{.*}} // // RUN: %clang -march=athlon-mp -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_MP_M32 // CHECK_ATHLON_MP_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_MP_M32: #define __3dNOW__ 1 // CHECK_ATHLON_MP_M32: #define __MMX__ 1 @@ -1021,12 +1175,12 @@ // CHECK_ATHLON_MP_M32: #define i386 1 // RUN: not %clang -march=athlon-mp -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_MP_M64 -// CHECK_ATHLON_MP_M64: error: +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_MP_M64 +// CHECK_ATHLON_MP_M64: error: {{.*}} // // RUN: %clang -march=x86-64 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_X86_64_M32 // CHECK_X86_64_M32: #define __MMX__ 1 // CHECK_X86_64_M32: #define __SSE2__ 1 // CHECK_X86_64_M32: #define __SSE__ 1 @@ -1037,7 +1191,7 @@ // CHECK_X86_64_M32: #define i386 1 // RUN: %clang -march=x86-64 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_X86_64_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_X86_64_M64 // CHECK_X86_64_M64: #define __MMX__ 1 // CHECK_X86_64_M64: #define __SSE2_MATH__ 1 // CHECK_X86_64_M64: #define __SSE2__ 1 @@ -1052,7 +1206,7 @@ // // RUN: %clang -march=k8 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K8_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_M32 // CHECK_K8_M32: #define __3dNOW_A__ 1 // CHECK_K8_M32: #define __3dNOW__ 1 // CHECK_K8_M32: #define __MMX__ 1 @@ -1066,7 +1220,7 @@ // CHECK_K8_M32: #define i386 1 // RUN: %clang -march=k8 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K8_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_M64 // CHECK_K8_M64: #define __3dNOW_A__ 1 // CHECK_K8_M64: #define __3dNOW__ 1 // CHECK_K8_M64: #define __MMX__ 1 @@ -1084,7 +1238,7 @@ // // RUN: %clang -march=k8-sse3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_SSE3_M32 // CHECK_K8_SSE3_M32: #define __3dNOW_A__ 1 // CHECK_K8_SSE3_M32: #define __3dNOW__ 1 // CHECK_K8_SSE3_M32: #define __MMX__ 1 @@ -1099,7 +1253,7 @@ // CHECK_K8_SSE3_M32: #define i386 1 // RUN: %clang -march=k8-sse3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_K8_SSE3_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_K8_SSE3_M64 // CHECK_K8_SSE3_M64: #define __3dNOW_A__ 1 // CHECK_K8_SSE3_M64: #define __3dNOW__ 1 // CHECK_K8_SSE3_M64: #define __MMX__ 1 @@ -1118,7 +1272,7 @@ // // RUN: %clang -march=opteron -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_M32 // CHECK_OPTERON_M32: #define __3dNOW_A__ 1 // CHECK_OPTERON_M32: #define __3dNOW__ 1 // CHECK_OPTERON_M32: #define __MMX__ 1 @@ -1132,7 +1286,7 @@ // CHECK_OPTERON_M32: #define i386 1 // RUN: %clang -march=opteron -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_M64 // CHECK_OPTERON_M64: #define __3dNOW_A__ 1 // CHECK_OPTERON_M64: #define __3dNOW__ 1 // CHECK_OPTERON_M64: #define __MMX__ 1 @@ -1150,7 +1304,7 @@ // // RUN: %clang -march=opteron-sse3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_SSE3_M32 // CHECK_OPTERON_SSE3_M32: #define __3dNOW_A__ 1 // CHECK_OPTERON_SSE3_M32: #define __3dNOW__ 1 // CHECK_OPTERON_SSE3_M32: #define __MMX__ 1 @@ -1165,7 +1319,7 @@ // CHECK_OPTERON_SSE3_M32: #define i386 1 // RUN: %clang -march=opteron-sse3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_OPTERON_SSE3_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_OPTERON_SSE3_M64 // CHECK_OPTERON_SSE3_M64: #define __3dNOW_A__ 1 // CHECK_OPTERON_SSE3_M64: #define __3dNOW__ 1 // CHECK_OPTERON_SSE3_M64: #define __MMX__ 1 @@ -1184,7 +1338,7 @@ // // RUN: %clang -march=athlon64 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_M32 // CHECK_ATHLON64_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON64_M32: #define __3dNOW__ 1 // CHECK_ATHLON64_M32: #define __MMX__ 1 @@ -1198,7 +1352,7 @@ // CHECK_ATHLON64_M32: #define i386 1 // RUN: %clang -march=athlon64 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_M64 // CHECK_ATHLON64_M64: #define __3dNOW_A__ 1 // CHECK_ATHLON64_M64: #define __3dNOW__ 1 // CHECK_ATHLON64_M64: #define __MMX__ 1 @@ -1216,7 +1370,7 @@ // // RUN: %clang -march=athlon64-sse3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_SSE3_M32 // CHECK_ATHLON64_SSE3_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON64_SSE3_M32: #define __3dNOW__ 1 // CHECK_ATHLON64_SSE3_M32: #define __MMX__ 1 @@ -1231,7 +1385,7 @@ // CHECK_ATHLON64_SSE3_M32: #define i386 1 // RUN: %clang -march=athlon64-sse3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON64_SSE3_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON64_SSE3_M64 // CHECK_ATHLON64_SSE3_M64: #define __3dNOW_A__ 1 // CHECK_ATHLON64_SSE3_M64: #define __3dNOW__ 1 // CHECK_ATHLON64_SSE3_M64: #define __MMX__ 1 @@ -1250,7 +1404,7 @@ // // RUN: %clang -march=athlon-fx -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_FX_M32 // CHECK_ATHLON_FX_M32: #define __3dNOW_A__ 1 // CHECK_ATHLON_FX_M32: #define __3dNOW__ 1 // CHECK_ATHLON_FX_M32: #define __MMX__ 1 @@ -1264,7 +1418,7 @@ // CHECK_ATHLON_FX_M32: #define i386 1 // RUN: %clang -march=athlon-fx -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_ATHLON_FX_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_ATHLON_FX_M64 // CHECK_ATHLON_FX_M64: #define __3dNOW_A__ 1 // CHECK_ATHLON_FX_M64: #define __3dNOW__ 1 // CHECK_ATHLON_FX_M64: #define __MMX__ 1 @@ -1281,7 +1435,7 @@ // CHECK_ATHLON_FX_M64: #define __x86_64__ 1 // RUN: %clang -march=amdfam10 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_AMDFAM10_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDFAM10_M32 // CHECK_AMDFAM10_M32: #define __3dNOW_A__ 1 // CHECK_AMDFAM10_M32: #define __3dNOW__ 1 // CHECK_AMDFAM10_M32: #define __LZCNT__ 1 @@ -1300,7 +1454,7 @@ // CHECK_AMDFAM10_M32: #define __tune_amdfam10__ 1 // RUN: %clang -march=amdfam10 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_AMDFAM10_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDFAM10_M64 // CHECK_AMDFAM10_M64: #define __3dNOW_A__ 1 // CHECK_AMDFAM10_M64: #define __3dNOW__ 1 // CHECK_AMDFAM10_M64: #define __LZCNT__ 1 @@ -1321,7 +1475,7 @@ // CHECK_AMDFAM10_M64: #define __x86_64__ 1 // RUN: %clang -march=btver1 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BTVER1_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER1_M32 // CHECK_BTVER1_M32-NOT: #define __3dNOW_A__ 1 // CHECK_BTVER1_M32-NOT: #define __3dNOW__ 1 // CHECK_BTVER1_M32: #define __LZCNT__ 1 @@ -1335,7 +1489,6 @@ // CHECK_BTVER1_M32: #define __SSE_MATH__ 1 // CHECK_BTVER1_M32: #define __SSE__ 1 // CHECK_BTVER1_M32: #define __SSSE3__ 1 -// CHECK_BTVER1_M32: #define __XSAVE__ 1 // CHECK_BTVER1_M32: #define __btver1 1 // CHECK_BTVER1_M32: #define __btver1__ 1 // CHECK_BTVER1_M32: #define __i386 1 @@ -1343,7 +1496,7 @@ // CHECK_BTVER1_M32: #define __tune_btver1__ 1 // RUN: %clang -march=btver1 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BTVER1_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER1_M64 // CHECK_BTVER1_M64-NOT: #define __3dNOW_A__ 1 // CHECK_BTVER1_M64-NOT: #define __3dNOW__ 1 // CHECK_BTVER1_M64: #define __LZCNT__ 1 @@ -1357,7 +1510,6 @@ // CHECK_BTVER1_M64: #define __SSE_MATH__ 1 // CHECK_BTVER1_M64: #define __SSE__ 1 // CHECK_BTVER1_M64: #define __SSSE3__ 1 -// CHECK_BTVER1_M64: #define __XSAVE__ 1 // CHECK_BTVER1_M64: #define __amd64 1 // CHECK_BTVER1_M64: #define __amd64__ 1 // CHECK_BTVER1_M64: #define __btver1 1 @@ -1367,7 +1519,7 @@ // CHECK_BTVER1_M64: #define __x86_64__ 1 // RUN: %clang -march=btver2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BTVER2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER2_M32 // CHECK_BTVER2_M32-NOT: #define __3dNOW_A__ 1 // CHECK_BTVER2_M32-NOT: #define __3dNOW__ 1 // CHECK_BTVER2_M32: #define __AES__ 1 @@ -1395,7 +1547,7 @@ // CHECK_BTVER2_M32: #define __tune_btver2__ 1 // RUN: %clang -march=btver2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BTVER2_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BTVER2_M64 // CHECK_BTVER2_M64-NOT: #define __3dNOW_A__ 1 // CHECK_BTVER2_M64-NOT: #define __3dNOW__ 1 // CHECK_BTVER2_M64: #define __AES__ 1 @@ -1425,7 +1577,7 @@ // CHECK_BTVER2_M64: #define __x86_64__ 1 // RUN: %clang -march=bdver1 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER1_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER1_M32 // CHECK_BDVER1_M32-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER1_M32-NOT: #define __3dNOW__ 1 // CHECK_BDVER1_M32: #define __AES__ 1 @@ -1454,7 +1606,7 @@ // CHECK_BDVER1_M32: #define __tune_bdver1__ 1 // RUN: %clang -march=bdver1 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER1_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER1_M64 // CHECK_BDVER1_M64-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER1_M64-NOT: #define __3dNOW__ 1 // CHECK_BDVER1_M64: #define __AES__ 1 @@ -1485,7 +1637,7 @@ // CHECK_BDVER1_M64: #define __x86_64__ 1 // RUN: %clang -march=bdver2 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER2_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER2_M32 // CHECK_BDVER2_M32-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER2_M32-NOT: #define __3dNOW__ 1 // CHECK_BDVER2_M32: #define __AES__ 1 @@ -1518,7 +1670,7 @@ // CHECK_BDVER2_M32: #define __tune_bdver2__ 1 // RUN: %clang -march=bdver2 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER2_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER2_M64 // CHECK_BDVER2_M64-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER2_M64-NOT: #define __3dNOW__ 1 // CHECK_BDVER2_M64: #define __AES__ 1 @@ -1553,7 +1705,7 @@ // CHECK_BDVER2_M64: #define __x86_64__ 1 // RUN: %clang -march=bdver3 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER3_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER3_M32 // CHECK_BDVER3_M32-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER3_M32-NOT: #define __3dNOW__ 1 // CHECK_BDVER3_M32: #define __AES__ 1 @@ -1588,7 +1740,7 @@ // CHECK_BDVER3_M32: #define __tune_bdver3__ 1 // RUN: %clang -march=bdver3 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER3_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER3_M64 // CHECK_BDVER3_M64-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER3_M64-NOT: #define __3dNOW__ 1 // CHECK_BDVER3_M64: #define __AES__ 1 @@ -1625,7 +1777,7 @@ // CHECK_BDVER3_M64: #define __x86_64__ 1 // RUN: %clang -march=bdver4 -m32 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER4_M32 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER4_M32 // CHECK_BDVER4_M32-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER4_M32-NOT: #define __3dNOW__ 1 // CHECK_BDVER4_M32: #define __AES__ 1 @@ -1661,7 +1813,7 @@ // CHECK_BDVER4_M32: #define __tune_bdver4__ 1 // RUN: %clang -march=bdver4 -m64 -E -dM %s -o - 2>&1 \ // RUN: -target i386-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_BDVER4_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_BDVER4_M64 // CHECK_BDVER4_M64-NOT: #define __3dNOW_A__ 1 // CHECK_BDVER4_M64-NOT: #define __3dNOW__ 1 // CHECK_BDVER4_M64: #define __AES__ 1 @@ -1703,36 +1855,36 @@ // Begin PPC/GCC/Linux tests ---------------- // RUN: %clang -mvsx -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PPC_VSX_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_VSX_M64 // -// CHECK_PPC_VSX_M64: #define __VSX__ +// CHECK_PPC_VSX_M64: #define __VSX__ 1 // // RUN: %clang -mpower8-vector -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PPC_POWER8_VECTOR_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_POWER8_VECTOR_M64 // -// CHECK_PPC_POWER8_VECTOR_M64: #define __POWER8_VECTOR__ +// CHECK_PPC_POWER8_VECTOR_M64: #define __POWER8_VECTOR__ 1 // // RUN: %clang -mcrypto -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PPC_CRYPTO_M64 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_CRYPTO_M64 // -// CHECK_PPC_CRYPTO_M64: #define __CRYPTO__ +// CHECK_PPC_CRYPTO_M64: #define __CRYPTO__ 1 // // RUN: %clang -mcpu=ppc64 -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-unknown \ -// RUN: | FileCheck %s -check-prefix=CHECK_PPC_GCC_ATOMICS +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS // RUN: %clang -mcpu=pwr8 -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64-unknown-unknown \ -// RUN: | FileCheck %s -check-prefix=CHECK_PPC_GCC_ATOMICS +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target powerpc64le-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_PPC_GCC_ATOMICS +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_PPC_GCC_ATOMICS // -// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK_PPC_GCC_ATOMICS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // // End PPC/GCC/Linux tests ------------------ @@ -1740,10 +1892,10 @@ // // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target sparc-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SPARC +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC // RUN: %clang -mcpu=v9 -E -dM %s -o - 2>&1 \ // RUN: -target sparc-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SPARC-V9 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARC-V9 // // CHECK_SPARC: #define __BIG_ENDIAN__ 1 // CHECK_SPARC: #define __sparc 1 @@ -1762,16 +1914,25 @@ // // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target sparcel-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SPARCEL -// +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARCEL +// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=myriad2 2>&1 \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-1 -check-prefix=CHECK_SPARCEL +// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=myriad2.1 2>&1 \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-1 -check-prefix=CHECK_SPARCEL +// RUN: %clang -E -dM %s -o - -target sparcel-myriad -mcpu=myriad2.2 2>&1 \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_MYRIAD2-2 -check-prefix=CHECK_SPARCEL // CHECK_SPARCEL: #define __LITTLE_ENDIAN__ 1 +// CHECK_MYRIAD2-1: #define __myriad2 1 +// CHECK_MYRIAD2-1: #define __myriad2__ 1 +// CHECK_MYRIAD2-2: #define __myriad2 2 +// CHECK_MYRIAD2-2: #define __myriad2__ 2 // CHECK_SPARCEL: #define __sparc 1 // CHECK_SPARCEL: #define __sparc__ 1 // CHECK_SPARCEL: #define __sparcv8 1 // // RUN: %clang -E -dM %s -o - 2>&1 \ // RUN: -target sparcv9-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SPARCV9 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SPARCV9 // // CHECK_SPARCV9: #define __BIG_ENDIAN__ 1 // CHECK_SPARCV9: #define __sparc 1 @@ -1785,12 +1946,12 @@ // // RUN: %clang -march=z10 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_Z10 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_Z10 // -// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK_SYSTEMZ_Z10: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // CHECK_SYSTEMZ_Z10: #define __LONG_DOUBLE_128__ 1 // CHECK_SYSTEMZ_Z10: #define __s390__ 1 // CHECK_SYSTEMZ_Z10: #define __s390x__ 1 @@ -1798,12 +1959,12 @@ // // RUN: %clang -march=zEC12 -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_ZEC12 +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ZEC12 // -// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK_SYSTEMZ_ZEC12: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // CHECK_SYSTEMZ_ZEC12: #define __HTM__ 1 // CHECK_SYSTEMZ_ZEC12: #define __LONG_DOUBLE_128__ 1 // CHECK_SYSTEMZ_ZEC12: #define __s390__ 1 @@ -1812,15 +1973,29 @@ // // RUN: %clang -mhtm -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_HTM +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_HTM // // CHECK_SYSTEMZ_HTM: #define __HTM__ 1 // // RUN: %clang -fzvector -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR // RUN: %clang -mzvector -E -dM %s -o - 2>&1 \ // RUN: -target s390x-unknown-linux \ -// RUN: | FileCheck %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_SYSTEMZ_ZVECTOR // // CHECK_SYSTEMZ_ZVECTOR: #define __VEC__ 10301 + +// Begin amdgcn tests ---------------- +// +// RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \ +// RUN: -target amdgcn-unknown-unknown \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_AMDGCN +// CHECK_AMDGCN: #define __AMDGCN__ 1 + +// Begin r600 tests ---------------- +// +// RUN: %clang -march=amdgcn -E -dM %s -o - 2>&1 \ +// RUN: -target r600-unknown-unknown \ +// RUN: | FileCheck -match-full-lines %s -check-prefix=CHECK_R600 +// CHECK_R600: #define __R600__ 1 diff --git a/test/Preprocessor/predefined-macros.c b/test/Preprocessor/predefined-macros.c index 1f68a082a914..7385cd2c93ef 100644 --- a/test/Preprocessor/predefined-macros.c +++ b/test/Preprocessor/predefined-macros.c @@ -1,23 +1,25 @@ // This test verifies that the correct macros are predefined. // -// RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \ -// RUN: -fms-compatibility-version=13.00 -o - | FileCheck %s --check-prefix=CHECK-MS +// RUN: %clang_cc1 %s -x c++ -E -dM -triple i686-pc-win32 -fms-extensions -fms-compatibility \ +// RUN: -fms-compatibility-version=19.00 -std=c++1z -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS // CHECK-MS: #define _INTEGRAL_MAX_BITS 64 // CHECK-MS: #define _MSC_EXTENSIONS 1 -// CHECK-MS: #define _MSC_VER 1300 +// CHECK-MS: #define _MSC_VER 1900 +// CHECK-MS: #define _MSVC_LANG 201403L // CHECK-MS: #define _M_IX86 600 -// CHECK-MS: #define _M_IX86_FP +// CHECK-MS: #define _M_IX86_FP 0 // CHECK-MS: #define _WIN32 1 // CHECK-MS-NOT: #define __STRICT_ANSI__ // CHECK-MS-NOT: GCC // CHECK-MS-NOT: GNU // CHECK-MS-NOT: GXX // -// RUN: %clang_cc1 %s -E -dM -triple x86_64-pc-win32 -fms-extensions -fms-compatibility \ -// RUN: -fms-compatibility-version=13.00 -o - | FileCheck %s --check-prefix=CHECK-MS64 +// RUN: %clang_cc1 %s -x c++ -E -dM -triple x86_64-pc-win32 -fms-extensions -fms-compatibility \ +// RUN: -fms-compatibility-version=19.00 -std=c++14 -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS64 // CHECK-MS64: #define _INTEGRAL_MAX_BITS 64 // CHECK-MS64: #define _MSC_EXTENSIONS 1 -// CHECK-MS64: #define _MSC_VER 1300 +// CHECK-MS64: #define _MSC_VER 1900 +// CHECK-MS64: #define _MSVC_LANG 201402L // CHECK-MS64: #define _M_AMD64 100 // CHECK-MS64: #define _M_X64 100 // CHECK-MS64: #define _WIN64 1 @@ -27,7 +29,7 @@ // CHECK-MS64-NOT: GXX // // RUN: %clang_cc1 %s -E -dM -triple i686-pc-win32 -fms-compatibility \ -// RUN: -o - | FileCheck %s --check-prefix=CHECK-MS-STDINT +// RUN: -o - | FileCheck -match-full-lines %s --check-prefix=CHECK-MS-STDINT // CHECK-MS-STDINT:#define __INT16_MAX__ 32767 // CHECK-MS-STDINT:#define __INT32_MAX__ 2147483647 // CHECK-MS-STDINT:#define __INT64_MAX__ 9223372036854775807LL @@ -83,66 +85,103 @@ // CHECK-MS-STDINT:#define __UINT_LEAST8_TYPE__ unsigned char // // RUN: %clang_cc1 %s -E -dM -ffast-math -o - \ -// RUN: | FileCheck %s --check-prefix=CHECK-FAST-MATH -// CHECK-FAST-MATH: #define __FAST_MATH__ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FAST-MATH +// CHECK-FAST-MATH: #define __FAST_MATH__ 1 // CHECK-FAST-MATH: #define __FINITE_MATH_ONLY__ 1 // // RUN: %clang_cc1 %s -E -dM -ffinite-math-only -o - \ -// RUN: | FileCheck %s --check-prefix=CHECK-FINITE-MATH-ONLY +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FINITE-MATH-ONLY // CHECK-FINITE-MATH-ONLY: #define __FINITE_MATH_ONLY__ 1 // // RUN: %clang %s -E -dM -fno-finite-math-only -o - \ -// RUN: | FileCheck %s --check-prefix=CHECK-NO-FINITE-MATH-ONLY +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-NO-FINITE-MATH-ONLY // CHECK-NO-FINITE-MATH-ONLY: #define __FINITE_MATH_ONLY__ 0 // // RUN: %clang_cc1 %s -E -dM -o - \ -// RUN: | FileCheck %s --check-prefix=CHECK-FINITE-MATH-FLAG-UNDEFINED +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FINITE-MATH-FLAG-UNDEFINED // CHECK-FINITE-MATH-FLAG-UNDEFINED: #define __FINITE_MATH_ONLY__ 0 // // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i386 \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I386 +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_I386 // CHECK-SYNC_CAS_I386-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP // // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i486 \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I486 -// CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK-SYNC_CAS_I486: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_I486 +// CHECK-SYNC_CAS_I486: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK-SYNC_CAS_I486: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK-SYNC_CAS_I486: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 // CHECK-SYNC_CAS_I486-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 // // RUN: %clang_cc1 %s -E -dM -o - -triple i686 -target-cpu i586 \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_I586 -// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -// CHECK-SYNC_CAS_I586: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_I586 +// CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK-SYNC_CAS_I586: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // // RUN: %clang_cc1 %s -E -dM -o - -triple armv6 -target-cpu arm1136j-s \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_ARM -// CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -// CHECK-SYNC_CAS_ARM: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_ARM +// CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK-SYNC_CAS_ARM: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // // RUN: %clang_cc1 %s -E -dM -o - -triple armv7 -target-cpu cortex-a8 \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_ARMv7 -// CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 -// CHECK-SYNC_CAS_ARMv7: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_ARMv7 +// CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 +// CHECK-SYNC_CAS_ARMv7: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 // // RUN: %clang_cc1 %s -E -dM -o - -triple armv6 -target-cpu cortex-m0 \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_ARMv6 +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_ARMv6 // CHECK-SYNC_CAS_ARMv6-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP // // RUN: %clang_cc1 %s -E -dM -o - -triple mips -target-cpu mips2 \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_MIPS \ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_MIPS \ // RUN: --check-prefix=CHECK-SYNC_CAS_MIPS32 // RUN: %clang_cc1 %s -E -dM -o - -triple mips64 -target-cpu mips3 \ -// RUN: | FileCheck %s --check-prefix=CHECK-SYNC_CAS_MIPS \ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-SYNC_CAS_MIPS \ // RUN: --check-prefix=CHECK-SYNC_CAS_MIPS64 -// CHECK-SYNC_CAS_MIPS: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 -// CHECK-SYNC_CAS_MIPS: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 -// CHECK-SYNC_CAS_MIPS: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 +// CHECK-SYNC_CAS_MIPS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 +// CHECK-SYNC_CAS_MIPS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 +// CHECK-SYNC_CAS_MIPS: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 // CHECK-SYNC_CAS_MIPS32-NOT: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 -// CHECK-SYNC_CAS_MIPS64: __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 +// CHECK-SYNC_CAS_MIPS64: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 + +// RUN: %clang_cc1 %s -E -dM -o - -x cl \ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL10 +// RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL1.1 \ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL11 +// RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL1.2 \ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL12 +// RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-std=CL2.0 \ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-CL20 +// RUN: %clang_cc1 %s -E -dM -o - -x cl -cl-fast-relaxed-math \ +// RUN: | FileCheck -match-full-lines %s --check-prefix=CHECK-FRM +// CHECK-CL10: #define CL_VERSION_1_0 100 +// CHECK-CL10: #define CL_VERSION_1_1 110 +// CHECK-CL10: #define CL_VERSION_1_2 120 +// CHECK-CL10: #define CL_VERSION_2_0 200 +// CHECK-CL10: #define __OPENCL_C_VERSION__ 100 +// CHECK-CL10-NOT: #define __FAST_RELAXED_MATH__ 1 +// CHECK-CL11: #define CL_VERSION_1_0 100 +// CHECK-CL11: #define CL_VERSION_1_1 110 +// CHECK-CL11: #define CL_VERSION_1_2 120 +// CHECK-CL11: #define CL_VERSION_2_0 200 +// CHECK-CL11: #define __OPENCL_C_VERSION__ 110 +// CHECK-CL11-NOT: #define __FAST_RELAXED_MATH__ 1 +// CHECK-CL12: #define CL_VERSION_1_0 100 +// CHECK-CL12: #define CL_VERSION_1_1 110 +// CHECK-CL12: #define CL_VERSION_1_2 120 +// CHECK-CL12: #define CL_VERSION_2_0 200 +// CHECK-CL12: #define __OPENCL_C_VERSION__ 120 +// CHECK-CL12-NOT: #define __FAST_RELAXED_MATH__ 1 +// CHECK-CL20: #define CL_VERSION_1_0 100 +// CHECK-CL20: #define CL_VERSION_1_1 110 +// CHECK-CL20: #define CL_VERSION_1_2 120 +// CHECK-CL20: #define CL_VERSION_2_0 200 +// CHECK-CL20: #define __OPENCL_C_VERSION__ 200 +// CHECK-CL20-NOT: #define __FAST_RELAXED_MATH__ 1 +// CHECK-FRM: #define __FAST_RELAXED_MATH__ 1 + diff --git a/test/Preprocessor/pushable-diagnostics.c b/test/Preprocessor/pushable-diagnostics.c index 877eaaa0b366..6e05d8e1450e 100644 --- a/test/Preprocessor/pushable-diagnostics.c +++ b/test/Preprocessor/pushable-diagnostics.c @@ -15,3 +15,27 @@ int b = 'df'; // no warning. int c = 'df'; // expected-warning{{multi-character character constant}} #pragma clang diagnostic pop // expected-warning{{pragma diagnostic pop could not pop, no matching push}} + +// Test -Weverything + +void ppo0(){} // first verify that we do not give anything on this +#pragma clang diagnostic push // now push + +#pragma clang diagnostic warning "-Weverything" +void ppr1(){} // expected-warning {{no previous prototype for function 'ppr1'}} + +#pragma clang diagnostic push // push again +#pragma clang diagnostic ignored "-Weverything" // Set to ignore in this level. +void pps2(){} +#pragma clang diagnostic warning "-Weverything" // Set to warning in this level. +void ppt2(){} // expected-warning {{no previous prototype for function 'ppt2'}} +#pragma clang diagnostic error "-Weverything" // Set to error in this level. +void ppt3(){} // expected-error {{no previous prototype for function 'ppt3'}} +#pragma clang diagnostic pop // pop should go back to warning level + +void pps1(){} // expected-warning {{no previous prototype for function 'pps1'}} + + +#pragma clang diagnostic pop // Another pop should disble it again +void ppu(){} + diff --git a/test/Preprocessor/stringize_misc.c b/test/Preprocessor/stringize_misc.c index 6c2c78d17ac3..fc7253e50499 100644 --- a/test/Preprocessor/stringize_misc.c +++ b/test/Preprocessor/stringize_misc.c @@ -1,4 +1,5 @@ -// RUN: %clang_cc1 -E %s | FileCheck -strict-whitespace %s +#ifdef TEST1 +// RUN: %clang_cc1 -E %s -DTEST1 | FileCheck -strict-whitespace %s #define M(x, y) #x #y @@ -28,3 +29,13 @@ START_END( {a=1 , b=2;} ) /* braces are not parentheses */ M(a COMMA b, (a, b)) // CHECK: "a COMMA b" "(a, b)" +#endif + +#ifdef TEST2 +// RUN: %clang_cc1 -fsyntax-only -verify %s -DTEST2 + +#define HASH # +#define INVALID() # +// expected-error@-1{{'#' is not followed by a macro parameter}} + +#endif diff --git a/test/Preprocessor/stringize_space.c b/test/Preprocessor/stringize_space.c index 2d79d478e39d..ae70bf18187c 100644 --- a/test/Preprocessor/stringize_space.c +++ b/test/Preprocessor/stringize_space.c @@ -12,3 +12,9 @@ c) // CHECK: {{^}}"a c"{{$}} +#define str(x) #x +#define f(x) str(-x) +f( + 1) + +// CHECK: {{^}}"-1" diff --git a/test/Preprocessor/sysroot-prefix.c b/test/Preprocessor/sysroot-prefix.c new file mode 100644 index 000000000000..08c72f53b44e --- /dev/null +++ b/test/Preprocessor/sysroot-prefix.c @@ -0,0 +1,25 @@ +// RUN: %clang_cc1 -v -isysroot /var/empty -I /var/empty/include -E %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ISYSROOT_NO_SYSROOT %s +// RUN: %clang_cc1 -v -isysroot /var/empty -I =/var/empty/include -E %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ISYSROOT_SYSROOT_DEV_NULL %s +// RUN: %clang_cc1 -v -I =/var/empty/include -E %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-NO_ISYSROOT_SYSROOT_DEV_NULL %s +// RUN: %clang_cc1 -v -isysroot /var/empty -I =null -E %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ISYSROOT_SYSROOT_NULL %s +// RUN: %clang_cc1 -v -isysroot /var/empty -isysroot /var/empty/root -I =null -E %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ISYSROOT_ISYSROOT_SYSROOT_NULL %s +// RUN: %clang_cc1 -v -isysroot /var/empty/root -isysroot /var/empty -I =null -E %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ISYSROOT_ISYSROOT_SWAPPED_SYSROOT_NULL %s + +// CHECK-ISYSROOT_NO_SYSROOT: ignoring nonexistent directory "/var/empty/include" +// CHECK-ISYSROOT_NO_SYSROOT-NOT: ignoring nonexistent directory "/var/empty/var/empty/include" + +// CHECK-ISYSROOT_SYSROOT_DEV_NULL: ignoring nonexistent directory "/var/empty/var/empty/include" +// CHECK-ISYSROOT_SYSROOT_DEV_NULL-NOT: ignoring nonexistent directory "/var/empty" + +// CHECK-NO_ISYSROOT_SYSROOT_DEV_NULL: ignoring nonexistent directory "=/var/empty/include" +// CHECK-NO_ISYSROOT_SYSROOT_DEV_NULL-NOT: ignoring nonexistent directory "/var/empty/include" + +// CHECK-ISYSROOT_SYSROOT_NULL: ignoring nonexistent directory "/var/empty{{.}}null" +// CHECK-ISYSROOT_SYSROOT_NULL-NOT: ignoring nonexistent directory "=null" + +// CHECK-ISYSROOT_ISYSROOT_SYSROOT_NULL: ignoring nonexistent directory "/var/empty/root{{.}}null" +// CHECK-ISYSROOT_ISYSROOT_SYSROOT_NULL-NOT: ignoring nonexistent directory "=null" + +// CHECK-ISYSROOT_ISYSROOT_SWAPPED_SYSROOT_NULL: ignoring nonexistent directory "/var/empty{{.}}null" +// CHECK-ISYSROOT_ISYSROOT_SWAPPED_SYSROOT_NULL-NOT: ignoring nonexistent directory "=null" + diff --git a/test/Preprocessor/warning_tests.c b/test/Preprocessor/warning_tests.c index c0c22ef2d71f..1f2e884a5882 100644 --- a/test/Preprocessor/warning_tests.c +++ b/test/Preprocessor/warning_tests.c @@ -12,7 +12,7 @@ #endif // expected-error@+2 {{expected string literal in '__has_warning'}} -// expected-error@+1 {{expected value in expression}} +// expected-error@+1 {{missing ')'}} expected-note@+1 {{match}} #if __has_warning(-Wfoo) #endif @@ -22,8 +22,7 @@ #warning Not a valid warning flag #endif -// expected-error@+2 {{builtin warning check macro requires a parenthesized string}} -// expected-error@+1 {{invalid token}} +// expected-error@+1 {{missing '(' after '__has_warning'}} #if __has_warning "not valid" #endif @@ -33,7 +32,7 @@ #define MY_ALIAS "-Wparentheses" -// expected-error@+1 2{{expected}} +// expected-error@+1 {{expected}} #if __has_warning(MY_ALIAS) #error Alias expansion not allowed #endif diff --git a/test/Preprocessor/x86_target_features.c b/test/Preprocessor/x86_target_features.c index 9c4192caf3f0..ff79a699ae8d 100644 --- a/test/Preprocessor/x86_target_features.c +++ b/test/Preprocessor/x86_target_features.c @@ -1,4 +1,4 @@ -// RUN: %clang -target i386-unknown-unknown -march=core2 -msse4 -x c -E -dM -o - %s | FileCheck --check-prefix=SSE4 %s +// RUN: %clang -target i386-unknown-unknown -march=core2 -msse4 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSE4 %s // SSE4: #define __SSE2_MATH__ 1 // SSE4: #define __SSE2__ 1 @@ -9,11 +9,11 @@ // SSE4: #define __SSE__ 1 // SSE4: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=core2 -msse4.1 -mno-sse4 -x c -E -dM -o - %s | FileCheck --check-prefix=NOSSE4 %s +// RUN: %clang -target i386-unknown-unknown -march=core2 -msse4.1 -mno-sse4 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=NOSSE4 %s // NOSSE4-NOT: #define __SSE4_1__ 1 -// RUN: %clang -target i386-unknown-unknown -march=core2 -msse4 -mno-sse2 -x c -E -dM -o - %s | FileCheck --check-prefix=SSE %s +// RUN: %clang -target i386-unknown-unknown -march=core2 -msse4 -mno-sse2 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSE %s // SSE-NOT: #define __SSE2_MATH__ 1 // SSE-NOT: #define __SSE2__ 1 @@ -24,7 +24,7 @@ // SSE: #define __SSE__ 1 // SSE-NOT: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentium-m -x c -E -dM -o - %s | FileCheck --check-prefix=SSE2 %s +// RUN: %clang -target i386-unknown-unknown -march=pentium-m -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSE2 %s // SSE2: #define __SSE2_MATH__ 1 // SSE2: #define __SSE2__ 1 @@ -35,7 +35,7 @@ // SSE2: #define __SSE__ 1 // SSE2-NOT: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentium-m -mno-sse -mavx -x c -E -dM -o - %s | FileCheck --check-prefix=AVX %s +// RUN: %clang -target i386-unknown-unknown -march=pentium-m -mno-sse -mavx -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX %s // AVX: #define __AVX__ 1 // AVX: #define __SSE2_MATH__ 1 @@ -47,7 +47,7 @@ // AVX: #define __SSE__ 1 // AVX: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentium-m -mxop -mno-avx -x c -E -dM -o - %s | FileCheck --check-prefix=SSE4A %s +// RUN: %clang -target i386-unknown-unknown -march=pentium-m -mxop -mno-avx -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSE4A %s // SSE4A: #define __SSE2_MATH__ 1 // SSE4A: #define __SSE2__ 1 @@ -59,7 +59,7 @@ // SSE4A: #define __SSE__ 1 // SSE4A: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512f -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512F %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512f -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512F %s // AVX512F: #define __AVX2__ 1 // AVX512F: #define __AVX512F__ 1 @@ -73,7 +73,7 @@ // AVX512F: #define __SSE__ 1 // AVX512F: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512cd -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512CD %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512cd -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512CD %s // AVX512CD: #define __AVX2__ 1 // AVX512CD: #define __AVX512CD__ 1 @@ -88,7 +88,7 @@ // AVX512CD: #define __SSE__ 1 // AVX512CD: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512er -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512ER %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512er -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512ER %s // AVX512ER: #define __AVX2__ 1 // AVX512ER: #define __AVX512ER__ 1 @@ -103,7 +103,7 @@ // AVX512ER: #define __SSE__ 1 // AVX512ER: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512pf -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512PF %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512pf -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512PF %s // AVX512PF: #define __AVX2__ 1 // AVX512PF: #define __AVX512F__ 1 @@ -118,7 +118,7 @@ // AVX512PF: #define __SSE__ 1 // AVX512PF: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512dq -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512DQ %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512dq -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512DQ %s // AVX512DQ: #define __AVX2__ 1 // AVX512DQ: #define __AVX512DQ__ 1 @@ -133,7 +133,7 @@ // AVX512DQ: #define __SSE__ 1 // AVX512DQ: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512bw -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512BW %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512bw -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512BW %s // AVX512BW: #define __AVX2__ 1 // AVX512BW: #define __AVX512BW__ 1 @@ -148,7 +148,7 @@ // AVX512BW: #define __SSE__ 1 // AVX512BW: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512vl -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512VL %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512vl -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512VL %s // AVX512VL: #define __AVX2__ 1 // AVX512VL: #define __AVX512F__ 1 @@ -163,7 +163,7 @@ // AVX512VL: #define __SSE__ 1 // AVX512VL: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512pf -mno-avx512f -x c -E -dM -o - %s | FileCheck --check-prefix=AVX512F2 %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512pf -mno-avx512f -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512F2 %s // AVX512F2: #define __AVX2__ 1 // AVX512F2-NOT: #define __AVX512F__ 1 @@ -178,141 +178,171 @@ // AVX512F2: #define __SSE__ 1 // AVX512F2: #define __SSSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -msse4.2 -x c -E -dM -o - %s | FileCheck --check-prefix=SSE42POPCNT %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512ifma -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512IFMA %s + +// AVX512IFMA: #define __AVX2__ 1 +// AVX512IFMA: #define __AVX512F__ 1 +// AVX512IFMA: #define __AVX512IFMA__ 1 +// AVX512IFMA: #define __AVX__ 1 +// AVX512IFMA: #define __SSE2_MATH__ 1 +// AVX512IFMA: #define __SSE2__ 1 +// AVX512IFMA: #define __SSE3__ 1 +// AVX512IFMA: #define __SSE4_1__ 1 +// AVX512IFMA: #define __SSE4_2__ 1 +// AVX512IFMA: #define __SSE_MATH__ 1 +// AVX512IFMA: #define __SSE__ 1 +// AVX512IFMA: #define __SSSE3__ 1 + +// RUN: %clang -target i386-unknown-unknown -march=atom -mavx512vbmi -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AVX512VBMI %s + +// AVX512VBMI: #define __AVX2__ 1 +// AVX512VBMI: #define __AVX512F__ 1 +// AVX512VBMI: #define __AVX512VBMI__ 1 +// AVX512VBMI: #define __AVX__ 1 +// AVX512VBMI: #define __SSE2_MATH__ 1 +// AVX512VBMI: #define __SSE2__ 1 +// AVX512VBMI: #define __SSE3__ 1 +// AVX512VBMI: #define __SSE4_1__ 1 +// AVX512VBMI: #define __SSE4_2__ 1 +// AVX512VBMI: #define __SSE_MATH__ 1 +// AVX512VBMI: #define __SSE__ 1 +// AVX512VBMI: #define __SSSE3__ 1 + +// RUN: %clang -target i386-unknown-unknown -march=atom -msse4.2 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSE42POPCNT %s // SSE42POPCNT: #define __POPCNT__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mno-popcnt -msse4.2 -x c -E -dM -o - %s | FileCheck --check-prefix=SSE42NOPOPCNT %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mno-popcnt -msse4.2 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSE42NOPOPCNT %s // SSE42NOPOPCNT-NOT: #define __POPCNT__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mpopcnt -mno-sse4.2 -x c -E -dM -o - %s | FileCheck --check-prefix=NOSSE42POPCNT %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mpopcnt -mno-sse4.2 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=NOSSE42POPCNT %s // NOSSE42POPCNT: #define __POPCNT__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -msse -x c -E -dM -o - %s | FileCheck --check-prefix=SSEMMX %s +// RUN: %clang -target i386-unknown-unknown -march=atom -msse -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSEMMX %s // SSEMMX: #define __MMX__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -msse -mno-sse -x c -E -dM -o - %s | FileCheck --check-prefix=SSENOSSEMMX %s +// RUN: %clang -target i386-unknown-unknown -march=atom -msse -mno-sse -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSENOSSEMMX %s // SSENOSSEMMX-NOT: #define __MMX__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -msse -mno-mmx -x c -E -dM -o - %s | FileCheck --check-prefix=SSENOMMX %s +// RUN: %clang -target i386-unknown-unknown -march=atom -msse -mno-mmx -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SSENOMMX %s // SSENOMMX-NOT: #define __MMX__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mf16c -x c -E -dM -o - %s | FileCheck --check-prefix=F16C %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mf16c -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=F16C %s // F16C: #define __AVX__ 1 // F16C: #define __F16C__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mf16c -mno-avx -x c -E -dM -o - %s | FileCheck --check-prefix=F16CNOAVX %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mf16c -mno-avx -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=F16CNOAVX %s // F16CNOAVX-NOT: #define __AVX__ 1 // F16CNOAVX-NOT: #define __F16C__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -mpclmul -x c -E -dM -o - %s | FileCheck --check-prefix=PCLMUL %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -mpclmul -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=PCLMUL %s // PCLMUL: #define __PCLMUL__ 1 // PCLMUL: #define __SSE2__ 1 // PCLMUL-NOT: #define __SSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -mpclmul -mno-sse2 -x c -E -dM -o - %s | FileCheck --check-prefix=PCLMULNOSSE2 %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -mpclmul -mno-sse2 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=PCLMULNOSSE2 %s // PCLMULNOSSE2-NOT: #define __PCLMUL__ 1 // PCLMULNOSSE2-NOT: #define __SSE2__ 1 // PCLMULNOSSE2-NOT: #define __SSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -maes -x c -E -dM -o - %s | FileCheck --check-prefix=AES %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -maes -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AES %s // AES: #define __AES__ 1 // AES: #define __SSE2__ 1 // AES-NOT: #define __SSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -maes -mno-sse2 -x c -E -dM -o - %s | FileCheck --check-prefix=AESNOSSE2 %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -maes -mno-sse2 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=AESNOSSE2 %s // AESNOSSE2-NOT: #define __AES__ 1 // AESNOSSE2-NOT: #define __SSE2__ 1 // AESNOSSE2-NOT: #define __SSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -msha -x c -E -dM -o - %s | FileCheck --check-prefix=SHA %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -msha -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SHA %s // SHA: #define __SHA__ 1 // SHA: #define __SSE2__ 1 // SHA-NOT: #define __SSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -msha -mno-sha -x c -E -dM -o - %s | FileCheck --check-prefix=SHANOSHA %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -msha -mno-sha -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SHANOSHA %s // SHANOSHA-NOT: #define __SHA__ 1 // SHANOSHA-NOT: #define __SSE2__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -msha -mno-sse2 -x c -E -dM -o - %s | FileCheck --check-prefix=SHANOSSE2 %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -msha -mno-sse2 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=SHANOSSE2 %s // SHANOSSE2-NOT: #define __SHA__ 1 // SHANOSSE2-NOT: #define __SSE2__ 1 // SHANOSSE2-NOT: #define __SSE3__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mtbm -x c -E -dM -o - %s | FileCheck --check-prefix=TBM %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mtbm -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=TBM %s // TBM: #define __TBM__ 1 -// RUN: %clang -target i386-unknown-unknown -march=bdver2 -mno-tbm -x c -E -dM -o - %s | FileCheck --check-prefix=NOTBM %s +// RUN: %clang -target i386-unknown-unknown -march=bdver2 -mno-tbm -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=NOTBM %s // NOTBM-NOT: #define __TBM__ 1 -// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -mcx16 -x c -E -dM -o - %s | FileCheck --check-prefix=MCX16 %s +// RUN: %clang -target i386-unknown-unknown -march=pentiumpro -mcx16 -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=MCX16 %s // MCX16: #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mprfchw -x c -E -dM -o - %s | FileCheck --check-prefix=PRFCHW %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mprfchw -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=PRFCHW %s // PRFCHW: #define __PRFCHW__ 1 -// RUN: %clang -target i386-unknown-unknown -march=btver2 -mno-prfchw -x c -E -dM -o - %s | FileCheck --check-prefix=NOPRFCHW %s +// RUN: %clang -target i386-unknown-unknown -march=btver2 -mno-prfchw -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=NOPRFCHW %s // NOPRFCHW-NOT: #define __PRFCHW__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -m3dnow -x c -E -dM -o - %s | FileCheck --check-prefix=3DNOWPRFCHW %s +// RUN: %clang -target i386-unknown-unknown -march=atom -m3dnow -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=3DNOWPRFCHW %s // 3DNOWPRFCHW: #define __PRFCHW__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mno-prfchw -m3dnow -x c -E -dM -o - %s | FileCheck --check-prefix=3DNOWNOPRFCHW %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mno-prfchw -m3dnow -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=3DNOWNOPRFCHW %s // 3DNOWNOPRFCHW-NOT: #define __PRFCHW__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mprfchw -mno-3dnow -x c -E -dM -o - %s | FileCheck --check-prefix=NO3DNOWPRFCHW %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mprfchw -mno-3dnow -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=NO3DNOWPRFCHW %s // NO3DNOWPRFCHW: #define __PRFCHW__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -madx -x c -E -dM -o - %s | FileCheck --check-prefix=ADX %s +// RUN: %clang -target i386-unknown-unknown -march=atom -madx -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=ADX %s // ADX: #define __ADX__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mrdseed -x c -E -dM -o - %s | FileCheck --check-prefix=RDSEED %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mrdseed -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=RDSEED %s // RDSEED: #define __RDSEED__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mxsave -x c -E -dM -o - %s | FileCheck --check-prefix=XSAVE %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mxsave -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=XSAVE %s // XSAVE: #define __XSAVE__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mxsaveopt -x c -E -dM -o - %s | FileCheck --check-prefix=XSAVEOPT %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mxsaveopt -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=XSAVEOPT %s // XSAVEOPT: #define __XSAVEOPT__ 1 // XSAVEOPT: #define __XSAVE__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mxsavec -x c -E -dM -o - %s | FileCheck --check-prefix=XSAVEC %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mxsavec -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=XSAVEC %s // XSAVEC: #define __XSAVEC__ 1 // XSAVEC: #define __XSAVE__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mxsaves -x c -E -dM -o - %s | FileCheck --check-prefix=XSAVES %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mxsaves -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=XSAVES %s // XSAVES: #define __XSAVES__ 1 // XSAVES: #define __XSAVE__ 1 -// RUN: %clang -target i386-unknown-unknown -march=atom -mxsaveopt -mno-xsave -x c -E -dM -o - %s | FileCheck --check-prefix=NOXSAVE %s +// RUN: %clang -target i386-unknown-unknown -march=atom -mxsaveopt -mno-xsave -x c -E -dM -o - %s | FileCheck -match-full-lines --check-prefix=NOXSAVE %s // NOXSAVE-NOT: #define __XSAVEOPT__ 1 // NOXSAVE-NOT: #define __XSAVE__ 1 |
