diff options
Diffstat (limited to 'test/Preprocessor/init.c')
| -rw-r--r-- | test/Preprocessor/init.c | 440 | 
1 files changed, 417 insertions, 23 deletions
diff --git a/test/Preprocessor/init.c b/test/Preprocessor/init.c index e0f45f17283e..e7321e063099 100644 --- a/test/Preprocessor/init.c +++ b/test/Preprocessor/init.c @@ -48,6 +48,9 @@  // COMMON:#define __GNUC_STDC_INLINE__ 1  // 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__  // COMMON:#define __STDC__ 1 @@ -62,12 +65,21 @@  //   // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s  // FREESTANDING:#define __STDC_HOSTED__ 0 -//  +// +// +// RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s +// +// 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  //  // GXX98:#define __GNUG__  // GXX98:#define __GXX_WEAK__ 1 -// GXX98:#define __cplusplus 1 +// GXX98:#define __cplusplus 199711L  // GXX98:#define __private_extern__ extern  //  //  @@ -76,7 +88,7 @@  // C94:#define __STDC_VERSION__ 199409L  //  //  -// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s +// RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s  //  // MSEXT-NOT:#define __STDC__  // MSEXT:#define _INTEGRAL_MAX_BITS 64 @@ -99,12 +111,39 @@  // NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1  // NONFRAGILE:#define __OBJC2__ 1  // -//  +// +// RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -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 +// +// NO_INLINE:#define __NO_INLINE__ 1 +// NO_INLINE-NOT:#define __OPTIMIZE_SIZE__ +// NO_INLINE:#define __OPTIMIZE__ +// +//  // RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -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 +// +// Os:#define __OPTIMIZE_SIZE__ 1 +// Os:#define __OPTIMIZE__ 1 +// +// +// RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -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  //  // PASCAL:#define __PASCAL_STRINGS__ 1 @@ -125,9 +164,11 @@  //  // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s  // +// ARM-NOT:#define _LP64  // ARM:#define __APCS_32__ 1  // ARM:#define __ARMEL__ 1  // ARM:#define __ARM_ARCH_6J__ 1 +// ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // ARM:#define __CHAR16_TYPE__ unsigned short  // ARM:#define __CHAR32_TYPE__ unsigned int  // ARM:#define __CHAR_BIT__ 8 @@ -187,7 +228,7 @@  // ARM:#define __LITTLE_ENDIAN__ 1  // ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL  // ARM:#define __LONG_MAX__ 2147483647L -// ARM:#define __NO_INLINE__ 1 +// ARM-NOT:#define __LP64__  // ARM:#define __POINTER_WIDTH__ 32  // ARM:#define __PTRDIFF_TYPE__ int  // ARM:#define __PTRDIFF_WIDTH__ 32 @@ -222,6 +263,8 @@  //  // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s  // +// I386-NOT:#define _LP64 +// I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // I386:#define __CHAR16_TYPE__ unsigned short  // I386:#define __CHAR32_TYPE__ unsigned int  // I386:#define __CHAR_BIT__ 8 @@ -281,7 +324,7 @@  // I386:#define __LITTLE_ENDIAN__ 1  // I386:#define __LONG_LONG_MAX__ 9223372036854775807LL  // I386:#define __LONG_MAX__ 2147483647L -// I386:#define __NO_INLINE__ 1 +// I386-NOT:#define __LP64__  // I386:#define __NO_MATH_INLINES 1  // I386:#define __POINTER_WIDTH__ 32  // I386:#define __PTRDIFF_TYPE__ int @@ -317,6 +360,8 @@  //  // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s  // +// I386-LINUX-NOT:#define _LP64 +// I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // I386-LINUX:#define __CHAR16_TYPE__ unsigned short  // I386-LINUX:#define __CHAR32_TYPE__ unsigned int  // I386-LINUX:#define __CHAR_BIT__ 8 @@ -376,7 +421,7 @@  // I386-LINUX:#define __LITTLE_ENDIAN__ 1  // I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL  // I386-LINUX:#define __LONG_MAX__ 2147483647L -// I386-LINUX:#define __NO_INLINE__ 1 +// I386-LINUX-NOT:#define __LP64__  // I386-LINUX:#define __NO_MATH_INLINES 1  // I386-LINUX:#define __POINTER_WIDTH__ 32  // I386-LINUX:#define __PTRDIFF_TYPE__ int @@ -414,11 +459,13 @@  //  // MIPS32BE:#define MIPSEB 1  // MIPS32BE:#define _ABIO32 1 +// MIPS32BE-NOT:#define _LP64  // MIPS32BE:#define _MIPSEB 1  // MIPS32BE:#define _MIPS_SIM _ABIO32  // MIPS32BE:#define _MIPS_SZINT 32  // MIPS32BE:#define _MIPS_SZLONG 32  // MIPS32BE:#define _MIPS_SZPTR 32 +// MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // MIPS32BE:#define __CHAR16_TYPE__ unsigned short  // MIPS32BE:#define __CHAR32_TYPE__ unsigned int  // MIPS32BE:#define __CHAR_BIT__ 8 @@ -478,9 +525,9 @@  // MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308  // MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL  // MIPS32BE:#define __LONG_MAX__ 2147483647L +// MIPS32BE-NOT:#define __LP64__  // MIPS32BE:#define __MIPSEB 1  // MIPS32BE:#define __MIPSEB__ 1 -// MIPS32BE:#define __NO_INLINE__ 1  // MIPS32BE:#define __POINTER_WIDTH__ 32  // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1  // MIPS32BE:#define __PTRDIFF_TYPE__ int @@ -526,11 +573,13 @@  //  // MIPS32EL:#define MIPSEL 1  // MIPS32EL:#define _ABIO32 1 +// MIPS32EL-NOT:#define _LP64  // MIPS32EL:#define _MIPSEL 1  // MIPS32EL:#define _MIPS_SIM _ABIO32  // MIPS32EL:#define _MIPS_SZINT 32  // MIPS32EL:#define _MIPS_SZLONG 32  // MIPS32EL:#define _MIPS_SZPTR 32 +// MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // MIPS32EL:#define __CHAR16_TYPE__ unsigned short  // MIPS32EL:#define __CHAR32_TYPE__ unsigned int  // MIPS32EL:#define __CHAR_BIT__ 8 @@ -590,9 +639,9 @@  // MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308  // MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL  // MIPS32EL:#define __LONG_MAX__ 2147483647L +// MIPS32EL-NOT:#define __LP64__  // MIPS32EL:#define __MIPSEL 1  // MIPS32EL:#define __MIPSEL__ 1 -// MIPS32EL:#define __NO_INLINE__ 1  // MIPS32EL:#define __POINTER_WIDTH__ 32  // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1  // MIPS32EL:#define __PTRDIFF_TYPE__ int @@ -635,11 +684,13 @@  //  // MIPS64BE:#define MIPSEB 1  // MIPS64BE:#define _ABI64 3 +// MIPS64BE:#define _LP64 1  // MIPS64BE:#define _MIPSEB 1  // MIPS64BE:#define _MIPS_SIM _ABI64  // MIPS64BE:#define _MIPS_SZINT 32  // MIPS64BE:#define _MIPS_SZLONG 64  // MIPS64BE:#define _MIPS_SZPTR 64 +// MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // MIPS64BE:#define __CHAR16_TYPE__ unsigned short  // MIPS64BE:#define __CHAR32_TYPE__ unsigned int  // MIPS64BE:#define __CHAR_BIT__ 8 @@ -699,9 +750,9 @@  // MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L  // MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL  // MIPS64BE:#define __LONG_MAX__ 9223372036854775807L +// MIPS64BE:#define __LP64__ 1  // MIPS64BE:#define __MIPSEB 1  // MIPS64BE:#define __MIPSEB__ 1 -// MIPS64BE:#define __NO_INLINE__ 1  // MIPS64BE:#define __POINTER_WIDTH__ 64  // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1  // MIPS64BE:#define __PTRDIFF_TYPE__ long int @@ -744,11 +795,13 @@  //  // MIPS64EL:#define MIPSEL 1  // MIPS64EL:#define _ABI64 3 +// MIPS64EL:#define _LP64 1  // MIPS64EL:#define _MIPSEL 1  // MIPS64EL:#define _MIPS_SIM _ABI64  // MIPS64EL:#define _MIPS_SZINT 32  // MIPS64EL:#define _MIPS_SZLONG 64  // MIPS64EL:#define _MIPS_SZPTR 64 +// MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // MIPS64EL:#define __CHAR16_TYPE__ unsigned short  // MIPS64EL:#define __CHAR32_TYPE__ unsigned int  // MIPS64EL:#define __CHAR_BIT__ 8 @@ -808,9 +861,9 @@  // MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L  // MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL  // MIPS64EL:#define __LONG_MAX__ 9223372036854775807L +// MIPS64EL:#define __LP64__ 1  // MIPS64EL:#define __MIPSEL 1  // MIPS64EL:#define __MIPSEL__ 1 -// MIPS64EL:#define __NO_INLINE__ 1  // MIPS64EL:#define __POINTER_WIDTH__ 64  // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1  // MIPS64EL:#define __PTRDIFF_TYPE__ long int @@ -864,11 +917,40 @@  // 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 +// MIPS-FABI-SINGLE:#define __mips_hard_float 1  // MIPS-FABI-SINGLE:#define __mips_single_float 1  // +// Check MIPS features macros +// +// RUN: %clang_cc1 -target-feature +mips16 \ +// RUN:   -E -dM -triple=mips-none-none < /dev/null \ +// RUN:   | FileCheck -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 +// NOMIPS16-NOT:#define __mips16 1 +// +// RUN: %clang_cc1 -target-feature +dsp \ +// RUN:   -E -dM -triple=mips-none-none < /dev/null \ +// RUN:   | FileCheck -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 +// MIPS-DSPR2:#define __mips_dsp 1 +// MIPS-DSPR2:#define __mips_dsp_rev 2 +// MIPS-DSPR2:#define __mips_dspr2 1 +//  // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s  //  // MSP430:#define MSP430 1 +// MSP430-NOT:#define _LP64 +// MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // MSP430:#define __CHAR16_TYPE__ unsigned short  // MSP430:#define __CHAR32_TYPE__ unsigned int  // MSP430:#define __CHAR_BIT__ 8 @@ -926,8 +1008,8 @@  // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308  // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL  // MSP430:#define __LONG_MAX__ 2147483647L +// MSP430-NOT:#define __LP64__  // MSP430:#define __MSP430__ 1 -// MSP430:#define __NO_INLINE__ 1  // MSP430:#define __POINTER_WIDTH__ 16  // MSP430:#define __PTRDIFF_TYPE__ int  // MSP430:#define __PTRDIFF_WIDTH__ 16  @@ -957,13 +1039,315 @@  // MSP430:#define __WINT_WIDTH__ 16  // MSP430:#define __clang__ 1  // -// RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s +// RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s +// +// NVPTX32-NOT:#define _LP64 +// NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +// NVPTX32:#define __CHAR16_TYPE__ unsigned short +// NVPTX32:#define __CHAR32_TYPE__ unsigned int +// NVPTX32:#define __CHAR_BIT__ 8 +// NVPTX32:#define __CONSTANT_CFSTRINGS__ 1 +// NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +// NVPTX32:#define __DBL_DIG__ 15 +// NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16 +// NVPTX32:#define __DBL_HAS_DENORM__ 1 +// NVPTX32:#define __DBL_HAS_INFINITY__ 1 +// NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1 +// NVPTX32:#define __DBL_MANT_DIG__ 53 +// NVPTX32:#define __DBL_MAX_10_EXP__ 308 +// NVPTX32:#define __DBL_MAX_EXP__ 1024 +// NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308 +// NVPTX32:#define __DBL_MIN_10_EXP__ (-307) +// NVPTX32:#define __DBL_MIN_EXP__ (-1021) +// NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308 +// NVPTX32:#define __DECIMAL_DIG__ 17 +// NVPTX32:#define __FINITE_MATH_ONLY__ 0 +// NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F +// NVPTX32:#define __FLT_DIG__ 6 +// NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F +// NVPTX32:#define __FLT_EVAL_METHOD__ 0 +// NVPTX32:#define __FLT_HAS_DENORM__ 1 +// NVPTX32:#define __FLT_HAS_INFINITY__ 1 +// NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1 +// NVPTX32:#define __FLT_MANT_DIG__ 24 +// NVPTX32:#define __FLT_MAX_10_EXP__ 38 +// NVPTX32:#define __FLT_MAX_EXP__ 128 +// NVPTX32:#define __FLT_MAX__ 3.40282347e+38F +// NVPTX32:#define __FLT_MIN_10_EXP__ (-37) +// NVPTX32:#define __FLT_MIN_EXP__ (-125) +// NVPTX32:#define __FLT_MIN__ 1.17549435e-38F +// NVPTX32:#define __FLT_RADIX__ 2 +// NVPTX32:#define __INT16_TYPE__ short +// NVPTX32:#define __INT32_TYPE__ int +// NVPTX32:#define __INT64_C_SUFFIX__ LL +// NVPTX32:#define __INT64_TYPE__ long long int +// NVPTX32:#define __INT8_TYPE__ char +// NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL +// NVPTX32:#define __INTMAX_TYPE__ long long int +// NVPTX32:#define __INTMAX_WIDTH__ 64 +// NVPTX32:#define __INTPTR_TYPE__ unsigned int +// NVPTX32:#define __INTPTR_WIDTH__ 32 +// NVPTX32:#define __INT_MAX__ 2147483647 +// NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324 +// NVPTX32:#define __LDBL_DIG__ 15 +// NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16 +// NVPTX32:#define __LDBL_HAS_DENORM__ 1 +// NVPTX32:#define __LDBL_HAS_INFINITY__ 1 +// NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1 +// NVPTX32:#define __LDBL_MANT_DIG__ 53 +// NVPTX32:#define __LDBL_MAX_10_EXP__ 308 +// NVPTX32:#define __LDBL_MAX_EXP__ 1024 +// NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308 +// NVPTX32:#define __LDBL_MIN_10_EXP__ (-307) +// NVPTX32:#define __LDBL_MIN_EXP__ (-1021) +// NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308 +// NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL +// NVPTX32:#define __LONG_MAX__ 9223372036854775807L +// NVPTX32-NOT:#define __LP64__ +// NVPTX32:#define __NVPTX__ 1 +// NVPTX32:#define __POINTER_WIDTH__ 32 +// NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1 +// NVPTX32:#define __PTRDIFF_TYPE__ unsigned int +// NVPTX32:#define __PTRDIFF_WIDTH__ 32 +// NVPTX32:#define __PTX__ 1 +// NVPTX32:#define __SCHAR_MAX__ 127 +// NVPTX32:#define __SHRT_MAX__ 32767 +// NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32 +// NVPTX32:#define __SIZEOF_DOUBLE__ 8 +// NVPTX32:#define __SIZEOF_FLOAT__ 4 +// NVPTX32:#define __SIZEOF_INT__ 4 +// NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8 +// NVPTX32:#define __SIZEOF_LONG_LONG__ 8 +// NVPTX32:#define __SIZEOF_LONG__ 8 +// NVPTX32:#define __SIZEOF_POINTER__ 4 +// NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4 +// NVPTX32:#define __SIZEOF_SHORT__ 2 +// NVPTX32:#define __SIZEOF_SIZE_T__ 4 +// NVPTX32:#define __SIZEOF_WCHAR_T__ 4 +// NVPTX32:#define __SIZEOF_WINT_T__ 4 +// NVPTX32:#define __SIZE_TYPE__ unsigned int +// NVPTX32:#define __SIZE_WIDTH__ 32 +// NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int +// 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 +// +// NVPTX64:#define _LP64 1 +// NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +// NVPTX64:#define __CHAR16_TYPE__ unsigned short +// NVPTX64:#define __CHAR32_TYPE__ unsigned int +// NVPTX64:#define __CHAR_BIT__ 8 +// NVPTX64:#define __CONSTANT_CFSTRINGS__ 1 +// NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +// NVPTX64:#define __DBL_DIG__ 15 +// NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16 +// NVPTX64:#define __DBL_HAS_DENORM__ 1 +// NVPTX64:#define __DBL_HAS_INFINITY__ 1 +// NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1 +// NVPTX64:#define __DBL_MANT_DIG__ 53 +// NVPTX64:#define __DBL_MAX_10_EXP__ 308 +// NVPTX64:#define __DBL_MAX_EXP__ 1024 +// NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308 +// NVPTX64:#define __DBL_MIN_10_EXP__ (-307) +// NVPTX64:#define __DBL_MIN_EXP__ (-1021) +// NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308 +// NVPTX64:#define __DECIMAL_DIG__ 17 +// NVPTX64:#define __FINITE_MATH_ONLY__ 0 +// NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F +// NVPTX64:#define __FLT_DIG__ 6 +// NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F +// NVPTX64:#define __FLT_EVAL_METHOD__ 0 +// NVPTX64:#define __FLT_HAS_DENORM__ 1 +// NVPTX64:#define __FLT_HAS_INFINITY__ 1 +// NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1 +// NVPTX64:#define __FLT_MANT_DIG__ 24 +// NVPTX64:#define __FLT_MAX_10_EXP__ 38 +// NVPTX64:#define __FLT_MAX_EXP__ 128 +// NVPTX64:#define __FLT_MAX__ 3.40282347e+38F +// NVPTX64:#define __FLT_MIN_10_EXP__ (-37) +// NVPTX64:#define __FLT_MIN_EXP__ (-125) +// NVPTX64:#define __FLT_MIN__ 1.17549435e-38F +// NVPTX64:#define __FLT_RADIX__ 2 +// NVPTX64:#define __INT16_TYPE__ short +// NVPTX64:#define __INT32_TYPE__ int +// NVPTX64:#define __INT64_C_SUFFIX__ LL +// NVPTX64:#define __INT64_TYPE__ long long int +// NVPTX64:#define __INT8_TYPE__ char +// NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL +// NVPTX64:#define __INTMAX_TYPE__ long long int +// NVPTX64:#define __INTMAX_WIDTH__ 64 +// NVPTX64:#define __INTPTR_TYPE__ long long unsigned int +// NVPTX64:#define __INTPTR_WIDTH__ 64 +// NVPTX64:#define __INT_MAX__ 2147483647 +// NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324 +// NVPTX64:#define __LDBL_DIG__ 15 +// NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16 +// NVPTX64:#define __LDBL_HAS_DENORM__ 1 +// NVPTX64:#define __LDBL_HAS_INFINITY__ 1 +// NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1 +// NVPTX64:#define __LDBL_MANT_DIG__ 53 +// NVPTX64:#define __LDBL_MAX_10_EXP__ 308 +// NVPTX64:#define __LDBL_MAX_EXP__ 1024 +// NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308 +// NVPTX64:#define __LDBL_MIN_10_EXP__ (-307) +// NVPTX64:#define __LDBL_MIN_EXP__ (-1021) +// NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308 +// NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL +// NVPTX64:#define __LONG_MAX__ 9223372036854775807L +// NVPTX64:#define __LP64__ 1 +// NVPTX64:#define __NVPTX__ 1 +// NVPTX64:#define __POINTER_WIDTH__ 64 +// NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1 +// NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int +// NVPTX64:#define __PTRDIFF_WIDTH__ 64 +// NVPTX64:#define __PTX__ 1 +// NVPTX64:#define __SCHAR_MAX__ 127 +// NVPTX64:#define __SHRT_MAX__ 32767 +// NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32 +// NVPTX64:#define __SIZEOF_DOUBLE__ 8 +// NVPTX64:#define __SIZEOF_FLOAT__ 4 +// NVPTX64:#define __SIZEOF_INT__ 4 +// NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8 +// NVPTX64:#define __SIZEOF_LONG_LONG__ 8 +// NVPTX64:#define __SIZEOF_LONG__ 8 +// NVPTX64:#define __SIZEOF_POINTER__ 8 +// NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8 +// NVPTX64:#define __SIZEOF_SHORT__ 2 +// NVPTX64:#define __SIZEOF_SIZE_T__ 8 +// NVPTX64:#define __SIZEOF_WCHAR_T__ 4 +// NVPTX64:#define __SIZEOF_WINT_T__ 4 +// NVPTX64:#define __SIZE_TYPE__ long long unsigned int +// NVPTX64:#define __SIZE_WIDTH__ 64 +// NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int +// 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 +// +// PPC603E:#define _ARCH_603 1 +// PPC603E:#define _ARCH_603E 1 +// PPC603E:#define _ARCH_PPC 1 +// PPC603E:#define _ARCH_PPCGR 1 +// PPC603E:#define _BIG_ENDIAN 1 +// PPC603E-NOT:#define _LP64 +// PPC603E:#define __BIG_ENDIAN__ 1 +// PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__ +// PPC603E:#define __CHAR16_TYPE__ unsigned short +// PPC603E:#define __CHAR32_TYPE__ unsigned int +// PPC603E:#define __CHAR_BIT__ 8 +// PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 +// PPC603E:#define __DBL_DIG__ 15 +// PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16 +// PPC603E:#define __DBL_HAS_DENORM__ 1 +// PPC603E:#define __DBL_HAS_INFINITY__ 1 +// PPC603E:#define __DBL_HAS_QUIET_NAN__ 1 +// PPC603E:#define __DBL_MANT_DIG__ 53 +// PPC603E:#define __DBL_MAX_10_EXP__ 308 +// PPC603E:#define __DBL_MAX_EXP__ 1024 +// PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308 +// PPC603E:#define __DBL_MIN_10_EXP__ (-307) +// PPC603E:#define __DBL_MIN_EXP__ (-1021) +// PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308 +// PPC603E:#define __DECIMAL_DIG__ 33 +// PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F +// PPC603E:#define __FLT_DIG__ 6 +// PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F +// PPC603E:#define __FLT_EVAL_METHOD__ 0 +// PPC603E:#define __FLT_HAS_DENORM__ 1 +// PPC603E:#define __FLT_HAS_INFINITY__ 1 +// PPC603E:#define __FLT_HAS_QUIET_NAN__ 1 +// PPC603E:#define __FLT_MANT_DIG__ 24 +// PPC603E:#define __FLT_MAX_10_EXP__ 38 +// PPC603E:#define __FLT_MAX_EXP__ 128 +// PPC603E:#define __FLT_MAX__ 3.40282347e+38F +// PPC603E:#define __FLT_MIN_10_EXP__ (-37) +// PPC603E:#define __FLT_MIN_EXP__ (-125) +// PPC603E:#define __FLT_MIN__ 1.17549435e-38F +// PPC603E:#define __FLT_RADIX__ 2 +// PPC603E:#define __INT16_TYPE__ short +// PPC603E:#define __INT32_TYPE__ int +// PPC603E:#define __INT64_C_SUFFIX__ LL +// PPC603E:#define __INT64_TYPE__ long long int +// PPC603E:#define __INT8_TYPE__ char +// PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL +// PPC603E:#define __INTMAX_TYPE__ long long int +// PPC603E:#define __INTMAX_WIDTH__ 64 +// PPC603E:#define __INTPTR_TYPE__ long int +// PPC603E:#define __INTPTR_WIDTH__ 32 +// PPC603E:#define __INT_MAX__ 2147483647 +// PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L +// PPC603E:#define __LDBL_DIG__ 31 +// PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L +// PPC603E:#define __LDBL_HAS_DENORM__ 1 +// PPC603E:#define __LDBL_HAS_INFINITY__ 1 +// PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1 +// PPC603E:#define __LDBL_MANT_DIG__ 106 +// PPC603E:#define __LDBL_MAX_10_EXP__ 308 +// PPC603E:#define __LDBL_MAX_EXP__ 1024 +// PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L +// PPC603E:#define __LDBL_MIN_10_EXP__ (-291) +// PPC603E:#define __LDBL_MIN_EXP__ (-968) +// PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L +// PPC603E:#define __LONG_DOUBLE_128__ 1 +// PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL +// PPC603E:#define __LONG_MAX__ 2147483647L +// PPC603E-NOT:#define __LP64__ +// PPC603E:#define __NATURAL_ALIGNMENT__ 1 +// PPC603E:#define __POINTER_WIDTH__ 32 +// PPC603E:#define __POWERPC__ 1 +// PPC603E:#define __PTRDIFF_TYPE__ long int +// PPC603E:#define __PTRDIFF_WIDTH__ 32 +// PPC603E:#define __REGISTER_PREFIX__ +// PPC603E:#define __SCHAR_MAX__ 127 +// PPC603E:#define __SHRT_MAX__ 32767 +// PPC603E:#define __SIG_ATOMIC_WIDTH__ 32 +// PPC603E:#define __SIZEOF_DOUBLE__ 8 +// PPC603E:#define __SIZEOF_FLOAT__ 4 +// PPC603E:#define __SIZEOF_INT__ 4 +// PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16 +// PPC603E:#define __SIZEOF_LONG_LONG__ 8 +// PPC603E:#define __SIZEOF_LONG__ 4 +// PPC603E:#define __SIZEOF_POINTER__ 4 +// PPC603E:#define __SIZEOF_PTRDIFF_T__ 4 +// PPC603E:#define __SIZEOF_SHORT__ 2 +// PPC603E:#define __SIZEOF_SIZE_T__ 4 +// PPC603E:#define __SIZEOF_WCHAR_T__ 4 +// PPC603E:#define __SIZEOF_WINT_T__ 4 +// PPC603E:#define __SIZE_TYPE__ long unsigned int +// PPC603E:#define __SIZE_WIDTH__ 32 +// PPC603E:#define __UINTMAX_TYPE__ long long unsigned int +// PPC603E:#define __USER_LABEL_PREFIX__ _ +// PPC603E:#define __WCHAR_MAX__ 2147483647 +// PPC603E:#define __WCHAR_TYPE__ int +// PPC603E:#define __WCHAR_WIDTH__ 32 +// PPC603E:#define __WINT_TYPE__ int +// PPC603E:#define __WINT_WIDTH__ 32 +// 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  //  // PPC64:#define _ARCH_PPC 1  // PPC64:#define _ARCH_PPC64 1 +// PPC64:#define _ARCH_PPCGR 1 +// PPC64:#define _ARCH_PPCSQ 1 +// PPC64:#define _ARCH_PWR4 1 +// PPC64:#define _ARCH_PWR5 1 +// PPC64:#define _ARCH_PWR6 1 +// PPC64:#define _ARCH_PWR7 1  // PPC64:#define _BIG_ENDIAN 1  // PPC64:#define _LP64 1  // PPC64:#define __BIG_ENDIAN__ 1 +// PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // PPC64:#define __CHAR16_TYPE__ unsigned short  // PPC64:#define __CHAR32_TYPE__ unsigned int  // PPC64:#define __CHAR_BIT__ 8 @@ -1026,7 +1410,6 @@  // PPC64:#define __LONG_MAX__ 9223372036854775807L  // PPC64:#define __LP64__ 1  // PPC64:#define __NATURAL_ALIGNMENT__ 1 -// PPC64:#define __NO_INLINE__ 1  // PPC64:#define __POINTER_WIDTH__ 64  // PPC64:#define __POWERPC__ 1  // PPC64:#define __PTRDIFF_TYPE__ long int @@ -1066,6 +1449,7 @@  // PPC64-LINUX:#define _BIG_ENDIAN 1  // PPC64-LINUX:#define _LP64 1  // PPC64-LINUX:#define __BIG_ENDIAN__ 1 +// PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short  // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int  // PPC64-LINUX:#define __CHAR_BIT__ 8 @@ -1128,7 +1512,6 @@  // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L  // PPC64-LINUX:#define __LP64__ 1  // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1 -// PPC64-LINUX:#define __NO_INLINE__ 1  // PPC64-LINUX:#define __POINTER_WIDTH__ 64  // PPC64-LINUX:#define __POWERPC__ 1  // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int @@ -1168,7 +1551,9 @@  //  // PPC:#define _ARCH_PPC 1  // PPC:#define _BIG_ENDIAN 1 +// PPC-NOT:#define _LP64  // PPC:#define __BIG_ENDIAN__ 1 +// PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // PPC:#define __CHAR16_TYPE__ unsigned short  // PPC:#define __CHAR32_TYPE__ unsigned int  // PPC:#define __CHAR_BIT__ 8 @@ -1229,8 +1614,8 @@  // PPC:#define __LONG_DOUBLE_128__ 1  // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL  // PPC:#define __LONG_MAX__ 2147483647L +// PPC-NOT:#define __LP64__  // PPC:#define __NATURAL_ALIGNMENT__ 1 -// PPC:#define __NO_INLINE__ 1  // PPC:#define __POINTER_WIDTH__ 32  // PPC:#define __POWERPC__ 1  // PPC:#define __PTRDIFF_TYPE__ long int @@ -1266,7 +1651,9 @@  //  // PPC-LINUX:#define _ARCH_PPC 1  // PPC-LINUX:#define _BIG_ENDIAN 1 +// PPC-LINUX-NOT:#define _LP64  // PPC-LINUX:#define __BIG_ENDIAN__ 1 +// PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // PPC-LINUX:#define __CHAR16_TYPE__ unsigned short  // PPC-LINUX:#define __CHAR32_TYPE__ unsigned int  // PPC-LINUX:#define __CHAR_BIT__ 8 @@ -1327,8 +1714,8 @@  // PPC-LINUX:#define __LONG_DOUBLE_128__ 1  // PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL  // PPC-LINUX:#define __LONG_MAX__ 2147483647L +// PPC-LINUX-NOT:#define __LP64__  // PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1 -// PPC-LINUX:#define __NO_INLINE__ 1  // PPC-LINUX:#define __POINTER_WIDTH__ 32  // PPC-LINUX:#define __POWERPC__ 1  // PPC-LINUX:#define __PTRDIFF_TYPE__ int @@ -1364,6 +1751,8 @@  //  // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s  // +// SPARC-NOT:#define _LP64 +// SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // SPARC:#define __CHAR16_TYPE__ unsigned short  // SPARC:#define __CHAR32_TYPE__ unsigned int  // SPARC:#define __CHAR_BIT__ 8 @@ -1422,7 +1811,7 @@  // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308  // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL  // SPARC:#define __LONG_MAX__ 2147483647L -// SPARC:#define __NO_INLINE__ 1 +// SPARC-NOT:#define __LP64__  // SPARC:#define __POINTER_WIDTH__ 32  // SPARC:#define __PTRDIFF_TYPE__ long int  // SPARC:#define __PTRDIFF_WIDTH__ 32 @@ -1459,6 +1848,8 @@  //   // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s  // +// TCE-NOT:#define _LP64 +// TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__  // TCE:#define __CHAR16_TYPE__ unsigned short  // TCE:#define __CHAR32_TYPE__ unsigned int  // TCE:#define __CHAR_BIT__ 8 @@ -1515,7 +1906,7 @@  // TCE:#define __LDBL_MIN__ 1.17549435e-38F  // TCE:#define __LONG_LONG_MAX__ 2147483647LL  // TCE:#define __LONG_MAX__ 2147483647L -// TCE:#define __NO_INLINE__ 1 +// TCE-NOT:#define __LP64__  // TCE:#define __POINTER_WIDTH__ 32  // TCE:#define __PTRDIFF_TYPE__ int  // TCE:#define __PTRDIFF_WIDTH__ 32 @@ -1552,6 +1943,7 @@  // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s  //  // X86_64:#define _LP64 1 +// X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // X86_64:#define __CHAR16_TYPE__ unsigned short  // X86_64:#define __CHAR32_TYPE__ unsigned int  // X86_64:#define __CHAR_BIT__ 8 @@ -1613,7 +2005,6 @@  // X86_64:#define __LONG_MAX__ 9223372036854775807L  // X86_64:#define __LP64__ 1  // X86_64:#define __MMX__ 1 -// X86_64:#define __NO_INLINE__ 1  // X86_64:#define __NO_MATH_INLINES 1  // X86_64:#define __POINTER_WIDTH__ 64  // X86_64:#define __PTRDIFF_TYPE__ long int @@ -1655,6 +2046,7 @@  // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s  //  // X86_64-LINUX:#define _LP64 1 +// X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__  // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short  // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int  // X86_64-LINUX:#define __CHAR_BIT__ 8 @@ -1716,7 +2108,6 @@  // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L  // X86_64-LINUX:#define __LP64__ 1  // X86_64-LINUX:#define __MMX__ 1 -// X86_64-LINUX:#define __NO_INLINE__ 1  // X86_64-LINUX:#define __NO_MATH_INLINES 1  // X86_64-LINUX:#define __POINTER_WIDTH__ 64  // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int @@ -1755,10 +2146,13 @@  // X86_64-LINUX:#define __x86_64 1  // X86_64-LINUX:#define __x86_64__ 1  // -// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-fragile-abi -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 -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  // NORTTI-NOT:#define __GXX_RTTI  // NORTTI: __STDC__ +// +// RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s +// ANDROID: __ANDROID__ 1  | 
