Home | History | Annotate | Download | only in Preprocessor
      1 // RUN: %clang_cc1 -E -dM -x assembler-with-cpp < /dev/null | FileCheck -check-prefix ASM %s
      2 //
      3 // ASM:#define __ASSEMBLER__ 1
      4 //
      5 //
      6 // RUN: %clang_cc1 -fblocks -E -dM < /dev/null | FileCheck -check-prefix BLOCKS %s
      7 //
      8 // BLOCKS:#define __BLOCKS__ 1
      9 // BLOCKS:#define __block __attribute__((__blocks__(byref)))
     10 //
     11 //
     12 // RUN: %clang_cc1 -x c++ -std=c++1y -E -dM < /dev/null | FileCheck -check-prefix CXX1Y %s
     13 //
     14 // CXX1Y:#define __GNUG__
     15 // CXX1Y:#define __GXX_EXPERIMENTAL_CXX0X__ 1
     16 // CXX1Y:#define __GXX_RTTI 1
     17 // CXX1Y:#define __GXX_WEAK__ 1
     18 // CXX1Y:#define __cplusplus 201305L
     19 // CXX1Y:#define __private_extern__ extern
     20 //
     21 //
     22 // RUN: %clang_cc1 -x c++ -std=c++11 -E -dM < /dev/null | FileCheck -check-prefix CXX11 %s
     23 //
     24 // CXX11:#define __GNUG__
     25 // CXX11:#define __GXX_EXPERIMENTAL_CXX0X__ 1
     26 // CXX11:#define __GXX_RTTI 1
     27 // CXX11:#define __GXX_WEAK__ 1
     28 // CXX11:#define __cplusplus 201103L
     29 // CXX11:#define __private_extern__ extern
     30 //
     31 //
     32 // RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
     33 //
     34 // CXX98:#define __GNUG__
     35 // CXX98:#define __GXX_RTTI 1
     36 // CXX98:#define __GXX_WEAK__ 1
     37 // CXX98:#define __cplusplus 199711L
     38 // CXX98:#define __private_extern__ extern
     39 //
     40 //
     41 // RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
     42 //
     43 // DEPRECATED:#define __DEPRECATED 1
     44 //
     45 //
     46 // RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
     47 //
     48 // C99:#define __STDC_VERSION__ 199901L
     49 // C99:#define __STRICT_ANSI__ 1
     50 //
     51 //
     52 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
     53 //
     54 // COMMON:#define __CONSTANT_CFSTRINGS__ 1
     55 // COMMON:#define __FINITE_MATH_ONLY__ 0
     56 // COMMON:#define __GNUC_MINOR__
     57 // COMMON:#define __GNUC_PATCHLEVEL__
     58 // COMMON:#define __GNUC_STDC_INLINE__ 1
     59 // COMMON:#define __GNUC__
     60 // COMMON:#define __GXX_ABI_VERSION
     61 // COMMON:#define __ORDER_BIG_ENDIAN__ 4321
     62 // COMMON:#define __ORDER_LITTLE_ENDIAN__ 1234
     63 // COMMON:#define __ORDER_PDP_ENDIAN__ 3412
     64 // COMMON:#define __STDC_HOSTED__ 1
     65 // COMMON:#define __STDC_VERSION__
     66 // COMMON:#define __STDC__ 1
     67 // COMMON:#define __VERSION__
     68 // COMMON:#define __clang__ 1
     69 // COMMON:#define __clang_major__ {{[0-9]+}}
     70 // COMMON:#define __clang_minor__ {{[0-9]+}}
     71 // COMMON:#define __clang_patchlevel__ {{[0-9]+}}
     72 // COMMON:#define __clang_version__
     73 // COMMON:#define __llvm__ 1
     74 //
     75 //
     76 // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
     77 // FREESTANDING:#define __STDC_HOSTED__ 0
     78 //
     79 //
     80 // RUN: %clang_cc1 -x c++ -std=gnu++1y -E -dM < /dev/null | FileCheck -check-prefix GXX1Y %s
     81 //
     82 // GXX1Y:#define __GNUG__
     83 // GXX1Y:#define __GXX_WEAK__ 1
     84 // GXX1Y:#define __cplusplus 201305L
     85 // GXX1Y:#define __private_extern__ extern
     86 //
     87 //
     88 // RUN: %clang_cc1 -x c++ -std=gnu++11 -E -dM < /dev/null | FileCheck -check-prefix GXX11 %s
     89 //
     90 // GXX11:#define __GNUG__
     91 // GXX11:#define __GXX_WEAK__ 1
     92 // GXX11:#define __cplusplus 201103L
     93 // GXX11:#define __private_extern__ extern
     94 //
     95 //
     96 // RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
     97 //
     98 // GXX98:#define __GNUG__
     99 // GXX98:#define __GXX_WEAK__ 1
    100 // GXX98:#define __cplusplus 199711L
    101 // GXX98:#define __private_extern__ extern
    102 //
    103 //
    104 // RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
    105 //
    106 // C94:#define __STDC_VERSION__ 199409L
    107 //
    108 //
    109 // RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
    110 //
    111 // MSEXT-NOT:#define __STDC__
    112 // MSEXT:#define _INTEGRAL_MAX_BITS 64
    113 // MSEXT-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
    114 // MSEXT-NOT:#define _WCHAR_T_DEFINED 1
    115 //
    116 //
    117 // RUN: %clang_cc1 -x c++ -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX %s
    118 //
    119 // MSEXT-CXX:#define _NATIVE_WCHAR_T_DEFINED 1
    120 // MSEXT-CXX:#define _WCHAR_T_DEFINED 1
    121 //
    122 //
    123 // RUN: %clang_cc1 -x c++ -fno-wchar -fms-extensions -triple i686-pc-win32 -E -dM < /dev/null | FileCheck -check-prefix MSEXT-CXX-NOWCHAR %s
    124 //
    125 // MSEXT-CXX-NOWCHAR-NOT:#define _NATIVE_WCHAR_T_DEFINED 1
    126 // MSEXT-CXX-NOWCHAR-NOT:#define _WCHAR_T_DEFINED 1
    127 //
    128 //
    129 // RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
    130 //
    131 // OBJC:#define OBJC_NEW_PROPERTIES 1
    132 // OBJC:#define __NEXT_RUNTIME__ 1
    133 // OBJC:#define __OBJC__ 1
    134 //
    135 //
    136 // RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
    137 //
    138 // OBJCGC:#define __OBJC_GC__ 1
    139 //
    140 //
    141 // RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
    142 //
    143 // NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
    144 // NONFRAGILE:#define __OBJC2__ 1
    145 //
    146 //
    147 // RUN: %clang_cc1 -O0 -E -dM < /dev/null | FileCheck -check-prefix O0 %s
    148 //
    149 // O0:#define __NO_INLINE__ 1
    150 // O0-NOT:#define __OPTIMIZE_SIZE__
    151 // O0-NOT:#define __OPTIMIZE__
    152 //
    153 //
    154 // RUN: %clang_cc1 -fno-inline -O3 -E -dM < /dev/null | FileCheck -check-prefix NO_INLINE %s
    155 //
    156 // NO_INLINE:#define __NO_INLINE__ 1
    157 // NO_INLINE-NOT:#define __OPTIMIZE_SIZE__
    158 // NO_INLINE:#define __OPTIMIZE__
    159 //
    160 //
    161 // RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
    162 //
    163 // O1-NOT:#define __OPTIMIZE_SIZE__
    164 // O1:#define __OPTIMIZE__ 1
    165 //
    166 //
    167 // RUN: %clang_cc1 -Os -E -dM < /dev/null | FileCheck -check-prefix Os %s
    168 //
    169 // Os:#define __OPTIMIZE_SIZE__ 1
    170 // Os:#define __OPTIMIZE__ 1
    171 //
    172 //
    173 // RUN: %clang_cc1 -Oz -E -dM < /dev/null | FileCheck -check-prefix Oz %s
    174 //
    175 // Oz:#define __OPTIMIZE_SIZE__ 1
    176 // Oz:#define __OPTIMIZE__ 1
    177 //
    178 //
    179 // RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
    180 //
    181 // PASCAL:#define __PASCAL_STRINGS__ 1
    182 //
    183 //
    184 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
    185 //
    186 // SCHAR:#define __STDC__ 1
    187 // SCHAR-NOT:#define __UNSIGNED_CHAR__
    188 // SCHAR:#define __clang__ 1
    189 //
    190 // RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
    191 //
    192 // SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
    193 // SHORTWCHAR: #define __WCHAR_MAX__ 65535U
    194 // SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
    195 // SHORTWCHAR: #define __WCHAR_WIDTH__ 16
    196 //
    197 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
    198 //
    199 // ARM-NOT:#define _LP64
    200 // ARM:#define __APCS_32__ 1
    201 // ARM:#define __ARMEL__ 1
    202 // ARM:#define __ARM_ARCH_6J__ 1
    203 // ARM:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
    204 // ARM:#define __CHAR16_TYPE__ unsigned short
    205 // ARM:#define __CHAR32_TYPE__ unsigned int
    206 // ARM:#define __CHAR_BIT__ 8
    207 // ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    208 // ARM:#define __DBL_DIG__ 15
    209 // ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
    210 // ARM:#define __DBL_HAS_DENORM__ 1
    211 // ARM:#define __DBL_HAS_INFINITY__ 1
    212 // ARM:#define __DBL_HAS_QUIET_NAN__ 1
    213 // ARM:#define __DBL_MANT_DIG__ 53
    214 // ARM:#define __DBL_MAX_10_EXP__ 308
    215 // ARM:#define __DBL_MAX_EXP__ 1024
    216 // ARM:#define __DBL_MAX__ 1.7976931348623157e+308
    217 // ARM:#define __DBL_MIN_10_EXP__ (-307)
    218 // ARM:#define __DBL_MIN_EXP__ (-1021)
    219 // ARM:#define __DBL_MIN__ 2.2250738585072014e-308
    220 // ARM:#define __DECIMAL_DIG__ 17
    221 // ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    222 // ARM:#define __FLT_DIG__ 6
    223 // ARM:#define __FLT_EPSILON__ 1.19209290e-7F
    224 // ARM:#define __FLT_EVAL_METHOD__ 0
    225 // ARM:#define __FLT_HAS_DENORM__ 1
    226 // ARM:#define __FLT_HAS_INFINITY__ 1
    227 // ARM:#define __FLT_HAS_QUIET_NAN__ 1
    228 // ARM:#define __FLT_MANT_DIG__ 24
    229 // ARM:#define __FLT_MAX_10_EXP__ 38
    230 // ARM:#define __FLT_MAX_EXP__ 128
    231 // ARM:#define __FLT_MAX__ 3.40282347e+38F
    232 // ARM:#define __FLT_MIN_10_EXP__ (-37)
    233 // ARM:#define __FLT_MIN_EXP__ (-125)
    234 // ARM:#define __FLT_MIN__ 1.17549435e-38F
    235 // ARM:#define __FLT_RADIX__ 2
    236 // ARM:#define __INT16_TYPE__ short
    237 // ARM:#define __INT32_TYPE__ int
    238 // ARM:#define __INT64_C_SUFFIX__ LL
    239 // ARM:#define __INT64_TYPE__ long long int
    240 // ARM:#define __INT8_TYPE__ char
    241 // ARM:#define __INTMAX_MAX__ 9223372036854775807LL
    242 // ARM:#define __INTMAX_TYPE__ long long int
    243 // ARM:#define __INTMAX_WIDTH__ 64
    244 // ARM:#define __INTPTR_TYPE__ long int
    245 // ARM:#define __INTPTR_WIDTH__ 32
    246 // ARM:#define __INT_MAX__ 2147483647
    247 // ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
    248 // ARM:#define __LDBL_DIG__ 15
    249 // ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
    250 // ARM:#define __LDBL_HAS_DENORM__ 1
    251 // ARM:#define __LDBL_HAS_INFINITY__ 1
    252 // ARM:#define __LDBL_HAS_QUIET_NAN__ 1
    253 // ARM:#define __LDBL_MANT_DIG__ 53
    254 // ARM:#define __LDBL_MAX_10_EXP__ 308
    255 // ARM:#define __LDBL_MAX_EXP__ 1024
    256 // ARM:#define __LDBL_MAX__ 1.7976931348623157e+308L
    257 // ARM:#define __LDBL_MIN_10_EXP__ (-307)
    258 // ARM:#define __LDBL_MIN_EXP__ (-1021)
    259 // ARM:#define __LDBL_MIN__ 2.2250738585072014e-308L
    260 // ARM:#define __LITTLE_ENDIAN__ 1
    261 // ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
    262 // ARM:#define __LONG_MAX__ 2147483647L
    263 // ARM-NOT:#define __LP64__
    264 // ARM:#define __POINTER_WIDTH__ 32
    265 // ARM:#define __PTRDIFF_TYPE__ int
    266 // ARM:#define __PTRDIFF_WIDTH__ 32
    267 // ARM:#define __REGISTER_PREFIX__
    268 // ARM:#define __SCHAR_MAX__ 127
    269 // ARM:#define __SHRT_MAX__ 32767
    270 // ARM:#define __SIG_ATOMIC_WIDTH__ 32
    271 // ARM:#define __SIZEOF_DOUBLE__ 8
    272 // ARM:#define __SIZEOF_FLOAT__ 4
    273 // ARM:#define __SIZEOF_INT__ 4
    274 // ARM:#define __SIZEOF_LONG_DOUBLE__ 8
    275 // ARM:#define __SIZEOF_LONG_LONG__ 8
    276 // ARM:#define __SIZEOF_LONG__ 4
    277 // ARM:#define __SIZEOF_POINTER__ 4
    278 // ARM:#define __SIZEOF_PTRDIFF_T__ 4
    279 // ARM:#define __SIZEOF_SHORT__ 2
    280 // ARM:#define __SIZEOF_SIZE_T__ 4
    281 // ARM:#define __SIZEOF_WCHAR_T__ 4
    282 // ARM:#define __SIZEOF_WINT_T__ 4
    283 // ARM:#define __SIZE_MAX__ 4294967295U
    284 // ARM:#define __SIZE_TYPE__ unsigned int
    285 // ARM:#define __SIZE_WIDTH__ 32
    286 // ARM:#define __THUMB_INTERWORK__ 1
    287 // ARM:#define __UINTMAX_TYPE__ long long unsigned int
    288 // ARM:#define __USER_LABEL_PREFIX__ _
    289 // ARM:#define __WCHAR_MAX__ 4294967295U
    290 // ARM:#define __WCHAR_TYPE__ unsigned int
    291 // ARM:#define __WCHAR_WIDTH__ 32
    292 // ARM:#define __WINT_TYPE__ int
    293 // ARM:#define __WINT_WIDTH__ 32
    294 // ARM:#define __arm 1
    295 // ARM:#define __arm__ 1
    296 
    297 // 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
    298 //
    299 // ARM-NOT:#define _LP64
    300 // ARMEABISOFTFP:#define __APCS_32__ 1
    301 // ARMEABISOFTFP:#define __ARMEL__ 1
    302 // ARMEABISOFTFP:#define __ARM_ARCH 6
    303 // ARMEABISOFTFP:#define __ARM_ARCH_6J__ 1
    304 // ARMEABISOFTFP:#define __ARM_EABI__ 1
    305 // ARMEABISOFTFP:#define __ARM_PCS 1
    306 // ARMEABISOFTFP-NOT:#define __ARM_PCS_VFP 1
    307 // ARMEABISOFTFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
    308 // ARMEABISOFTFP:#define __CHAR16_TYPE__ unsigned short
    309 // ARMEABISOFTFP:#define __CHAR32_TYPE__ unsigned int
    310 // ARMEABISOFTFP:#define __CHAR_BIT__ 8
    311 // ARMEABISOFTFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    312 // ARMEABISOFTFP:#define __DBL_DIG__ 15
    313 // ARMEABISOFTFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
    314 // ARMEABISOFTFP:#define __DBL_HAS_DENORM__ 1
    315 // ARMEABISOFTFP:#define __DBL_HAS_INFINITY__ 1
    316 // ARMEABISOFTFP:#define __DBL_HAS_QUIET_NAN__ 1
    317 // ARMEABISOFTFP:#define __DBL_MANT_DIG__ 53
    318 // ARMEABISOFTFP:#define __DBL_MAX_10_EXP__ 308
    319 // ARMEABISOFTFP:#define __DBL_MAX_EXP__ 1024
    320 // ARMEABISOFTFP:#define __DBL_MAX__ 1.7976931348623157e+308
    321 // ARMEABISOFTFP:#define __DBL_MIN_10_EXP__ (-307)
    322 // ARMEABISOFTFP:#define __DBL_MIN_EXP__ (-1021)
    323 // ARMEABISOFTFP:#define __DBL_MIN__ 2.2250738585072014e-308
    324 // ARMEABISOFTFP:#define __DECIMAL_DIG__ 17
    325 // ARMEABISOFTFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    326 // ARMEABISOFTFP:#define __FLT_DIG__ 6
    327 // ARMEABISOFTFP:#define __FLT_EPSILON__ 1.19209290e-7F
    328 // ARMEABISOFTFP:#define __FLT_EVAL_METHOD__ 0
    329 // ARMEABISOFTFP:#define __FLT_HAS_DENORM__ 1
    330 // ARMEABISOFTFP:#define __FLT_HAS_INFINITY__ 1
    331 // ARMEABISOFTFP:#define __FLT_HAS_QUIET_NAN__ 1
    332 // ARMEABISOFTFP:#define __FLT_MANT_DIG__ 24
    333 // ARMEABISOFTFP:#define __FLT_MAX_10_EXP__ 38
    334 // ARMEABISOFTFP:#define __FLT_MAX_EXP__ 128
    335 // ARMEABISOFTFP:#define __FLT_MAX__ 3.40282347e+38F
    336 // ARMEABISOFTFP:#define __FLT_MIN_10_EXP__ (-37)
    337 // ARMEABISOFTFP:#define __FLT_MIN_EXP__ (-125)
    338 // ARMEABISOFTFP:#define __FLT_MIN__ 1.17549435e-38F
    339 // ARMEABISOFTFP:#define __FLT_RADIX__ 2
    340 // ARMEABISOFTFP:#define __INT16_TYPE__ short
    341 // ARMEABISOFTFP:#define __INT32_TYPE__ int
    342 // ARMEABISOFTFP:#define __INT64_C_SUFFIX__ LL
    343 // ARMEABISOFTFP:#define __INT64_TYPE__ long long int
    344 // ARMEABISOFTFP:#define __INT8_TYPE__ char
    345 // ARMEABISOFTFP:#define __INTMAX_MAX__ 9223372036854775807LL
    346 // ARMEABISOFTFP:#define __INTMAX_TYPE__ long long int
    347 // ARMEABISOFTFP:#define __INTMAX_WIDTH__ 64
    348 // ARMEABISOFTFP:#define __INTPTR_TYPE__ long int
    349 // ARMEABISOFTFP:#define __INTPTR_WIDTH__ 32
    350 // ARMEABISOFTFP:#define __INT_MAX__ 2147483647
    351 // ARMEABISOFTFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
    352 // ARMEABISOFTFP:#define __LDBL_DIG__ 15
    353 // ARMEABISOFTFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
    354 // ARMEABISOFTFP:#define __LDBL_HAS_DENORM__ 1
    355 // ARMEABISOFTFP:#define __LDBL_HAS_INFINITY__ 1
    356 // ARMEABISOFTFP:#define __LDBL_HAS_QUIET_NAN__ 1
    357 // ARMEABISOFTFP:#define __LDBL_MANT_DIG__ 53
    358 // ARMEABISOFTFP:#define __LDBL_MAX_10_EXP__ 308
    359 // ARMEABISOFTFP:#define __LDBL_MAX_EXP__ 1024
    360 // ARMEABISOFTFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
    361 // ARMEABISOFTFP:#define __LDBL_MIN_10_EXP__ (-307)
    362 // ARMEABISOFTFP:#define __LDBL_MIN_EXP__ (-1021)
    363 // ARMEABISOFTFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
    364 // ARMEABISOFTFP:#define __LITTLE_ENDIAN__ 1
    365 // ARMEABISOFTFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
    366 // ARMEABISOFTFP:#define __LONG_MAX__ 2147483647L
    367 // ARMEABISOFTFP-NOT:#define __LP64__
    368 // ARMEABISOFTFP:#define __POINTER_WIDTH__ 32
    369 // ARMEABISOFTFP:#define __PTRDIFF_TYPE__ int
    370 // ARMEABISOFTFP:#define __PTRDIFF_WIDTH__ 32
    371 // ARMEABISOFTFP:#define __REGISTER_PREFIX__
    372 // ARMEABISOFTFP:#define __SCHAR_MAX__ 127
    373 // ARMEABISOFTFP:#define __SHRT_MAX__ 32767
    374 // ARMEABISOFTFP:#define __SIG_ATOMIC_WIDTH__ 32
    375 // ARMEABISOFTFP:#define __SIZEOF_DOUBLE__ 8
    376 // ARMEABISOFTFP:#define __SIZEOF_FLOAT__ 4
    377 // ARMEABISOFTFP:#define __SIZEOF_INT__ 4
    378 // ARMEABISOFTFP:#define __SIZEOF_LONG_DOUBLE__ 8
    379 // ARMEABISOFTFP:#define __SIZEOF_LONG_LONG__ 8
    380 // ARMEABISOFTFP:#define __SIZEOF_LONG__ 4
    381 // ARMEABISOFTFP:#define __SIZEOF_POINTER__ 4
    382 // ARMEABISOFTFP:#define __SIZEOF_PTRDIFF_T__ 4
    383 // ARMEABISOFTFP:#define __SIZEOF_SHORT__ 2
    384 // ARMEABISOFTFP:#define __SIZEOF_SIZE_T__ 4
    385 // ARMEABISOFTFP:#define __SIZEOF_WCHAR_T__ 4
    386 // ARMEABISOFTFP:#define __SIZEOF_WINT_T__ 4
    387 // ARMEABISOFTFP:#define __SIZE_MAX__ 4294967295U
    388 // ARMEABISOFTFP:#define __SIZE_TYPE__ unsigned int
    389 // ARMEABISOFTFP:#define __SIZE_WIDTH__ 32
    390 // ARMEABISOFTFP:#define __SOFTFP__ 1
    391 // ARMEABISOFTFP:#define __THUMB_INTERWORK__ 1
    392 // ARMEABISOFTFP:#define __UINTMAX_TYPE__ long long unsigned int
    393 // ARMEABISOFTFP:#define __USER_LABEL_PREFIX__
    394 // ARMEABISOFTFP:#define __WCHAR_MAX__ 4294967295U
    395 // ARMEABISOFTFP:#define __WCHAR_TYPE__ unsigned int
    396 // ARMEABISOFTFP:#define __WCHAR_WIDTH__ 32
    397 // ARMEABISOFTFP:#define __WINT_TYPE__ unsigned int
    398 // ARMEABISOFTFP:#define __WINT_WIDTH__ 32
    399 // ARMEABISOFTFP:#define __arm 1
    400 // ARMEABISOFTFP:#define __arm__ 1
    401 
    402 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-linux-gnueabi < /dev/null | FileCheck -check-prefix ARMEABIHARDFP %s
    403 //
    404 // ARM-NOT:#define _LP64
    405 // ARMEABIHARDFP:#define __APCS_32__ 1
    406 // ARMEABIHARDFP:#define __ARMEL__ 1
    407 // ARMEABIHARDFP:#define __ARM_ARCH 6
    408 // ARMEABIHARDFP:#define __ARM_ARCH_6J__ 1
    409 // ARMEABIHARDFP:#define __ARM_EABI__ 1
    410 // ARMEABIHARDFP:#define __ARM_PCS 1
    411 // ARMEABIHARDFP:#define __ARM_PCS_VFP 1
    412 // ARMEABIHARDFP:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
    413 // ARMEABIHARDFP:#define __CHAR16_TYPE__ unsigned short
    414 // ARMEABIHARDFP:#define __CHAR32_TYPE__ unsigned int
    415 // ARMEABIHARDFP:#define __CHAR_BIT__ 8
    416 // ARMEABIHARDFP:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    417 // ARMEABIHARDFP:#define __DBL_DIG__ 15
    418 // ARMEABIHARDFP:#define __DBL_EPSILON__ 2.2204460492503131e-16
    419 // ARMEABIHARDFP:#define __DBL_HAS_DENORM__ 1
    420 // ARMEABIHARDFP:#define __DBL_HAS_INFINITY__ 1
    421 // ARMEABIHARDFP:#define __DBL_HAS_QUIET_NAN__ 1
    422 // ARMEABIHARDFP:#define __DBL_MANT_DIG__ 53
    423 // ARMEABIHARDFP:#define __DBL_MAX_10_EXP__ 308
    424 // ARMEABIHARDFP:#define __DBL_MAX_EXP__ 1024
    425 // ARMEABIHARDFP:#define __DBL_MAX__ 1.7976931348623157e+308
    426 // ARMEABIHARDFP:#define __DBL_MIN_10_EXP__ (-307)
    427 // ARMEABIHARDFP:#define __DBL_MIN_EXP__ (-1021)
    428 // ARMEABIHARDFP:#define __DBL_MIN__ 2.2250738585072014e-308
    429 // ARMEABIHARDFP:#define __DECIMAL_DIG__ 17
    430 // ARMEABIHARDFP:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    431 // ARMEABIHARDFP:#define __FLT_DIG__ 6
    432 // ARMEABIHARDFP:#define __FLT_EPSILON__ 1.19209290e-7F
    433 // ARMEABIHARDFP:#define __FLT_EVAL_METHOD__ 0
    434 // ARMEABIHARDFP:#define __FLT_HAS_DENORM__ 1
    435 // ARMEABIHARDFP:#define __FLT_HAS_INFINITY__ 1
    436 // ARMEABIHARDFP:#define __FLT_HAS_QUIET_NAN__ 1
    437 // ARMEABIHARDFP:#define __FLT_MANT_DIG__ 24
    438 // ARMEABIHARDFP:#define __FLT_MAX_10_EXP__ 38
    439 // ARMEABIHARDFP:#define __FLT_MAX_EXP__ 128
    440 // ARMEABIHARDFP:#define __FLT_MAX__ 3.40282347e+38F
    441 // ARMEABIHARDFP:#define __FLT_MIN_10_EXP__ (-37)
    442 // ARMEABIHARDFP:#define __FLT_MIN_EXP__ (-125)
    443 // ARMEABIHARDFP:#define __FLT_MIN__ 1.17549435e-38F
    444 // ARMEABIHARDFP:#define __FLT_RADIX__ 2
    445 // ARMEABIHARDFP:#define __INT16_TYPE__ short
    446 // ARMEABIHARDFP:#define __INT32_TYPE__ int
    447 // ARMEABIHARDFP:#define __INT64_C_SUFFIX__ LL
    448 // ARMEABIHARDFP:#define __INT64_TYPE__ long long int
    449 // ARMEABIHARDFP:#define __INT8_TYPE__ char
    450 // ARMEABIHARDFP:#define __INTMAX_MAX__ 9223372036854775807LL
    451 // ARMEABIHARDFP:#define __INTMAX_TYPE__ long long int
    452 // ARMEABIHARDFP:#define __INTMAX_WIDTH__ 64
    453 // ARMEABIHARDFP:#define __INTPTR_TYPE__ long int
    454 // ARMEABIHARDFP:#define __INTPTR_WIDTH__ 32
    455 // ARMEABIHARDFP:#define __INT_MAX__ 2147483647
    456 // ARMEABIHARDFP:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
    457 // ARMEABIHARDFP:#define __LDBL_DIG__ 15
    458 // ARMEABIHARDFP:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
    459 // ARMEABIHARDFP:#define __LDBL_HAS_DENORM__ 1
    460 // ARMEABIHARDFP:#define __LDBL_HAS_INFINITY__ 1
    461 // ARMEABIHARDFP:#define __LDBL_HAS_QUIET_NAN__ 1
    462 // ARMEABIHARDFP:#define __LDBL_MANT_DIG__ 53
    463 // ARMEABIHARDFP:#define __LDBL_MAX_10_EXP__ 308
    464 // ARMEABIHARDFP:#define __LDBL_MAX_EXP__ 1024
    465 // ARMEABIHARDFP:#define __LDBL_MAX__ 1.7976931348623157e+308L
    466 // ARMEABIHARDFP:#define __LDBL_MIN_10_EXP__ (-307)
    467 // ARMEABIHARDFP:#define __LDBL_MIN_EXP__ (-1021)
    468 // ARMEABIHARDFP:#define __LDBL_MIN__ 2.2250738585072014e-308L
    469 // ARMEABIHARDFP:#define __LITTLE_ENDIAN__ 1
    470 // ARMEABIHARDFP:#define __LONG_LONG_MAX__ 9223372036854775807LL
    471 // ARMEABIHARDFP:#define __LONG_MAX__ 2147483647L
    472 // ARMEABIHARDFP-NOT:#define __LP64__
    473 // ARMEABIHARDFP:#define __POINTER_WIDTH__ 32
    474 // ARMEABIHARDFP:#define __PTRDIFF_TYPE__ int
    475 // ARMEABIHARDFP:#define __PTRDIFF_WIDTH__ 32
    476 // ARMEABIHARDFP:#define __REGISTER_PREFIX__
    477 // ARMEABIHARDFP:#define __SCHAR_MAX__ 127
    478 // ARMEABIHARDFP:#define __SHRT_MAX__ 32767
    479 // ARMEABIHARDFP:#define __SIG_ATOMIC_WIDTH__ 32
    480 // ARMEABIHARDFP:#define __SIZEOF_DOUBLE__ 8
    481 // ARMEABIHARDFP:#define __SIZEOF_FLOAT__ 4
    482 // ARMEABIHARDFP:#define __SIZEOF_INT__ 4
    483 // ARMEABIHARDFP:#define __SIZEOF_LONG_DOUBLE__ 8
    484 // ARMEABIHARDFP:#define __SIZEOF_LONG_LONG__ 8
    485 // ARMEABIHARDFP:#define __SIZEOF_LONG__ 4
    486 // ARMEABIHARDFP:#define __SIZEOF_POINTER__ 4
    487 // ARMEABIHARDFP:#define __SIZEOF_PTRDIFF_T__ 4
    488 // ARMEABIHARDFP:#define __SIZEOF_SHORT__ 2
    489 // ARMEABIHARDFP:#define __SIZEOF_SIZE_T__ 4
    490 // ARMEABIHARDFP:#define __SIZEOF_WCHAR_T__ 4
    491 // ARMEABIHARDFP:#define __SIZEOF_WINT_T__ 4
    492 // ARMEABIHARDFP:#define __SIZE_MAX__ 4294967295U
    493 // ARMEABIHARDFP:#define __SIZE_TYPE__ unsigned int
    494 // ARMEABIHARDFP:#define __SIZE_WIDTH__ 32
    495 // ARMEABIHARDFP-NOT:#define __SOFTFP__ 1
    496 // ARMEABIHARDFP:#define __THUMB_INTERWORK__ 1
    497 // ARMEABIHARDFP:#define __UINTMAX_TYPE__ long long unsigned int
    498 // ARMEABIHARDFP:#define __USER_LABEL_PREFIX__
    499 // ARMEABIHARDFP:#define __WCHAR_MAX__ 4294967295U
    500 // ARMEABIHARDFP:#define __WCHAR_TYPE__ unsigned int
    501 // ARMEABIHARDFP:#define __WCHAR_WIDTH__ 32
    502 // ARMEABIHARDFP:#define __WINT_TYPE__ unsigned int
    503 // ARMEABIHARDFP:#define __WINT_WIDTH__ 32
    504 // ARMEABIHARDFP:#define __arm 1
    505 // ARMEABIHARDFP:#define __arm__ 1
    506 
    507 //
    508 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
    509 //
    510 // I386-NOT:#define _LP64
    511 // I386:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
    512 // I386:#define __CHAR16_TYPE__ unsigned short
    513 // I386:#define __CHAR32_TYPE__ unsigned int
    514 // I386:#define __CHAR_BIT__ 8
    515 // I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    516 // I386:#define __DBL_DIG__ 15
    517 // I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
    518 // I386:#define __DBL_HAS_DENORM__ 1
    519 // I386:#define __DBL_HAS_INFINITY__ 1
    520 // I386:#define __DBL_HAS_QUIET_NAN__ 1
    521 // I386:#define __DBL_MANT_DIG__ 53
    522 // I386:#define __DBL_MAX_10_EXP__ 308
    523 // I386:#define __DBL_MAX_EXP__ 1024
    524 // I386:#define __DBL_MAX__ 1.7976931348623157e+308
    525 // I386:#define __DBL_MIN_10_EXP__ (-307)
    526 // I386:#define __DBL_MIN_EXP__ (-1021)
    527 // I386:#define __DBL_MIN__ 2.2250738585072014e-308
    528 // I386:#define __DECIMAL_DIG__ 21
    529 // I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    530 // I386:#define __FLT_DIG__ 6
    531 // I386:#define __FLT_EPSILON__ 1.19209290e-7F
    532 // I386:#define __FLT_EVAL_METHOD__ 2
    533 // I386:#define __FLT_HAS_DENORM__ 1
    534 // I386:#define __FLT_HAS_INFINITY__ 1
    535 // I386:#define __FLT_HAS_QUIET_NAN__ 1
    536 // I386:#define __FLT_MANT_DIG__ 24
    537 // I386:#define __FLT_MAX_10_EXP__ 38
    538 // I386:#define __FLT_MAX_EXP__ 128
    539 // I386:#define __FLT_MAX__ 3.40282347e+38F
    540 // I386:#define __FLT_MIN_10_EXP__ (-37)
    541 // I386:#define __FLT_MIN_EXP__ (-125)
    542 // I386:#define __FLT_MIN__ 1.17549435e-38F
    543 // I386:#define __FLT_RADIX__ 2
    544 // I386:#define __INT16_TYPE__ short
    545 // I386:#define __INT32_TYPE__ int
    546 // I386:#define __INT64_C_SUFFIX__ LL
    547 // I386:#define __INT64_TYPE__ long long int
    548 // I386:#define __INT8_TYPE__ char
    549 // I386:#define __INTMAX_MAX__ 9223372036854775807LL
    550 // I386:#define __INTMAX_TYPE__ long long int
    551 // I386:#define __INTMAX_WIDTH__ 64
    552 // I386:#define __INTPTR_TYPE__ int
    553 // I386:#define __INTPTR_WIDTH__ 32
    554 // I386:#define __INT_MAX__ 2147483647
    555 // I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
    556 // I386:#define __LDBL_DIG__ 18
    557 // I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
    558 // I386:#define __LDBL_HAS_DENORM__ 1
    559 // I386:#define __LDBL_HAS_INFINITY__ 1
    560 // I386:#define __LDBL_HAS_QUIET_NAN__ 1
    561 // I386:#define __LDBL_MANT_DIG__ 64
    562 // I386:#define __LDBL_MAX_10_EXP__ 4932
    563 // I386:#define __LDBL_MAX_EXP__ 16384
    564 // I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
    565 // I386:#define __LDBL_MIN_10_EXP__ (-4931)
    566 // I386:#define __LDBL_MIN_EXP__ (-16381)
    567 // I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
    568 // I386:#define __LITTLE_ENDIAN__ 1
    569 // I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
    570 // I386:#define __LONG_MAX__ 2147483647L
    571 // I386-NOT:#define __LP64__
    572 // I386:#define __NO_MATH_INLINES 1
    573 // I386:#define __POINTER_WIDTH__ 32
    574 // I386:#define __PTRDIFF_TYPE__ int
    575 // I386:#define __PTRDIFF_WIDTH__ 32
    576 // I386:#define __REGISTER_PREFIX__
    577 // I386:#define __SCHAR_MAX__ 127
    578 // I386:#define __SHRT_MAX__ 32767
    579 // I386:#define __SIG_ATOMIC_WIDTH__ 32
    580 // I386:#define __SIZEOF_DOUBLE__ 8
    581 // I386:#define __SIZEOF_FLOAT__ 4
    582 // I386:#define __SIZEOF_INT__ 4
    583 // I386:#define __SIZEOF_LONG_DOUBLE__ 12
    584 // I386:#define __SIZEOF_LONG_LONG__ 8
    585 // I386:#define __SIZEOF_LONG__ 4
    586 // I386:#define __SIZEOF_POINTER__ 4
    587 // I386:#define __SIZEOF_PTRDIFF_T__ 4
    588 // I386:#define __SIZEOF_SHORT__ 2
    589 // I386:#define __SIZEOF_SIZE_T__ 4
    590 // I386:#define __SIZEOF_WCHAR_T__ 4
    591 // I386:#define __SIZEOF_WINT_T__ 4
    592 // I386:#define __SIZE_MAX__ 4294967295U
    593 // I386:#define __SIZE_TYPE__ unsigned int
    594 // I386:#define __SIZE_WIDTH__ 32
    595 // I386:#define __UINTMAX_TYPE__ long long unsigned int
    596 // I386:#define __USER_LABEL_PREFIX__ _
    597 // I386:#define __WCHAR_MAX__ 2147483647
    598 // I386:#define __WCHAR_TYPE__ int
    599 // I386:#define __WCHAR_WIDTH__ 32
    600 // I386:#define __WINT_TYPE__ int
    601 // I386:#define __WINT_WIDTH__ 32
    602 // I386:#define __i386 1
    603 // I386:#define __i386__ 1
    604 // I386:#define i386 1
    605 //
    606 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
    607 //
    608 // I386-LINUX-NOT:#define _LP64
    609 // I386-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
    610 // I386-LINUX:#define __CHAR16_TYPE__ unsigned short
    611 // I386-LINUX:#define __CHAR32_TYPE__ unsigned int
    612 // I386-LINUX:#define __CHAR_BIT__ 8
    613 // I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    614 // I386-LINUX:#define __DBL_DIG__ 15
    615 // I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
    616 // I386-LINUX:#define __DBL_HAS_DENORM__ 1
    617 // I386-LINUX:#define __DBL_HAS_INFINITY__ 1
    618 // I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
    619 // I386-LINUX:#define __DBL_MANT_DIG__ 53
    620 // I386-LINUX:#define __DBL_MAX_10_EXP__ 308
    621 // I386-LINUX:#define __DBL_MAX_EXP__ 1024
    622 // I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
    623 // I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
    624 // I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
    625 // I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
    626 // I386-LINUX:#define __DECIMAL_DIG__ 21
    627 // I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    628 // I386-LINUX:#define __FLT_DIG__ 6
    629 // I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
    630 // I386-LINUX:#define __FLT_EVAL_METHOD__ 0
    631 // I386-LINUX:#define __FLT_HAS_DENORM__ 1
    632 // I386-LINUX:#define __FLT_HAS_INFINITY__ 1
    633 // I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
    634 // I386-LINUX:#define __FLT_MANT_DIG__ 24
    635 // I386-LINUX:#define __FLT_MAX_10_EXP__ 38
    636 // I386-LINUX:#define __FLT_MAX_EXP__ 128
    637 // I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
    638 // I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
    639 // I386-LINUX:#define __FLT_MIN_EXP__ (-125)
    640 // I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
    641 // I386-LINUX:#define __FLT_RADIX__ 2
    642 // I386-LINUX:#define __INT16_TYPE__ short
    643 // I386-LINUX:#define __INT32_TYPE__ int
    644 // I386-LINUX:#define __INT64_C_SUFFIX__ LL
    645 // I386-LINUX:#define __INT64_TYPE__ long long int
    646 // I386-LINUX:#define __INT8_TYPE__ char
    647 // I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
    648 // I386-LINUX:#define __INTMAX_TYPE__ long long int
    649 // I386-LINUX:#define __INTMAX_WIDTH__ 64
    650 // I386-LINUX:#define __INTPTR_TYPE__ int
    651 // I386-LINUX:#define __INTPTR_WIDTH__ 32
    652 // I386-LINUX:#define __INT_MAX__ 2147483647
    653 // I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
    654 // I386-LINUX:#define __LDBL_DIG__ 18
    655 // I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
    656 // I386-LINUX:#define __LDBL_HAS_DENORM__ 1
    657 // I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
    658 // I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
    659 // I386-LINUX:#define __LDBL_MANT_DIG__ 64
    660 // I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
    661 // I386-LINUX:#define __LDBL_MAX_EXP__ 16384
    662 // I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
    663 // I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
    664 // I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
    665 // I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
    666 // I386-LINUX:#define __LITTLE_ENDIAN__ 1
    667 // I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
    668 // I386-LINUX:#define __LONG_MAX__ 2147483647L
    669 // I386-LINUX-NOT:#define __LP64__
    670 // I386-LINUX:#define __NO_MATH_INLINES 1
    671 // I386-LINUX:#define __POINTER_WIDTH__ 32
    672 // I386-LINUX:#define __PTRDIFF_TYPE__ int
    673 // I386-LINUX:#define __PTRDIFF_WIDTH__ 32
    674 // I386-LINUX:#define __REGISTER_PREFIX__
    675 // I386-LINUX:#define __SCHAR_MAX__ 127
    676 // I386-LINUX:#define __SHRT_MAX__ 32767
    677 // I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
    678 // I386-LINUX:#define __SIZEOF_DOUBLE__ 8
    679 // I386-LINUX:#define __SIZEOF_FLOAT__ 4
    680 // I386-LINUX:#define __SIZEOF_INT__ 4
    681 // I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
    682 // I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
    683 // I386-LINUX:#define __SIZEOF_LONG__ 4
    684 // I386-LINUX:#define __SIZEOF_POINTER__ 4
    685 // I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
    686 // I386-LINUX:#define __SIZEOF_SHORT__ 2
    687 // I386-LINUX:#define __SIZEOF_SIZE_T__ 4
    688 // I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
    689 // I386-LINUX:#define __SIZEOF_WINT_T__ 4
    690 // I386-LINUX:#define __SIZE_MAX__ 4294967295U
    691 // I386-LINUX:#define __SIZE_TYPE__ unsigned int
    692 // I386-LINUX:#define __SIZE_WIDTH__ 32
    693 // I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
    694 // I386-LINUX:#define __USER_LABEL_PREFIX__
    695 // I386-LINUX:#define __WCHAR_MAX__ 2147483647
    696 // I386-LINUX:#define __WCHAR_TYPE__ int
    697 // I386-LINUX:#define __WCHAR_WIDTH__ 32
    698 // I386-LINUX:#define __WINT_TYPE__ unsigned int
    699 // I386-LINUX:#define __WINT_WIDTH__ 32
    700 // I386-LINUX:#define __i386 1
    701 // I386-LINUX:#define __i386__ 1
    702 // I386-LINUX:#define i386 1
    703 //
    704 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
    705 //
    706 // MIPS32BE:#define MIPSEB 1
    707 // MIPS32BE:#define _ABIO32 1
    708 // MIPS32BE-NOT:#define _LP64
    709 // MIPS32BE:#define _MIPSEB 1
    710 // MIPS32BE:#define _MIPS_ARCH "mips32"
    711 // MIPS32BE:#define _MIPS_ARCH_MIPS32 1
    712 // MIPS32BE:#define _MIPS_SIM _ABIO32
    713 // MIPS32BE:#define _MIPS_SZINT 32
    714 // MIPS32BE:#define _MIPS_SZLONG 32
    715 // MIPS32BE:#define _MIPS_SZPTR 32
    716 // MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
    717 // MIPS32BE:#define __CHAR16_TYPE__ unsigned short
    718 // MIPS32BE:#define __CHAR32_TYPE__ unsigned int
    719 // MIPS32BE:#define __CHAR_BIT__ 8
    720 // MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
    721 // MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    722 // MIPS32BE:#define __DBL_DIG__ 15
    723 // MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
    724 // MIPS32BE:#define __DBL_HAS_DENORM__ 1
    725 // MIPS32BE:#define __DBL_HAS_INFINITY__ 1
    726 // MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
    727 // MIPS32BE:#define __DBL_MANT_DIG__ 53
    728 // MIPS32BE:#define __DBL_MAX_10_EXP__ 308
    729 // MIPS32BE:#define __DBL_MAX_EXP__ 1024
    730 // MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
    731 // MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
    732 // MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
    733 // MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
    734 // MIPS32BE:#define __DECIMAL_DIG__ 17
    735 // MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    736 // MIPS32BE:#define __FLT_DIG__ 6
    737 // MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
    738 // MIPS32BE:#define __FLT_EVAL_METHOD__ 0
    739 // MIPS32BE:#define __FLT_HAS_DENORM__ 1
    740 // MIPS32BE:#define __FLT_HAS_INFINITY__ 1
    741 // MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
    742 // MIPS32BE:#define __FLT_MANT_DIG__ 24
    743 // MIPS32BE:#define __FLT_MAX_10_EXP__ 38
    744 // MIPS32BE:#define __FLT_MAX_EXP__ 128
    745 // MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
    746 // MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
    747 // MIPS32BE:#define __FLT_MIN_EXP__ (-125)
    748 // MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
    749 // MIPS32BE:#define __FLT_RADIX__ 2
    750 // MIPS32BE:#define __INT16_TYPE__ short
    751 // MIPS32BE:#define __INT32_TYPE__ int
    752 // MIPS32BE:#define __INT64_C_SUFFIX__ LL
    753 // MIPS32BE:#define __INT64_TYPE__ long long int
    754 // MIPS32BE:#define __INT8_TYPE__ char
    755 // MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
    756 // MIPS32BE:#define __INTMAX_TYPE__ long long int
    757 // MIPS32BE:#define __INTMAX_WIDTH__ 64
    758 // MIPS32BE:#define __INTPTR_TYPE__ long int
    759 // MIPS32BE:#define __INTPTR_WIDTH__ 32
    760 // MIPS32BE:#define __INT_MAX__ 2147483647
    761 // MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
    762 // MIPS32BE:#define __LDBL_DIG__ 15
    763 // MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
    764 // MIPS32BE:#define __LDBL_HAS_DENORM__ 1
    765 // MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
    766 // MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
    767 // MIPS32BE:#define __LDBL_MANT_DIG__ 53
    768 // MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
    769 // MIPS32BE:#define __LDBL_MAX_EXP__ 1024
    770 // MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
    771 // MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
    772 // MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
    773 // MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
    774 // MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
    775 // MIPS32BE:#define __LONG_MAX__ 2147483647L
    776 // MIPS32BE-NOT:#define __LP64__
    777 // MIPS32BE:#define __MIPSEB 1
    778 // MIPS32BE:#define __MIPSEB__ 1
    779 // MIPS32BE:#define __POINTER_WIDTH__ 32
    780 // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
    781 // MIPS32BE:#define __PTRDIFF_TYPE__ int
    782 // MIPS32BE:#define __PTRDIFF_WIDTH__ 32
    783 // MIPS32BE:#define __REGISTER_PREFIX__
    784 // MIPS32BE:#define __SCHAR_MAX__ 127
    785 // MIPS32BE:#define __SHRT_MAX__ 32767
    786 // MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
    787 // MIPS32BE:#define __SIZEOF_DOUBLE__ 8
    788 // MIPS32BE:#define __SIZEOF_FLOAT__ 4
    789 // MIPS32BE:#define __SIZEOF_INT__ 4
    790 // MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
    791 // MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
    792 // MIPS32BE:#define __SIZEOF_LONG__ 4
    793 // MIPS32BE:#define __SIZEOF_POINTER__ 4
    794 // MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
    795 // MIPS32BE:#define __SIZEOF_SHORT__ 2
    796 // MIPS32BE:#define __SIZEOF_SIZE_T__ 4
    797 // MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
    798 // MIPS32BE:#define __SIZEOF_WINT_T__ 4
    799 // MIPS32BE:#define __SIZE_MAX__ 4294967295U
    800 // MIPS32BE:#define __SIZE_TYPE__ unsigned int
    801 // MIPS32BE:#define __SIZE_WIDTH__ 32
    802 // MIPS32BE:#define __STDC_HOSTED__ 0
    803 // MIPS32BE:#define __STDC_VERSION__ 199901L
    804 // MIPS32BE:#define __STDC__ 1
    805 // MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
    806 // MIPS32BE:#define __USER_LABEL_PREFIX__ _
    807 // MIPS32BE:#define __WCHAR_MAX__ 2147483647
    808 // MIPS32BE:#define __WCHAR_TYPE__ int
    809 // MIPS32BE:#define __WCHAR_WIDTH__ 32
    810 // MIPS32BE:#define __WINT_TYPE__ int
    811 // MIPS32BE:#define __WINT_WIDTH__ 32
    812 // MIPS32BE:#define __clang__ 1
    813 // MIPS32BE:#define __llvm__ 1
    814 // MIPS32BE:#define __mips 1
    815 // MIPS32BE:#define __mips__ 1
    816 // MIPS32BE:#define __mips_hard_float 1
    817 // MIPS32BE:#define __mips_o32 1
    818 // MIPS32BE:#define _mips 1
    819 // MIPS32BE:#define mips 1
    820 //
    821 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
    822 //
    823 // MIPS32EL:#define MIPSEL 1
    824 // MIPS32EL:#define _ABIO32 1
    825 // MIPS32EL-NOT:#define _LP64
    826 // MIPS32EL:#define _MIPSEL 1
    827 // MIPS32EL:#define _MIPS_ARCH "mips32"
    828 // MIPS32EL:#define _MIPS_ARCH_MIPS32 1
    829 // MIPS32EL:#define _MIPS_SIM _ABIO32
    830 // MIPS32EL:#define _MIPS_SZINT 32
    831 // MIPS32EL:#define _MIPS_SZLONG 32
    832 // MIPS32EL:#define _MIPS_SZPTR 32
    833 // MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
    834 // MIPS32EL:#define __CHAR16_TYPE__ unsigned short
    835 // MIPS32EL:#define __CHAR32_TYPE__ unsigned int
    836 // MIPS32EL:#define __CHAR_BIT__ 8
    837 // MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
    838 // MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    839 // MIPS32EL:#define __DBL_DIG__ 15
    840 // MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
    841 // MIPS32EL:#define __DBL_HAS_DENORM__ 1
    842 // MIPS32EL:#define __DBL_HAS_INFINITY__ 1
    843 // MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
    844 // MIPS32EL:#define __DBL_MANT_DIG__ 53
    845 // MIPS32EL:#define __DBL_MAX_10_EXP__ 308
    846 // MIPS32EL:#define __DBL_MAX_EXP__ 1024
    847 // MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
    848 // MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
    849 // MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
    850 // MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
    851 // MIPS32EL:#define __DECIMAL_DIG__ 17
    852 // MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    853 // MIPS32EL:#define __FLT_DIG__ 6
    854 // MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
    855 // MIPS32EL:#define __FLT_EVAL_METHOD__ 0
    856 // MIPS32EL:#define __FLT_HAS_DENORM__ 1
    857 // MIPS32EL:#define __FLT_HAS_INFINITY__ 1
    858 // MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
    859 // MIPS32EL:#define __FLT_MANT_DIG__ 24
    860 // MIPS32EL:#define __FLT_MAX_10_EXP__ 38
    861 // MIPS32EL:#define __FLT_MAX_EXP__ 128
    862 // MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
    863 // MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
    864 // MIPS32EL:#define __FLT_MIN_EXP__ (-125)
    865 // MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
    866 // MIPS32EL:#define __FLT_RADIX__ 2
    867 // MIPS32EL:#define __INT16_TYPE__ short
    868 // MIPS32EL:#define __INT32_TYPE__ int
    869 // MIPS32EL:#define __INT64_C_SUFFIX__ LL
    870 // MIPS32EL:#define __INT64_TYPE__ long long int
    871 // MIPS32EL:#define __INT8_TYPE__ char
    872 // MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
    873 // MIPS32EL:#define __INTMAX_TYPE__ long long int
    874 // MIPS32EL:#define __INTMAX_WIDTH__ 64
    875 // MIPS32EL:#define __INTPTR_TYPE__ long int
    876 // MIPS32EL:#define __INTPTR_WIDTH__ 32
    877 // MIPS32EL:#define __INT_MAX__ 2147483647
    878 // MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
    879 // MIPS32EL:#define __LDBL_DIG__ 15
    880 // MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
    881 // MIPS32EL:#define __LDBL_HAS_DENORM__ 1
    882 // MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
    883 // MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
    884 // MIPS32EL:#define __LDBL_MANT_DIG__ 53
    885 // MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
    886 // MIPS32EL:#define __LDBL_MAX_EXP__ 1024
    887 // MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
    888 // MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
    889 // MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
    890 // MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
    891 // MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
    892 // MIPS32EL:#define __LONG_MAX__ 2147483647L
    893 // MIPS32EL-NOT:#define __LP64__
    894 // MIPS32EL:#define __MIPSEL 1
    895 // MIPS32EL:#define __MIPSEL__ 1
    896 // MIPS32EL:#define __POINTER_WIDTH__ 32
    897 // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
    898 // MIPS32EL:#define __PTRDIFF_TYPE__ int
    899 // MIPS32EL:#define __PTRDIFF_WIDTH__ 32
    900 // MIPS32EL:#define __REGISTER_PREFIX__
    901 // MIPS32EL:#define __SCHAR_MAX__ 127
    902 // MIPS32EL:#define __SHRT_MAX__ 32767
    903 // MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
    904 // MIPS32EL:#define __SIZEOF_DOUBLE__ 8
    905 // MIPS32EL:#define __SIZEOF_FLOAT__ 4
    906 // MIPS32EL:#define __SIZEOF_INT__ 4
    907 // MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
    908 // MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
    909 // MIPS32EL:#define __SIZEOF_LONG__ 4
    910 // MIPS32EL:#define __SIZEOF_POINTER__ 4
    911 // MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
    912 // MIPS32EL:#define __SIZEOF_SHORT__ 2
    913 // MIPS32EL:#define __SIZEOF_SIZE_T__ 4
    914 // MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
    915 // MIPS32EL:#define __SIZEOF_WINT_T__ 4
    916 // MIPS32EL:#define __SIZE_MAX__ 4294967295U
    917 // MIPS32EL:#define __SIZE_TYPE__ unsigned int
    918 // MIPS32EL:#define __SIZE_WIDTH__ 32
    919 // MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
    920 // MIPS32EL:#define __USER_LABEL_PREFIX__ _
    921 // MIPS32EL:#define __WCHAR_MAX__ 2147483647
    922 // MIPS32EL:#define __WCHAR_TYPE__ int
    923 // MIPS32EL:#define __WCHAR_WIDTH__ 32
    924 // MIPS32EL:#define __WINT_TYPE__ int
    925 // MIPS32EL:#define __WINT_WIDTH__ 32
    926 // MIPS32EL:#define __clang__ 1
    927 // MIPS32EL:#define __llvm__ 1
    928 // MIPS32EL:#define __mips 1
    929 // MIPS32EL:#define __mips__ 1
    930 // MIPS32EL:#define __mips_hard_float 1
    931 // MIPS32EL:#define __mips_o32 1
    932 // MIPS32EL:#define _mips 1
    933 // MIPS32EL:#define mips 1
    934 //
    935 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
    936 //
    937 // MIPS64BE:#define MIPSEB 1
    938 // MIPS64BE:#define _ABI64 3
    939 // MIPS64BE:#define _LP64 1
    940 // MIPS64BE:#define _MIPSEB 1
    941 // MIPS64BE:#define _MIPS_ARCH "mips64"
    942 // MIPS64BE:#define _MIPS_ARCH_MIPS64 1
    943 // MIPS64BE:#define _MIPS_SIM _ABI64
    944 // MIPS64BE:#define _MIPS_SZINT 32
    945 // MIPS64BE:#define _MIPS_SZLONG 64
    946 // MIPS64BE:#define _MIPS_SZPTR 64
    947 // MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
    948 // MIPS64BE:#define __CHAR16_TYPE__ unsigned short
    949 // MIPS64BE:#define __CHAR32_TYPE__ unsigned int
    950 // MIPS64BE:#define __CHAR_BIT__ 8
    951 // MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
    952 // MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    953 // MIPS64BE:#define __DBL_DIG__ 15
    954 // MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
    955 // MIPS64BE:#define __DBL_HAS_DENORM__ 1
    956 // MIPS64BE:#define __DBL_HAS_INFINITY__ 1
    957 // MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
    958 // MIPS64BE:#define __DBL_MANT_DIG__ 53
    959 // MIPS64BE:#define __DBL_MAX_10_EXP__ 308
    960 // MIPS64BE:#define __DBL_MAX_EXP__ 1024
    961 // MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
    962 // MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
    963 // MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
    964 // MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
    965 // MIPS64BE:#define __DECIMAL_DIG__ 36
    966 // MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    967 // MIPS64BE:#define __FLT_DIG__ 6
    968 // MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
    969 // MIPS64BE:#define __FLT_EVAL_METHOD__ 0
    970 // MIPS64BE:#define __FLT_HAS_DENORM__ 1
    971 // MIPS64BE:#define __FLT_HAS_INFINITY__ 1
    972 // MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
    973 // MIPS64BE:#define __FLT_MANT_DIG__ 24
    974 // MIPS64BE:#define __FLT_MAX_10_EXP__ 38
    975 // MIPS64BE:#define __FLT_MAX_EXP__ 128
    976 // MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
    977 // MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
    978 // MIPS64BE:#define __FLT_MIN_EXP__ (-125)
    979 // MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
    980 // MIPS64BE:#define __FLT_RADIX__ 2
    981 // MIPS64BE:#define __INT16_TYPE__ short
    982 // MIPS64BE:#define __INT32_TYPE__ int
    983 // MIPS64BE:#define __INT64_C_SUFFIX__ LL
    984 // MIPS64BE:#define __INT64_TYPE__ long long int
    985 // MIPS64BE:#define __INT8_TYPE__ char
    986 // MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
    987 // MIPS64BE:#define __INTMAX_TYPE__ long long int
    988 // MIPS64BE:#define __INTMAX_WIDTH__ 64
    989 // MIPS64BE:#define __INTPTR_TYPE__ long int
    990 // MIPS64BE:#define __INTPTR_WIDTH__ 64
    991 // MIPS64BE:#define __INT_MAX__ 2147483647
    992 // MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
    993 // MIPS64BE:#define __LDBL_DIG__ 33
    994 // MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
    995 // MIPS64BE:#define __LDBL_HAS_DENORM__ 1
    996 // MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
    997 // MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
    998 // MIPS64BE:#define __LDBL_MANT_DIG__ 113
    999 // MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
   1000 // MIPS64BE:#define __LDBL_MAX_EXP__ 16384
   1001 // MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
   1002 // MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
   1003 // MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
   1004 // MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
   1005 // MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1006 // MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
   1007 // MIPS64BE:#define __LP64__ 1
   1008 // MIPS64BE:#define __MIPSEB 1
   1009 // MIPS64BE:#define __MIPSEB__ 1
   1010 // MIPS64BE:#define __POINTER_WIDTH__ 64
   1011 // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
   1012 // MIPS64BE:#define __PTRDIFF_TYPE__ long int
   1013 // MIPS64BE:#define __PTRDIFF_WIDTH__ 64
   1014 // MIPS64BE:#define __REGISTER_PREFIX__
   1015 // MIPS64BE:#define __SCHAR_MAX__ 127
   1016 // MIPS64BE:#define __SHRT_MAX__ 32767
   1017 // MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
   1018 // MIPS64BE:#define __SIZEOF_DOUBLE__ 8
   1019 // MIPS64BE:#define __SIZEOF_FLOAT__ 4
   1020 // MIPS64BE:#define __SIZEOF_INT__ 4
   1021 // MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
   1022 // MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
   1023 // MIPS64BE:#define __SIZEOF_LONG__ 8
   1024 // MIPS64BE:#define __SIZEOF_POINTER__ 8
   1025 // MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
   1026 // MIPS64BE:#define __SIZEOF_SHORT__ 2
   1027 // MIPS64BE:#define __SIZEOF_SIZE_T__ 8
   1028 // MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
   1029 // MIPS64BE:#define __SIZEOF_WINT_T__ 4
   1030 // MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
   1031 // MIPS64BE:#define __SIZE_TYPE__ long unsigned int
   1032 // MIPS64BE:#define __SIZE_WIDTH__ 64
   1033 // MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
   1034 // MIPS64BE:#define __USER_LABEL_PREFIX__ _
   1035 // MIPS64BE:#define __WCHAR_MAX__ 2147483647
   1036 // MIPS64BE:#define __WCHAR_TYPE__ int
   1037 // MIPS64BE:#define __WCHAR_WIDTH__ 32
   1038 // MIPS64BE:#define __WINT_TYPE__ int
   1039 // MIPS64BE:#define __WINT_WIDTH__ 32
   1040 // MIPS64BE:#define __clang__ 1
   1041 // MIPS64BE:#define __llvm__ 1
   1042 // MIPS64BE:#define __mips 1
   1043 // MIPS64BE:#define __mips64 1
   1044 // MIPS64BE:#define __mips64__ 1
   1045 // MIPS64BE:#define __mips__ 1
   1046 // MIPS64BE:#define __mips_hard_float 1
   1047 // MIPS64BE:#define __mips_n64 1
   1048 // MIPS64BE:#define _mips 1
   1049 // MIPS64BE:#define mips 1
   1050 //
   1051 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
   1052 //
   1053 // MIPS64EL:#define MIPSEL 1
   1054 // MIPS64EL:#define _ABI64 3
   1055 // MIPS64EL:#define _LP64 1
   1056 // MIPS64EL:#define _MIPSEL 1
   1057 // MIPS64EL:#define _MIPS_ARCH "mips64"
   1058 // MIPS64EL:#define _MIPS_ARCH_MIPS64 1
   1059 // MIPS64EL:#define _MIPS_SIM _ABI64
   1060 // MIPS64EL:#define _MIPS_SZINT 32
   1061 // MIPS64EL:#define _MIPS_SZLONG 64
   1062 // MIPS64EL:#define _MIPS_SZPTR 64
   1063 // MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
   1064 // MIPS64EL:#define __CHAR16_TYPE__ unsigned short
   1065 // MIPS64EL:#define __CHAR32_TYPE__ unsigned int
   1066 // MIPS64EL:#define __CHAR_BIT__ 8
   1067 // MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
   1068 // MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1069 // MIPS64EL:#define __DBL_DIG__ 15
   1070 // MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1071 // MIPS64EL:#define __DBL_HAS_DENORM__ 1
   1072 // MIPS64EL:#define __DBL_HAS_INFINITY__ 1
   1073 // MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
   1074 // MIPS64EL:#define __DBL_MANT_DIG__ 53
   1075 // MIPS64EL:#define __DBL_MAX_10_EXP__ 308
   1076 // MIPS64EL:#define __DBL_MAX_EXP__ 1024
   1077 // MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
   1078 // MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
   1079 // MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
   1080 // MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
   1081 // MIPS64EL:#define __DECIMAL_DIG__ 36
   1082 // MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1083 // MIPS64EL:#define __FLT_DIG__ 6
   1084 // MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
   1085 // MIPS64EL:#define __FLT_EVAL_METHOD__ 0
   1086 // MIPS64EL:#define __FLT_HAS_DENORM__ 1
   1087 // MIPS64EL:#define __FLT_HAS_INFINITY__ 1
   1088 // MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
   1089 // MIPS64EL:#define __FLT_MANT_DIG__ 24
   1090 // MIPS64EL:#define __FLT_MAX_10_EXP__ 38
   1091 // MIPS64EL:#define __FLT_MAX_EXP__ 128
   1092 // MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
   1093 // MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
   1094 // MIPS64EL:#define __FLT_MIN_EXP__ (-125)
   1095 // MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
   1096 // MIPS64EL:#define __FLT_RADIX__ 2
   1097 // MIPS64EL:#define __INT16_TYPE__ short
   1098 // MIPS64EL:#define __INT32_TYPE__ int
   1099 // MIPS64EL:#define __INT64_C_SUFFIX__ LL
   1100 // MIPS64EL:#define __INT64_TYPE__ long long int
   1101 // MIPS64EL:#define __INT8_TYPE__ char
   1102 // MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
   1103 // MIPS64EL:#define __INTMAX_TYPE__ long long int
   1104 // MIPS64EL:#define __INTMAX_WIDTH__ 64
   1105 // MIPS64EL:#define __INTPTR_TYPE__ long int
   1106 // MIPS64EL:#define __INTPTR_WIDTH__ 64
   1107 // MIPS64EL:#define __INT_MAX__ 2147483647
   1108 // MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
   1109 // MIPS64EL:#define __LDBL_DIG__ 33
   1110 // MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
   1111 // MIPS64EL:#define __LDBL_HAS_DENORM__ 1
   1112 // MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
   1113 // MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
   1114 // MIPS64EL:#define __LDBL_MANT_DIG__ 113
   1115 // MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
   1116 // MIPS64EL:#define __LDBL_MAX_EXP__ 16384
   1117 // MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
   1118 // MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
   1119 // MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
   1120 // MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
   1121 // MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1122 // MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
   1123 // MIPS64EL:#define __LP64__ 1
   1124 // MIPS64EL:#define __MIPSEL 1
   1125 // MIPS64EL:#define __MIPSEL__ 1
   1126 // MIPS64EL:#define __POINTER_WIDTH__ 64
   1127 // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
   1128 // MIPS64EL:#define __PTRDIFF_TYPE__ long int
   1129 // MIPS64EL:#define __PTRDIFF_WIDTH__ 64
   1130 // MIPS64EL:#define __REGISTER_PREFIX__
   1131 // MIPS64EL:#define __SCHAR_MAX__ 127
   1132 // MIPS64EL:#define __SHRT_MAX__ 32767
   1133 // MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
   1134 // MIPS64EL:#define __SIZEOF_DOUBLE__ 8
   1135 // MIPS64EL:#define __SIZEOF_FLOAT__ 4
   1136 // MIPS64EL:#define __SIZEOF_INT__ 4
   1137 // MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
   1138 // MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
   1139 // MIPS64EL:#define __SIZEOF_LONG__ 8
   1140 // MIPS64EL:#define __SIZEOF_POINTER__ 8
   1141 // MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
   1142 // MIPS64EL:#define __SIZEOF_SHORT__ 2
   1143 // MIPS64EL:#define __SIZEOF_SIZE_T__ 8
   1144 // MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
   1145 // MIPS64EL:#define __SIZEOF_WINT_T__ 4
   1146 // MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
   1147 // MIPS64EL:#define __SIZE_TYPE__ long unsigned int
   1148 // MIPS64EL:#define __SIZE_WIDTH__ 64
   1149 // MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
   1150 // MIPS64EL:#define __USER_LABEL_PREFIX__ _
   1151 // MIPS64EL:#define __WCHAR_MAX__ 2147483647
   1152 // MIPS64EL:#define __WCHAR_TYPE__ int
   1153 // MIPS64EL:#define __WCHAR_WIDTH__ 32
   1154 // MIPS64EL:#define __WINT_TYPE__ int
   1155 // MIPS64EL:#define __WINT_WIDTH__ 32
   1156 // MIPS64EL:#define __clang__ 1
   1157 // MIPS64EL:#define __llvm__ 1
   1158 // MIPS64EL:#define __mips 1
   1159 // MIPS64EL:#define __mips64 1
   1160 // MIPS64EL:#define __mips64__ 1
   1161 // MIPS64EL:#define __mips__ 1
   1162 // MIPS64EL:#define __mips_hard_float 1
   1163 // MIPS64EL:#define __mips_n64 1
   1164 // MIPS64EL:#define _mips 1
   1165 // MIPS64EL:#define mips 1
   1166 //
   1167 // Check MIPS float ABI macros
   1168 //
   1169 // RUN: %clang_cc1 -E -dM -ffreestanding \
   1170 // RUN:   -triple=mips-none-none < /dev/null \
   1171 // RUN:   | FileCheck -check-prefix MIPS-FABI-HARD %s
   1172 // MIPS-FABI-HARD:#define __mips_hard_float 1
   1173 //
   1174 // RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
   1175 // RUN:   -triple=mips-none-none < /dev/null \
   1176 // RUN:   | FileCheck -check-prefix MIPS-FABI-SOFT %s
   1177 // MIPS-FABI-SOFT:#define __mips_soft_float 1
   1178 //
   1179 // RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
   1180 // RUN:   -triple=mips-none-none < /dev/null \
   1181 // RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE %s
   1182 // MIPS-FABI-SINGLE:#define __mips_hard_float 1
   1183 // MIPS-FABI-SINGLE:#define __mips_single_float 1
   1184 //
   1185 // RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
   1186 // RUN:   -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
   1187 // RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE-SOFT %s
   1188 // MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
   1189 // MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
   1190 //
   1191 // Check MIPS features macros
   1192 //
   1193 // RUN: %clang_cc1 -target-feature +mips16 \
   1194 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
   1195 // RUN:   | FileCheck -check-prefix MIPS16 %s
   1196 // MIPS16:#define __mips16 1
   1197 //
   1198 // RUN: %clang_cc1 -target-feature -mips16 \
   1199 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
   1200 // RUN:   | FileCheck -check-prefix NOMIPS16 %s
   1201 // NOMIPS16-NOT:#define __mips16 1
   1202 //
   1203 // RUN: %clang_cc1 -target-feature +micromips \
   1204 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
   1205 // RUN:   | FileCheck -check-prefix MICROMIPS %s
   1206 // MICROMIPS:#define __mips_micromips 1
   1207 //
   1208 // RUN: %clang_cc1 -target-feature -micromips \
   1209 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
   1210 // RUN:   | FileCheck -check-prefix NOMICROMIPS %s
   1211 // NOMICROMIPS-NOT:#define __mips_micromips 1
   1212 //
   1213 // RUN: %clang_cc1 -target-feature +dsp \
   1214 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
   1215 // RUN:   | FileCheck -check-prefix MIPS-DSP %s
   1216 // MIPS-DSP:#define __mips_dsp 1
   1217 // MIPS-DSP:#define __mips_dsp_rev 1
   1218 // MIPS-DSP-NOT:#define __mips_dspr2 1
   1219 //
   1220 // RUN: %clang_cc1 -target-feature +dspr2 \
   1221 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
   1222 // RUN:   | FileCheck -check-prefix MIPS-DSPR2 %s
   1223 // MIPS-DSPR2:#define __mips_dsp 1
   1224 // MIPS-DSPR2:#define __mips_dsp_rev 2
   1225 // MIPS-DSPR2:#define __mips_dspr2 1
   1226 //
   1227 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
   1228 //
   1229 // MSP430:#define MSP430 1
   1230 // MSP430-NOT:#define _LP64
   1231 // MSP430:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
   1232 // MSP430:#define __CHAR16_TYPE__ unsigned short
   1233 // MSP430:#define __CHAR32_TYPE__ unsigned int
   1234 // MSP430:#define __CHAR_BIT__ 8
   1235 // MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1236 // MSP430:#define __DBL_DIG__ 15
   1237 // MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1238 // MSP430:#define __DBL_HAS_DENORM__ 1
   1239 // MSP430:#define __DBL_HAS_INFINITY__ 1
   1240 // MSP430:#define __DBL_HAS_QUIET_NAN__ 1
   1241 // MSP430:#define __DBL_MANT_DIG__ 53
   1242 // MSP430:#define __DBL_MAX_10_EXP__ 308
   1243 // MSP430:#define __DBL_MAX_EXP__ 1024
   1244 // MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
   1245 // MSP430:#define __DBL_MIN_10_EXP__ (-307)
   1246 // MSP430:#define __DBL_MIN_EXP__ (-1021)
   1247 // MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
   1248 // MSP430:#define __DECIMAL_DIG__ 17
   1249 // MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1250 // MSP430:#define __FLT_DIG__ 6
   1251 // MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
   1252 // MSP430:#define __FLT_EVAL_METHOD__ 0
   1253 // MSP430:#define __FLT_HAS_DENORM__ 1
   1254 // MSP430:#define __FLT_HAS_INFINITY__ 1
   1255 // MSP430:#define __FLT_HAS_QUIET_NAN__ 1
   1256 // MSP430:#define __FLT_MANT_DIG__ 24
   1257 // MSP430:#define __FLT_MAX_10_EXP__ 38
   1258 // MSP430:#define __FLT_MAX_EXP__ 128
   1259 // MSP430:#define __FLT_MAX__ 3.40282347e+38F
   1260 // MSP430:#define __FLT_MIN_10_EXP__ (-37)
   1261 // MSP430:#define __FLT_MIN_EXP__ (-125)
   1262 // MSP430:#define __FLT_MIN__ 1.17549435e-38F
   1263 // MSP430:#define __FLT_RADIX__ 2
   1264 // MSP430:#define __INT16_TYPE__ short
   1265 // MSP430:#define __INT32_C_SUFFIX__ L
   1266 // MSP430:#define __INT32_TYPE__ long int
   1267 // MSP430:#define __INT8_TYPE__ char
   1268 // MSP430:#define __INTMAX_MAX__ 9223372036854775807LL
   1269 // MSP430:#define __INTMAX_TYPE__ long long int
   1270 // MSP430:#define __INTMAX_WIDTH__ 64
   1271 // MSP430:#define __INTPTR_TYPE__ int
   1272 // MSP430:#define __INTPTR_WIDTH__ 16
   1273 // MSP430:#define __INT_MAX__ 32767
   1274 // MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
   1275 // MSP430:#define __LDBL_DIG__ 15
   1276 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
   1277 // MSP430:#define __LDBL_HAS_DENORM__ 1
   1278 // MSP430:#define __LDBL_HAS_INFINITY__ 1
   1279 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
   1280 // MSP430:#define __LDBL_MANT_DIG__ 53
   1281 // MSP430:#define __LDBL_MAX_10_EXP__ 308
   1282 // MSP430:#define __LDBL_MAX_EXP__ 1024
   1283 // MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308L
   1284 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
   1285 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
   1286 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308L
   1287 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1288 // MSP430:#define __LONG_MAX__ 2147483647L
   1289 // MSP430-NOT:#define __LP64__
   1290 // MSP430:#define __MSP430__ 1
   1291 // MSP430:#define __POINTER_WIDTH__ 16
   1292 // MSP430:#define __PTRDIFF_TYPE__ int
   1293 // MSP430:#define __PTRDIFF_WIDTH__ 16
   1294 // MSP430:#define __SCHAR_MAX__ 127
   1295 // MSP430:#define __SHRT_MAX__ 32767
   1296 // MSP430:#define __SIG_ATOMIC_WIDTH__ 32
   1297 // MSP430:#define __SIZEOF_DOUBLE__ 8
   1298 // MSP430:#define __SIZEOF_FLOAT__ 4
   1299 // MSP430:#define __SIZEOF_INT__ 2
   1300 // MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
   1301 // MSP430:#define __SIZEOF_LONG_LONG__ 8
   1302 // MSP430:#define __SIZEOF_LONG__ 4
   1303 // MSP430:#define __SIZEOF_POINTER__ 2
   1304 // MSP430:#define __SIZEOF_PTRDIFF_T__ 2
   1305 // MSP430:#define __SIZEOF_SHORT__ 2
   1306 // MSP430:#define __SIZEOF_SIZE_T__ 2
   1307 // MSP430:#define __SIZEOF_WCHAR_T__ 2
   1308 // MSP430:#define __SIZEOF_WINT_T__ 2
   1309 // MSP430:#define __SIZE_MAX__ 65535U
   1310 // MSP430:#define __SIZE_TYPE__ unsigned int
   1311 // MSP430:#define __SIZE_WIDTH__ 16
   1312 // MSP430:#define __UINTMAX_TYPE__ long long unsigned int
   1313 // MSP430:#define __USER_LABEL_PREFIX__ _
   1314 // MSP430:#define __WCHAR_MAX__ 32767
   1315 // MSP430:#define __WCHAR_TYPE__ int
   1316 // MSP430:#define __WCHAR_WIDTH__ 16
   1317 // MSP430:#define __WINT_TYPE__ int
   1318 // MSP430:#define __WINT_WIDTH__ 16
   1319 // MSP430:#define __clang__ 1
   1320 //
   1321 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx-none-none < /dev/null | FileCheck -check-prefix NVPTX32 %s
   1322 //
   1323 // NVPTX32-NOT:#define _LP64
   1324 // NVPTX32:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
   1325 // NVPTX32:#define __CHAR16_TYPE__ unsigned short
   1326 // NVPTX32:#define __CHAR32_TYPE__ unsigned int
   1327 // NVPTX32:#define __CHAR_BIT__ 8
   1328 // NVPTX32:#define __CONSTANT_CFSTRINGS__ 1
   1329 // NVPTX32:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1330 // NVPTX32:#define __DBL_DIG__ 15
   1331 // NVPTX32:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1332 // NVPTX32:#define __DBL_HAS_DENORM__ 1
   1333 // NVPTX32:#define __DBL_HAS_INFINITY__ 1
   1334 // NVPTX32:#define __DBL_HAS_QUIET_NAN__ 1
   1335 // NVPTX32:#define __DBL_MANT_DIG__ 53
   1336 // NVPTX32:#define __DBL_MAX_10_EXP__ 308
   1337 // NVPTX32:#define __DBL_MAX_EXP__ 1024
   1338 // NVPTX32:#define __DBL_MAX__ 1.7976931348623157e+308
   1339 // NVPTX32:#define __DBL_MIN_10_EXP__ (-307)
   1340 // NVPTX32:#define __DBL_MIN_EXP__ (-1021)
   1341 // NVPTX32:#define __DBL_MIN__ 2.2250738585072014e-308
   1342 // NVPTX32:#define __DECIMAL_DIG__ 17
   1343 // NVPTX32:#define __FINITE_MATH_ONLY__ 0
   1344 // NVPTX32:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1345 // NVPTX32:#define __FLT_DIG__ 6
   1346 // NVPTX32:#define __FLT_EPSILON__ 1.19209290e-7F
   1347 // NVPTX32:#define __FLT_EVAL_METHOD__ 0
   1348 // NVPTX32:#define __FLT_HAS_DENORM__ 1
   1349 // NVPTX32:#define __FLT_HAS_INFINITY__ 1
   1350 // NVPTX32:#define __FLT_HAS_QUIET_NAN__ 1
   1351 // NVPTX32:#define __FLT_MANT_DIG__ 24
   1352 // NVPTX32:#define __FLT_MAX_10_EXP__ 38
   1353 // NVPTX32:#define __FLT_MAX_EXP__ 128
   1354 // NVPTX32:#define __FLT_MAX__ 3.40282347e+38F
   1355 // NVPTX32:#define __FLT_MIN_10_EXP__ (-37)
   1356 // NVPTX32:#define __FLT_MIN_EXP__ (-125)
   1357 // NVPTX32:#define __FLT_MIN__ 1.17549435e-38F
   1358 // NVPTX32:#define __FLT_RADIX__ 2
   1359 // NVPTX32:#define __INT16_TYPE__ short
   1360 // NVPTX32:#define __INT32_TYPE__ int
   1361 // NVPTX32:#define __INT64_C_SUFFIX__ LL
   1362 // NVPTX32:#define __INT64_TYPE__ long long int
   1363 // NVPTX32:#define __INT8_TYPE__ char
   1364 // NVPTX32:#define __INTMAX_MAX__ 9223372036854775807LL
   1365 // NVPTX32:#define __INTMAX_TYPE__ long long int
   1366 // NVPTX32:#define __INTMAX_WIDTH__ 64
   1367 // NVPTX32:#define __INTPTR_TYPE__ unsigned int
   1368 // NVPTX32:#define __INTPTR_WIDTH__ 32
   1369 // NVPTX32:#define __INT_MAX__ 2147483647
   1370 // NVPTX32:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
   1371 // NVPTX32:#define __LDBL_DIG__ 15
   1372 // NVPTX32:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
   1373 // NVPTX32:#define __LDBL_HAS_DENORM__ 1
   1374 // NVPTX32:#define __LDBL_HAS_INFINITY__ 1
   1375 // NVPTX32:#define __LDBL_HAS_QUIET_NAN__ 1
   1376 // NVPTX32:#define __LDBL_MANT_DIG__ 53
   1377 // NVPTX32:#define __LDBL_MAX_10_EXP__ 308
   1378 // NVPTX32:#define __LDBL_MAX_EXP__ 1024
   1379 // NVPTX32:#define __LDBL_MAX__ 1.7976931348623157e+308L
   1380 // NVPTX32:#define __LDBL_MIN_10_EXP__ (-307)
   1381 // NVPTX32:#define __LDBL_MIN_EXP__ (-1021)
   1382 // NVPTX32:#define __LDBL_MIN__ 2.2250738585072014e-308L
   1383 // NVPTX32:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1384 // NVPTX32:#define __LONG_MAX__ 9223372036854775807L
   1385 // NVPTX32-NOT:#define __LP64__
   1386 // NVPTX32:#define __NVPTX__ 1
   1387 // NVPTX32:#define __POINTER_WIDTH__ 32
   1388 // NVPTX32:#define __PRAGMA_REDEFINE_EXTNAME 1
   1389 // NVPTX32:#define __PTRDIFF_TYPE__ unsigned int
   1390 // NVPTX32:#define __PTRDIFF_WIDTH__ 32
   1391 // NVPTX32:#define __PTX__ 1
   1392 // NVPTX32:#define __SCHAR_MAX__ 127
   1393 // NVPTX32:#define __SHRT_MAX__ 32767
   1394 // NVPTX32:#define __SIG_ATOMIC_WIDTH__ 32
   1395 // NVPTX32:#define __SIZEOF_DOUBLE__ 8
   1396 // NVPTX32:#define __SIZEOF_FLOAT__ 4
   1397 // NVPTX32:#define __SIZEOF_INT__ 4
   1398 // NVPTX32:#define __SIZEOF_LONG_DOUBLE__ 8
   1399 // NVPTX32:#define __SIZEOF_LONG_LONG__ 8
   1400 // NVPTX32:#define __SIZEOF_LONG__ 8
   1401 // NVPTX32:#define __SIZEOF_POINTER__ 4
   1402 // NVPTX32:#define __SIZEOF_PTRDIFF_T__ 4
   1403 // NVPTX32:#define __SIZEOF_SHORT__ 2
   1404 // NVPTX32:#define __SIZEOF_SIZE_T__ 4
   1405 // NVPTX32:#define __SIZEOF_WCHAR_T__ 4
   1406 // NVPTX32:#define __SIZEOF_WINT_T__ 4
   1407 // NVPTX32:#define __SIZE_MAX__ 4294967295U
   1408 // NVPTX32:#define __SIZE_TYPE__ unsigned int
   1409 // NVPTX32:#define __SIZE_WIDTH__ 32
   1410 // NVPTX32:#define __UINTMAX_TYPE__ long long unsigned int
   1411 // NVPTX32:#define __USER_LABEL_PREFIX__ _
   1412 // NVPTX32:#define __WCHAR_MAX__ 2147483647
   1413 // NVPTX32:#define __WCHAR_TYPE__ int
   1414 // NVPTX32:#define __WCHAR_WIDTH__ 32
   1415 // NVPTX32:#define __WINT_TYPE__ int
   1416 // NVPTX32:#define __WINT_WIDTH__ 32
   1417 //
   1418 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=nvptx64-none-none < /dev/null | FileCheck -check-prefix NVPTX64 %s
   1419 //
   1420 // NVPTX64:#define _LP64 1
   1421 // NVPTX64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
   1422 // NVPTX64:#define __CHAR16_TYPE__ unsigned short
   1423 // NVPTX64:#define __CHAR32_TYPE__ unsigned int
   1424 // NVPTX64:#define __CHAR_BIT__ 8
   1425 // NVPTX64:#define __CONSTANT_CFSTRINGS__ 1
   1426 // NVPTX64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1427 // NVPTX64:#define __DBL_DIG__ 15
   1428 // NVPTX64:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1429 // NVPTX64:#define __DBL_HAS_DENORM__ 1
   1430 // NVPTX64:#define __DBL_HAS_INFINITY__ 1
   1431 // NVPTX64:#define __DBL_HAS_QUIET_NAN__ 1
   1432 // NVPTX64:#define __DBL_MANT_DIG__ 53
   1433 // NVPTX64:#define __DBL_MAX_10_EXP__ 308
   1434 // NVPTX64:#define __DBL_MAX_EXP__ 1024
   1435 // NVPTX64:#define __DBL_MAX__ 1.7976931348623157e+308
   1436 // NVPTX64:#define __DBL_MIN_10_EXP__ (-307)
   1437 // NVPTX64:#define __DBL_MIN_EXP__ (-1021)
   1438 // NVPTX64:#define __DBL_MIN__ 2.2250738585072014e-308
   1439 // NVPTX64:#define __DECIMAL_DIG__ 17
   1440 // NVPTX64:#define __FINITE_MATH_ONLY__ 0
   1441 // NVPTX64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1442 // NVPTX64:#define __FLT_DIG__ 6
   1443 // NVPTX64:#define __FLT_EPSILON__ 1.19209290e-7F
   1444 // NVPTX64:#define __FLT_EVAL_METHOD__ 0
   1445 // NVPTX64:#define __FLT_HAS_DENORM__ 1
   1446 // NVPTX64:#define __FLT_HAS_INFINITY__ 1
   1447 // NVPTX64:#define __FLT_HAS_QUIET_NAN__ 1
   1448 // NVPTX64:#define __FLT_MANT_DIG__ 24
   1449 // NVPTX64:#define __FLT_MAX_10_EXP__ 38
   1450 // NVPTX64:#define __FLT_MAX_EXP__ 128
   1451 // NVPTX64:#define __FLT_MAX__ 3.40282347e+38F
   1452 // NVPTX64:#define __FLT_MIN_10_EXP__ (-37)
   1453 // NVPTX64:#define __FLT_MIN_EXP__ (-125)
   1454 // NVPTX64:#define __FLT_MIN__ 1.17549435e-38F
   1455 // NVPTX64:#define __FLT_RADIX__ 2
   1456 // NVPTX64:#define __INT16_TYPE__ short
   1457 // NVPTX64:#define __INT32_TYPE__ int
   1458 // NVPTX64:#define __INT64_C_SUFFIX__ LL
   1459 // NVPTX64:#define __INT64_TYPE__ long long int
   1460 // NVPTX64:#define __INT8_TYPE__ char
   1461 // NVPTX64:#define __INTMAX_MAX__ 9223372036854775807LL
   1462 // NVPTX64:#define __INTMAX_TYPE__ long long int
   1463 // NVPTX64:#define __INTMAX_WIDTH__ 64
   1464 // NVPTX64:#define __INTPTR_TYPE__ long long unsigned int
   1465 // NVPTX64:#define __INTPTR_WIDTH__ 64
   1466 // NVPTX64:#define __INT_MAX__ 2147483647
   1467 // NVPTX64:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
   1468 // NVPTX64:#define __LDBL_DIG__ 15
   1469 // NVPTX64:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
   1470 // NVPTX64:#define __LDBL_HAS_DENORM__ 1
   1471 // NVPTX64:#define __LDBL_HAS_INFINITY__ 1
   1472 // NVPTX64:#define __LDBL_HAS_QUIET_NAN__ 1
   1473 // NVPTX64:#define __LDBL_MANT_DIG__ 53
   1474 // NVPTX64:#define __LDBL_MAX_10_EXP__ 308
   1475 // NVPTX64:#define __LDBL_MAX_EXP__ 1024
   1476 // NVPTX64:#define __LDBL_MAX__ 1.7976931348623157e+308L
   1477 // NVPTX64:#define __LDBL_MIN_10_EXP__ (-307)
   1478 // NVPTX64:#define __LDBL_MIN_EXP__ (-1021)
   1479 // NVPTX64:#define __LDBL_MIN__ 2.2250738585072014e-308L
   1480 // NVPTX64:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1481 // NVPTX64:#define __LONG_MAX__ 9223372036854775807L
   1482 // NVPTX64:#define __LP64__ 1
   1483 // NVPTX64:#define __NVPTX__ 1
   1484 // NVPTX64:#define __POINTER_WIDTH__ 64
   1485 // NVPTX64:#define __PRAGMA_REDEFINE_EXTNAME 1
   1486 // NVPTX64:#define __PTRDIFF_TYPE__ long long unsigned int
   1487 // NVPTX64:#define __PTRDIFF_WIDTH__ 64
   1488 // NVPTX64:#define __PTX__ 1
   1489 // NVPTX64:#define __SCHAR_MAX__ 127
   1490 // NVPTX64:#define __SHRT_MAX__ 32767
   1491 // NVPTX64:#define __SIG_ATOMIC_WIDTH__ 32
   1492 // NVPTX64:#define __SIZEOF_DOUBLE__ 8
   1493 // NVPTX64:#define __SIZEOF_FLOAT__ 4
   1494 // NVPTX64:#define __SIZEOF_INT__ 4
   1495 // NVPTX64:#define __SIZEOF_LONG_DOUBLE__ 8
   1496 // NVPTX64:#define __SIZEOF_LONG_LONG__ 8
   1497 // NVPTX64:#define __SIZEOF_LONG__ 8
   1498 // NVPTX64:#define __SIZEOF_POINTER__ 8
   1499 // NVPTX64:#define __SIZEOF_PTRDIFF_T__ 8
   1500 // NVPTX64:#define __SIZEOF_SHORT__ 2
   1501 // NVPTX64:#define __SIZEOF_SIZE_T__ 8
   1502 // NVPTX64:#define __SIZEOF_WCHAR_T__ 4
   1503 // NVPTX64:#define __SIZEOF_WINT_T__ 4
   1504 // NVPTX64:#define __SIZE_MAX__ 18446744073709551615UL
   1505 // NVPTX64:#define __SIZE_TYPE__ long long unsigned int
   1506 // NVPTX64:#define __SIZE_WIDTH__ 64
   1507 // NVPTX64:#define __UINTMAX_TYPE__ long long unsigned int
   1508 // NVPTX64:#define __USER_LABEL_PREFIX__ _
   1509 // NVPTX64:#define __WCHAR_MAX__ 2147483647
   1510 // NVPTX64:#define __WCHAR_TYPE__ int
   1511 // NVPTX64:#define __WCHAR_WIDTH__ 32
   1512 // NVPTX64:#define __WINT_TYPE__ int
   1513 // NVPTX64:#define __WINT_WIDTH__ 32
   1514 //
   1515 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -target-cpu 603e < /dev/null | FileCheck -check-prefix PPC603E %s
   1516 //
   1517 // PPC603E:#define _ARCH_603 1
   1518 // PPC603E:#define _ARCH_603E 1
   1519 // PPC603E:#define _ARCH_PPC 1
   1520 // PPC603E:#define _ARCH_PPCGR 1
   1521 // PPC603E:#define _BIG_ENDIAN 1
   1522 // PPC603E-NOT:#define _LP64
   1523 // PPC603E:#define __BIG_ENDIAN__ 1
   1524 // PPC603E:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   1525 // PPC603E:#define __CHAR16_TYPE__ unsigned short
   1526 // PPC603E:#define __CHAR32_TYPE__ unsigned int
   1527 // PPC603E:#define __CHAR_BIT__ 8
   1528 // PPC603E:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1529 // PPC603E:#define __DBL_DIG__ 15
   1530 // PPC603E:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1531 // PPC603E:#define __DBL_HAS_DENORM__ 1
   1532 // PPC603E:#define __DBL_HAS_INFINITY__ 1
   1533 // PPC603E:#define __DBL_HAS_QUIET_NAN__ 1
   1534 // PPC603E:#define __DBL_MANT_DIG__ 53
   1535 // PPC603E:#define __DBL_MAX_10_EXP__ 308
   1536 // PPC603E:#define __DBL_MAX_EXP__ 1024
   1537 // PPC603E:#define __DBL_MAX__ 1.7976931348623157e+308
   1538 // PPC603E:#define __DBL_MIN_10_EXP__ (-307)
   1539 // PPC603E:#define __DBL_MIN_EXP__ (-1021)
   1540 // PPC603E:#define __DBL_MIN__ 2.2250738585072014e-308
   1541 // PPC603E:#define __DECIMAL_DIG__ 33
   1542 // PPC603E:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1543 // PPC603E:#define __FLT_DIG__ 6
   1544 // PPC603E:#define __FLT_EPSILON__ 1.19209290e-7F
   1545 // PPC603E:#define __FLT_EVAL_METHOD__ 0
   1546 // PPC603E:#define __FLT_HAS_DENORM__ 1
   1547 // PPC603E:#define __FLT_HAS_INFINITY__ 1
   1548 // PPC603E:#define __FLT_HAS_QUIET_NAN__ 1
   1549 // PPC603E:#define __FLT_MANT_DIG__ 24
   1550 // PPC603E:#define __FLT_MAX_10_EXP__ 38
   1551 // PPC603E:#define __FLT_MAX_EXP__ 128
   1552 // PPC603E:#define __FLT_MAX__ 3.40282347e+38F
   1553 // PPC603E:#define __FLT_MIN_10_EXP__ (-37)
   1554 // PPC603E:#define __FLT_MIN_EXP__ (-125)
   1555 // PPC603E:#define __FLT_MIN__ 1.17549435e-38F
   1556 // PPC603E:#define __FLT_RADIX__ 2
   1557 // PPC603E:#define __INT16_TYPE__ short
   1558 // PPC603E:#define __INT32_TYPE__ int
   1559 // PPC603E:#define __INT64_C_SUFFIX__ LL
   1560 // PPC603E:#define __INT64_TYPE__ long long int
   1561 // PPC603E:#define __INT8_TYPE__ char
   1562 // PPC603E:#define __INTMAX_MAX__ 9223372036854775807LL
   1563 // PPC603E:#define __INTMAX_TYPE__ long long int
   1564 // PPC603E:#define __INTMAX_WIDTH__ 64
   1565 // PPC603E:#define __INTPTR_TYPE__ long int
   1566 // PPC603E:#define __INTPTR_WIDTH__ 32
   1567 // PPC603E:#define __INT_MAX__ 2147483647
   1568 // PPC603E:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   1569 // PPC603E:#define __LDBL_DIG__ 31
   1570 // PPC603E:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   1571 // PPC603E:#define __LDBL_HAS_DENORM__ 1
   1572 // PPC603E:#define __LDBL_HAS_INFINITY__ 1
   1573 // PPC603E:#define __LDBL_HAS_QUIET_NAN__ 1
   1574 // PPC603E:#define __LDBL_MANT_DIG__ 106
   1575 // PPC603E:#define __LDBL_MAX_10_EXP__ 308
   1576 // PPC603E:#define __LDBL_MAX_EXP__ 1024
   1577 // PPC603E:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   1578 // PPC603E:#define __LDBL_MIN_10_EXP__ (-291)
   1579 // PPC603E:#define __LDBL_MIN_EXP__ (-968)
   1580 // PPC603E:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   1581 // PPC603E:#define __LONG_DOUBLE_128__ 1
   1582 // PPC603E:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1583 // PPC603E:#define __LONG_MAX__ 2147483647L
   1584 // PPC603E-NOT:#define __LP64__
   1585 // PPC603E:#define __NATURAL_ALIGNMENT__ 1
   1586 // PPC603E:#define __POINTER_WIDTH__ 32
   1587 // PPC603E:#define __POWERPC__ 1
   1588 // PPC603E:#define __PPC__ 1
   1589 // PPC603E:#define __PTRDIFF_TYPE__ long int
   1590 // PPC603E:#define __PTRDIFF_WIDTH__ 32
   1591 // PPC603E:#define __REGISTER_PREFIX__
   1592 // PPC603E:#define __SCHAR_MAX__ 127
   1593 // PPC603E:#define __SHRT_MAX__ 32767
   1594 // PPC603E:#define __SIG_ATOMIC_WIDTH__ 32
   1595 // PPC603E:#define __SIZEOF_DOUBLE__ 8
   1596 // PPC603E:#define __SIZEOF_FLOAT__ 4
   1597 // PPC603E:#define __SIZEOF_INT__ 4
   1598 // PPC603E:#define __SIZEOF_LONG_DOUBLE__ 16
   1599 // PPC603E:#define __SIZEOF_LONG_LONG__ 8
   1600 // PPC603E:#define __SIZEOF_LONG__ 4
   1601 // PPC603E:#define __SIZEOF_POINTER__ 4
   1602 // PPC603E:#define __SIZEOF_PTRDIFF_T__ 4
   1603 // PPC603E:#define __SIZEOF_SHORT__ 2
   1604 // PPC603E:#define __SIZEOF_SIZE_T__ 4
   1605 // PPC603E:#define __SIZEOF_WCHAR_T__ 4
   1606 // PPC603E:#define __SIZEOF_WINT_T__ 4
   1607 // PPC603E:#define __SIZE_MAX__ 4294967295U
   1608 // PPC603E:#define __SIZE_TYPE__ long unsigned int
   1609 // PPC603E:#define __SIZE_WIDTH__ 32
   1610 // PPC603E:#define __UINTMAX_TYPE__ long long unsigned int
   1611 // PPC603E:#define __USER_LABEL_PREFIX__ _
   1612 // PPC603E:#define __WCHAR_MAX__ 2147483647
   1613 // PPC603E:#define __WCHAR_TYPE__ int
   1614 // PPC603E:#define __WCHAR_WIDTH__ 32
   1615 // PPC603E:#define __WINT_TYPE__ int
   1616 // PPC603E:#define __WINT_WIDTH__ 32
   1617 // PPC603E:#define __powerpc__ 1
   1618 // PPC603E:#define __ppc__ 1
   1619 //
   1620 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
   1621 //
   1622 // PPC64:#define _ARCH_PPC 1
   1623 // PPC64:#define _ARCH_PPC64 1
   1624 // PPC64:#define _ARCH_PPCGR 1
   1625 // PPC64:#define _ARCH_PPCSQ 1
   1626 // PPC64:#define _ARCH_PWR4 1
   1627 // PPC64:#define _ARCH_PWR5 1
   1628 // PPC64:#define _ARCH_PWR6 1
   1629 // PPC64:#define _ARCH_PWR7 1
   1630 // PPC64:#define _BIG_ENDIAN 1
   1631 // PPC64:#define _LP64 1
   1632 // PPC64:#define __BIG_ENDIAN__ 1
   1633 // PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   1634 // PPC64:#define __CHAR16_TYPE__ unsigned short
   1635 // PPC64:#define __CHAR32_TYPE__ unsigned int
   1636 // PPC64:#define __CHAR_BIT__ 8
   1637 // PPC64:#define __CHAR_UNSIGNED__ 1
   1638 // PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1639 // PPC64:#define __DBL_DIG__ 15
   1640 // PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1641 // PPC64:#define __DBL_HAS_DENORM__ 1
   1642 // PPC64:#define __DBL_HAS_INFINITY__ 1
   1643 // PPC64:#define __DBL_HAS_QUIET_NAN__ 1
   1644 // PPC64:#define __DBL_MANT_DIG__ 53
   1645 // PPC64:#define __DBL_MAX_10_EXP__ 308
   1646 // PPC64:#define __DBL_MAX_EXP__ 1024
   1647 // PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
   1648 // PPC64:#define __DBL_MIN_10_EXP__ (-307)
   1649 // PPC64:#define __DBL_MIN_EXP__ (-1021)
   1650 // PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
   1651 // PPC64:#define __DECIMAL_DIG__ 33
   1652 // PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1653 // PPC64:#define __FLT_DIG__ 6
   1654 // PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
   1655 // PPC64:#define __FLT_EVAL_METHOD__ 0
   1656 // PPC64:#define __FLT_HAS_DENORM__ 1
   1657 // PPC64:#define __FLT_HAS_INFINITY__ 1
   1658 // PPC64:#define __FLT_HAS_QUIET_NAN__ 1
   1659 // PPC64:#define __FLT_MANT_DIG__ 24
   1660 // PPC64:#define __FLT_MAX_10_EXP__ 38
   1661 // PPC64:#define __FLT_MAX_EXP__ 128
   1662 // PPC64:#define __FLT_MAX__ 3.40282347e+38F
   1663 // PPC64:#define __FLT_MIN_10_EXP__ (-37)
   1664 // PPC64:#define __FLT_MIN_EXP__ (-125)
   1665 // PPC64:#define __FLT_MIN__ 1.17549435e-38F
   1666 // PPC64:#define __FLT_RADIX__ 2
   1667 // PPC64:#define __INT16_TYPE__ short
   1668 // PPC64:#define __INT32_TYPE__ int
   1669 // PPC64:#define __INT64_C_SUFFIX__ L
   1670 // PPC64:#define __INT64_TYPE__ long int
   1671 // PPC64:#define __INT8_TYPE__ char
   1672 // PPC64:#define __INTMAX_MAX__ 9223372036854775807L
   1673 // PPC64:#define __INTMAX_TYPE__ long int
   1674 // PPC64:#define __INTMAX_WIDTH__ 64
   1675 // PPC64:#define __INTPTR_TYPE__ long int
   1676 // PPC64:#define __INTPTR_WIDTH__ 64
   1677 // PPC64:#define __INT_MAX__ 2147483647
   1678 // PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   1679 // PPC64:#define __LDBL_DIG__ 31
   1680 // PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   1681 // PPC64:#define __LDBL_HAS_DENORM__ 1
   1682 // PPC64:#define __LDBL_HAS_INFINITY__ 1
   1683 // PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
   1684 // PPC64:#define __LDBL_MANT_DIG__ 106
   1685 // PPC64:#define __LDBL_MAX_10_EXP__ 308
   1686 // PPC64:#define __LDBL_MAX_EXP__ 1024
   1687 // PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   1688 // PPC64:#define __LDBL_MIN_10_EXP__ (-291)
   1689 // PPC64:#define __LDBL_MIN_EXP__ (-968)
   1690 // PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   1691 // PPC64:#define __LONG_DOUBLE_128__ 1
   1692 // PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1693 // PPC64:#define __LONG_MAX__ 9223372036854775807L
   1694 // PPC64:#define __LP64__ 1
   1695 // PPC64:#define __NATURAL_ALIGNMENT__ 1
   1696 // PPC64:#define __POINTER_WIDTH__ 64
   1697 // PPC64:#define __POWERPC__ 1
   1698 // PPC64:#define __PPC64__ 1
   1699 // PPC64:#define __PPC__ 1
   1700 // PPC64:#define __PTRDIFF_TYPE__ long int
   1701 // PPC64:#define __PTRDIFF_WIDTH__ 64
   1702 // PPC64:#define __REGISTER_PREFIX__
   1703 // PPC64:#define __SCHAR_MAX__ 127
   1704 // PPC64:#define __SHRT_MAX__ 32767
   1705 // PPC64:#define __SIG_ATOMIC_WIDTH__ 32
   1706 // PPC64:#define __SIZEOF_DOUBLE__ 8
   1707 // PPC64:#define __SIZEOF_FLOAT__ 4
   1708 // PPC64:#define __SIZEOF_INT__ 4
   1709 // PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
   1710 // PPC64:#define __SIZEOF_LONG_LONG__ 8
   1711 // PPC64:#define __SIZEOF_LONG__ 8
   1712 // PPC64:#define __SIZEOF_POINTER__ 8
   1713 // PPC64:#define __SIZEOF_PTRDIFF_T__ 8
   1714 // PPC64:#define __SIZEOF_SHORT__ 2
   1715 // PPC64:#define __SIZEOF_SIZE_T__ 8
   1716 // PPC64:#define __SIZEOF_WCHAR_T__ 4
   1717 // PPC64:#define __SIZEOF_WINT_T__ 4
   1718 // PPC64:#define __SIZE_MAX__ 18446744073709551615UL
   1719 // PPC64:#define __SIZE_TYPE__ long unsigned int
   1720 // PPC64:#define __SIZE_WIDTH__ 64
   1721 // PPC64:#define __UINTMAX_TYPE__ long unsigned int
   1722 // PPC64:#define __USER_LABEL_PREFIX__ _
   1723 // PPC64:#define __WCHAR_MAX__ 2147483647
   1724 // PPC64:#define __WCHAR_TYPE__ int
   1725 // PPC64:#define __WCHAR_WIDTH__ 32
   1726 // PPC64:#define __WINT_TYPE__ int
   1727 // PPC64:#define __WINT_WIDTH__ 32
   1728 // PPC64:#define __ppc64__ 1
   1729 // PPC64:#define __ppc__ 1
   1730 //
   1731 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64LE %s
   1732 //
   1733 // PPC64LE:#define _ARCH_PPC 1
   1734 // PPC64LE:#define _ARCH_PPC64 1
   1735 // PPC64LE:#define _ARCH_PPCGR 1
   1736 // PPC64LE:#define _ARCH_PPCSQ 1
   1737 // PPC64LE:#define _ARCH_PWR4 1
   1738 // PPC64LE:#define _ARCH_PWR5 1
   1739 // PPC64LE:#define _ARCH_PWR5X 1
   1740 // PPC64LE:#define _ARCH_PWR6 1
   1741 // PPC64LE:#define _ARCH_PWR6X 1
   1742 // PPC64LE:#define _ARCH_PWR7 1
   1743 // PPC64LE:#define _LITTLE_ENDIAN 1
   1744 // PPC64LE:#define _LP64 1
   1745 // PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
   1746 // PPC64LE:#define __CHAR16_TYPE__ unsigned short
   1747 // PPC64LE:#define __CHAR32_TYPE__ unsigned int
   1748 // PPC64LE:#define __CHAR_BIT__ 8
   1749 // PPC64LE:#define __CHAR_UNSIGNED__ 1
   1750 // PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1751 // PPC64LE:#define __DBL_DIG__ 15
   1752 // PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1753 // PPC64LE:#define __DBL_HAS_DENORM__ 1
   1754 // PPC64LE:#define __DBL_HAS_INFINITY__ 1
   1755 // PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
   1756 // PPC64LE:#define __DBL_MANT_DIG__ 53
   1757 // PPC64LE:#define __DBL_MAX_10_EXP__ 308
   1758 // PPC64LE:#define __DBL_MAX_EXP__ 1024
   1759 // PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
   1760 // PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
   1761 // PPC64LE:#define __DBL_MIN_EXP__ (-1021)
   1762 // PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
   1763 // PPC64LE:#define __DECIMAL_DIG__ 33
   1764 // PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1765 // PPC64LE:#define __FLT_DIG__ 6
   1766 // PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
   1767 // PPC64LE:#define __FLT_EVAL_METHOD__ 0
   1768 // PPC64LE:#define __FLT_HAS_DENORM__ 1
   1769 // PPC64LE:#define __FLT_HAS_INFINITY__ 1
   1770 // PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
   1771 // PPC64LE:#define __FLT_MANT_DIG__ 24
   1772 // PPC64LE:#define __FLT_MAX_10_EXP__ 38
   1773 // PPC64LE:#define __FLT_MAX_EXP__ 128
   1774 // PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
   1775 // PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
   1776 // PPC64LE:#define __FLT_MIN_EXP__ (-125)
   1777 // PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
   1778 // PPC64LE:#define __FLT_RADIX__ 2
   1779 // PPC64LE:#define __INT16_TYPE__ short
   1780 // PPC64LE:#define __INT32_TYPE__ int
   1781 // PPC64LE:#define __INT64_C_SUFFIX__ L
   1782 // PPC64LE:#define __INT64_TYPE__ long int
   1783 // PPC64LE:#define __INT8_TYPE__ char
   1784 // PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
   1785 // PPC64LE:#define __INTMAX_TYPE__ long int
   1786 // PPC64LE:#define __INTMAX_WIDTH__ 64
   1787 // PPC64LE:#define __INTPTR_TYPE__ long int
   1788 // PPC64LE:#define __INTPTR_WIDTH__ 64
   1789 // PPC64LE:#define __INT_MAX__ 2147483647
   1790 // PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   1791 // PPC64LE:#define __LDBL_DIG__ 31
   1792 // PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   1793 // PPC64LE:#define __LDBL_HAS_DENORM__ 1
   1794 // PPC64LE:#define __LDBL_HAS_INFINITY__ 1
   1795 // PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
   1796 // PPC64LE:#define __LDBL_MANT_DIG__ 106
   1797 // PPC64LE:#define __LDBL_MAX_10_EXP__ 308
   1798 // PPC64LE:#define __LDBL_MAX_EXP__ 1024
   1799 // PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   1800 // PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
   1801 // PPC64LE:#define __LDBL_MIN_EXP__ (-968)
   1802 // PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   1803 // PPC64LE:#define __LITTLE_ENDIAN__ 1
   1804 // PPC64LE:#define __LONG_DOUBLE_128__ 1
   1805 // PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1806 // PPC64LE:#define __LONG_MAX__ 9223372036854775807L
   1807 // PPC64LE:#define __LP64__ 1
   1808 // PPC64LE:#define __NATURAL_ALIGNMENT__ 1
   1809 // PPC64LE:#define __POINTER_WIDTH__ 64
   1810 // PPC64LE:#define __POWERPC__ 1
   1811 // PPC64LE:#define __PPC64__ 1
   1812 // PPC64LE:#define __PPC__ 1
   1813 // PPC64LE:#define __PTRDIFF_TYPE__ long int
   1814 // PPC64LE:#define __PTRDIFF_WIDTH__ 64
   1815 // PPC64LE:#define __REGISTER_PREFIX__
   1816 // PPC64LE:#define __SCHAR_MAX__ 127
   1817 // PPC64LE:#define __SHRT_MAX__ 32767
   1818 // PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
   1819 // PPC64LE:#define __SIZEOF_DOUBLE__ 8
   1820 // PPC64LE:#define __SIZEOF_FLOAT__ 4
   1821 // PPC64LE:#define __SIZEOF_INT__ 4
   1822 // PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
   1823 // PPC64LE:#define __SIZEOF_LONG_LONG__ 8
   1824 // PPC64LE:#define __SIZEOF_LONG__ 8
   1825 // PPC64LE:#define __SIZEOF_POINTER__ 8
   1826 // PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
   1827 // PPC64LE:#define __SIZEOF_SHORT__ 2
   1828 // PPC64LE:#define __SIZEOF_SIZE_T__ 8
   1829 // PPC64LE:#define __SIZEOF_WCHAR_T__ 4
   1830 // PPC64LE:#define __SIZEOF_WINT_T__ 4
   1831 // PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
   1832 // PPC64LE:#define __SIZE_TYPE__ long unsigned int
   1833 // PPC64LE:#define __SIZE_WIDTH__ 64
   1834 // PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
   1835 // PPC64LE:#define __USER_LABEL_PREFIX__ _
   1836 // PPC64LE:#define __WCHAR_MAX__ 2147483647
   1837 // PPC64LE:#define __WCHAR_TYPE__ int
   1838 // PPC64LE:#define __WCHAR_WIDTH__ 32
   1839 // PPC64LE:#define __WINT_TYPE__ int
   1840 // PPC64LE:#define __WINT_WIDTH__ 32
   1841 // PPC64LE:#define __ppc64__ 1
   1842 // PPC64LE:#define __ppc__ 1
   1843 //
   1844 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu a2q -fno-signed-char < /dev/null | FileCheck -check-prefix PPCA2Q %s
   1845 //
   1846 // PPCA2Q:#define _ARCH_A2 1
   1847 // PPCA2Q:#define _ARCH_A2Q 1
   1848 // PPCA2Q:#define _ARCH_PPC 1
   1849 // PPCA2Q:#define _ARCH_PPC64 1
   1850 // PPCA2Q:#define _ARCH_QP 1
   1851 //
   1852 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-bgq-linux -fno-signed-char < /dev/null | FileCheck -check-prefix PPCBGQ %s
   1853 //
   1854 // PPCBGQ:#define __THW_BLUEGENE__ 1
   1855 // PPCBGQ:#define __TOS_BGQ__ 1
   1856 // PPCBGQ:#define __bg__ 1
   1857 // PPCBGQ:#define __bgq__ 1
   1858 //
   1859 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC630 %s
   1860 //
   1861 // PPC630:#define _ARCH_630 1
   1862 // PPC630:#define _ARCH_PPC 1
   1863 // PPC630:#define _ARCH_PPC64 1
   1864 // PPC630:#define _ARCH_PPCGR 1
   1865 //
   1866 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR3 %s
   1867 //
   1868 // PPCPWR3:#define _ARCH_PPC 1
   1869 // PPCPWR3:#define _ARCH_PPC64 1
   1870 // PPCPWR3:#define _ARCH_PPCGR 1
   1871 //
   1872 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER3 %s
   1873 //
   1874 // PPCPOWER3:#define _ARCH_PPC 1
   1875 // PPCPOWER3:#define _ARCH_PPC64 1
   1876 // PPCPOWER3:#define _ARCH_PPCGR 1
   1877 //
   1878 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR4 %s
   1879 //
   1880 // PPCPWR4:#define _ARCH_PPC 1
   1881 // PPCPWR4:#define _ARCH_PPC64 1
   1882 // PPCPWR4:#define _ARCH_PPCGR 1
   1883 // PPCPWR4:#define _ARCH_PPCSQ 1
   1884 // PPCPWR4:#define _ARCH_PWR4 1
   1885 //
   1886 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER4 %s
   1887 //
   1888 // PPCPOWER4:#define _ARCH_PPC 1
   1889 // PPCPOWER4:#define _ARCH_PPC64 1
   1890 // PPCPOWER4:#define _ARCH_PPCGR 1
   1891 // PPCPOWER4:#define _ARCH_PPCSQ 1
   1892 // PPCPOWER4:#define _ARCH_PWR4 1
   1893 //
   1894 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5 %s
   1895 //
   1896 // PPCPWR5:#define _ARCH_PPC 1
   1897 // PPCPWR5:#define _ARCH_PPC64 1
   1898 // PPCPWR5:#define _ARCH_PPCGR 1
   1899 // PPCPWR5:#define _ARCH_PPCSQ 1
   1900 // PPCPWR5:#define _ARCH_PWR4 1
   1901 // PPCPWR5:#define _ARCH_PWR5 1
   1902 //
   1903 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5 %s
   1904 //
   1905 // PPCPOWER5:#define _ARCH_PPC 1
   1906 // PPCPOWER5:#define _ARCH_PPC64 1
   1907 // PPCPOWER5:#define _ARCH_PPCGR 1
   1908 // PPCPOWER5:#define _ARCH_PPCSQ 1
   1909 // PPCPOWER5:#define _ARCH_PWR4 1
   1910 // PPCPOWER5:#define _ARCH_PWR5 1
   1911 //
   1912 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR5X %s
   1913 //
   1914 // PPCPWR5X:#define _ARCH_PPC 1
   1915 // PPCPWR5X:#define _ARCH_PPC64 1
   1916 // PPCPWR5X:#define _ARCH_PPCGR 1
   1917 // PPCPWR5X:#define _ARCH_PPCSQ 1
   1918 // PPCPWR5X:#define _ARCH_PWR4 1
   1919 // PPCPWR5X:#define _ARCH_PWR5 1
   1920 // PPCPWR5X:#define _ARCH_PWR5X 1
   1921 //
   1922 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER5X %s
   1923 //
   1924 // PPCPOWER5X:#define _ARCH_PPC 1
   1925 // PPCPOWER5X:#define _ARCH_PPC64 1
   1926 // PPCPOWER5X:#define _ARCH_PPCGR 1
   1927 // PPCPOWER5X:#define _ARCH_PPCSQ 1
   1928 // PPCPOWER5X:#define _ARCH_PWR4 1
   1929 // PPCPOWER5X:#define _ARCH_PWR5 1
   1930 // PPCPOWER5X:#define _ARCH_PWR5X 1
   1931 //
   1932 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6 %s
   1933 //
   1934 // PPCPWR6:#define _ARCH_PPC 1
   1935 // PPCPWR6:#define _ARCH_PPC64 1
   1936 // PPCPWR6:#define _ARCH_PPCGR 1
   1937 // PPCPWR6:#define _ARCH_PPCSQ 1
   1938 // PPCPWR6:#define _ARCH_PWR4 1
   1939 // PPCPWR6:#define _ARCH_PWR5 1
   1940 // PPCPWR6:#define _ARCH_PWR5X 1
   1941 // PPCPWR6:#define _ARCH_PWR6 1
   1942 //
   1943 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6 %s
   1944 //
   1945 // PPCPOWER6:#define _ARCH_PPC 1
   1946 // PPCPOWER6:#define _ARCH_PPC64 1
   1947 // PPCPOWER6:#define _ARCH_PPCGR 1
   1948 // PPCPOWER6:#define _ARCH_PPCSQ 1
   1949 // PPCPOWER6:#define _ARCH_PWR4 1
   1950 // PPCPOWER6:#define _ARCH_PWR5 1
   1951 // PPCPOWER6:#define _ARCH_PWR5X 1
   1952 // PPCPOWER6:#define _ARCH_PWR6 1
   1953 //
   1954 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR6X %s
   1955 //
   1956 // PPCPWR6X:#define _ARCH_PPC 1
   1957 // PPCPWR6X:#define _ARCH_PPC64 1
   1958 // PPCPWR6X:#define _ARCH_PPCGR 1
   1959 // PPCPWR6X:#define _ARCH_PPCSQ 1
   1960 // PPCPWR6X:#define _ARCH_PWR4 1
   1961 // PPCPWR6X:#define _ARCH_PWR5 1
   1962 // PPCPWR6X:#define _ARCH_PWR5X 1
   1963 // PPCPWR6X:#define _ARCH_PWR6 1
   1964 // PPCPWR6X:#define _ARCH_PWR6X 1
   1965 //
   1966 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER6X %s
   1967 //
   1968 // PPCPOWER6X:#define _ARCH_PPC 1
   1969 // PPCPOWER6X:#define _ARCH_PPC64 1
   1970 // PPCPOWER6X:#define _ARCH_PPCGR 1
   1971 // PPCPOWER6X:#define _ARCH_PPCSQ 1
   1972 // PPCPOWER6X:#define _ARCH_PWR4 1
   1973 // PPCPOWER6X:#define _ARCH_PWR5 1
   1974 // PPCPOWER6X:#define _ARCH_PWR5X 1
   1975 // PPCPOWER6X:#define _ARCH_PWR6 1
   1976 // PPCPOWER6X:#define _ARCH_PWR6X 1
   1977 //
   1978 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPWR7 %s
   1979 //
   1980 // PPCPWR7:#define _ARCH_PPC 1
   1981 // PPCPWR7:#define _ARCH_PPC64 1
   1982 // PPCPWR7:#define _ARCH_PPCGR 1
   1983 // PPCPWR7:#define _ARCH_PPCSQ 1
   1984 // PPCPWR7:#define _ARCH_PWR4 1
   1985 // PPCPWR7:#define _ARCH_PWR5 1
   1986 // PPCPWR7:#define _ARCH_PWR5X 1
   1987 // PPCPWR7:#define _ARCH_PWR6 1
   1988 // PPCPWR7:#define _ARCH_PWR6X 1
   1989 // PPCPWR7:#define _ARCH_PWR7 1
   1990 //
   1991 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -check-prefix PPCPOWER7 %s
   1992 //
   1993 // PPCPOWER7:#define _ARCH_PPC 1
   1994 // PPCPOWER7:#define _ARCH_PPC64 1
   1995 // PPCPOWER7:#define _ARCH_PPCGR 1
   1996 // PPCPOWER7:#define _ARCH_PPCSQ 1
   1997 // PPCPOWER7:#define _ARCH_PWR4 1
   1998 // PPCPOWER7:#define _ARCH_PWR5 1
   1999 // PPCPOWER7:#define _ARCH_PWR5X 1
   2000 // PPCPOWER7:#define _ARCH_PWR6 1
   2001 // PPCPOWER7:#define _ARCH_PWR6X 1
   2002 // PPCPOWER7:#define _ARCH_PWR7 1
   2003 //
   2004 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
   2005 //
   2006 // PPC64-LINUX:#define _ARCH_PPC 1
   2007 // PPC64-LINUX:#define _ARCH_PPC64 1
   2008 // PPC64-LINUX:#define _BIG_ENDIAN 1
   2009 // PPC64-LINUX:#define _LP64 1
   2010 // PPC64-LINUX:#define __BIG_ENDIAN__ 1
   2011 // PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   2012 // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
   2013 // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
   2014 // PPC64-LINUX:#define __CHAR_BIT__ 8
   2015 // PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
   2016 // PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2017 // PPC64-LINUX:#define __DBL_DIG__ 15
   2018 // PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2019 // PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
   2020 // PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
   2021 // PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
   2022 // PPC64-LINUX:#define __DBL_MANT_DIG__ 53
   2023 // PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
   2024 // PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
   2025 // PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
   2026 // PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
   2027 // PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
   2028 // PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
   2029 // PPC64-LINUX:#define __DECIMAL_DIG__ 33
   2030 // PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2031 // PPC64-LINUX:#define __FLT_DIG__ 6
   2032 // PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
   2033 // PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
   2034 // PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
   2035 // PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
   2036 // PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
   2037 // PPC64-LINUX:#define __FLT_MANT_DIG__ 24
   2038 // PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
   2039 // PPC64-LINUX:#define __FLT_MAX_EXP__ 128
   2040 // PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
   2041 // PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
   2042 // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
   2043 // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
   2044 // PPC64-LINUX:#define __FLT_RADIX__ 2
   2045 // PPC64-LINUX:#define __INT16_TYPE__ short
   2046 // PPC64-LINUX:#define __INT32_TYPE__ int
   2047 // PPC64-LINUX:#define __INT64_C_SUFFIX__ L
   2048 // PPC64-LINUX:#define __INT64_TYPE__ long int
   2049 // PPC64-LINUX:#define __INT8_TYPE__ char
   2050 // PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
   2051 // PPC64-LINUX:#define __INTMAX_TYPE__ long int
   2052 // PPC64-LINUX:#define __INTMAX_WIDTH__ 64
   2053 // PPC64-LINUX:#define __INTPTR_TYPE__ long int
   2054 // PPC64-LINUX:#define __INTPTR_WIDTH__ 64
   2055 // PPC64-LINUX:#define __INT_MAX__ 2147483647
   2056 // PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   2057 // PPC64-LINUX:#define __LDBL_DIG__ 31
   2058 // PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   2059 // PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
   2060 // PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
   2061 // PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
   2062 // PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
   2063 // PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
   2064 // PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
   2065 // PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   2066 // PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
   2067 // PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
   2068 // PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   2069 // PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
   2070 // PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2071 // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
   2072 // PPC64-LINUX:#define __LP64__ 1
   2073 // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
   2074 // PPC64-LINUX:#define __POINTER_WIDTH__ 64
   2075 // PPC64-LINUX:#define __POWERPC__ 1
   2076 // PPC64-LINUX:#define __PPC64__ 1
   2077 // PPC64-LINUX:#define __PPC__ 1
   2078 // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
   2079 // PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
   2080 // PPC64-LINUX:#define __REGISTER_PREFIX__
   2081 // PPC64-LINUX:#define __SCHAR_MAX__ 127
   2082 // PPC64-LINUX:#define __SHRT_MAX__ 32767
   2083 // PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
   2084 // PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
   2085 // PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
   2086 // PPC64-LINUX:#define __SIZEOF_INT__ 4
   2087 // PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
   2088 // PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
   2089 // PPC64-LINUX:#define __SIZEOF_LONG__ 8
   2090 // PPC64-LINUX:#define __SIZEOF_POINTER__ 8
   2091 // PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
   2092 // PPC64-LINUX:#define __SIZEOF_SHORT__ 2
   2093 // PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
   2094 // PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
   2095 // PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
   2096 // PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
   2097 // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
   2098 // PPC64-LINUX:#define __SIZE_WIDTH__ 64
   2099 // PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
   2100 // PPC64-LINUX:#define __USER_LABEL_PREFIX__
   2101 // PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
   2102 // PPC64-LINUX:#define __WCHAR_TYPE__ int
   2103 // PPC64-LINUX:#define __WCHAR_WIDTH__ 32
   2104 // PPC64-LINUX:#define __WINT_TYPE__ unsigned int
   2105 // PPC64-LINUX:#define __WINT_UNSIGNED__ 1
   2106 // PPC64-LINUX:#define __WINT_WIDTH__ 32
   2107 // PPC64-LINUX:#define __powerpc64__ 1
   2108 // PPC64-LINUX:#define __powerpc__ 1
   2109 // PPC64-LINUX:#define __ppc64__ 1
   2110 // PPC64-LINUX:#define __ppc__ 1
   2111 //
   2112 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
   2113 //
   2114 // PPC:#define _ARCH_PPC 1
   2115 // PPC:#define _BIG_ENDIAN 1
   2116 // PPC-NOT:#define _LP64
   2117 // PPC:#define __BIG_ENDIAN__ 1
   2118 // PPC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   2119 // PPC:#define __CHAR16_TYPE__ unsigned short
   2120 // PPC:#define __CHAR32_TYPE__ unsigned int
   2121 // PPC:#define __CHAR_BIT__ 8
   2122 // PPC:#define __CHAR_UNSIGNED__ 1
   2123 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2124 // PPC:#define __DBL_DIG__ 15
   2125 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2126 // PPC:#define __DBL_HAS_DENORM__ 1
   2127 // PPC:#define __DBL_HAS_INFINITY__ 1
   2128 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
   2129 // PPC:#define __DBL_MANT_DIG__ 53
   2130 // PPC:#define __DBL_MAX_10_EXP__ 308
   2131 // PPC:#define __DBL_MAX_EXP__ 1024
   2132 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
   2133 // PPC:#define __DBL_MIN_10_EXP__ (-307)
   2134 // PPC:#define __DBL_MIN_EXP__ (-1021)
   2135 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
   2136 // PPC:#define __DECIMAL_DIG__ 33
   2137 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2138 // PPC:#define __FLT_DIG__ 6
   2139 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
   2140 // PPC:#define __FLT_EVAL_METHOD__ 0
   2141 // PPC:#define __FLT_HAS_DENORM__ 1
   2142 // PPC:#define __FLT_HAS_INFINITY__ 1
   2143 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
   2144 // PPC:#define __FLT_MANT_DIG__ 24
   2145 // PPC:#define __FLT_MAX_10_EXP__ 38
   2146 // PPC:#define __FLT_MAX_EXP__ 128
   2147 // PPC:#define __FLT_MAX__ 3.40282347e+38F
   2148 // PPC:#define __FLT_MIN_10_EXP__ (-37)
   2149 // PPC:#define __FLT_MIN_EXP__ (-125)
   2150 // PPC:#define __FLT_MIN__ 1.17549435e-38F
   2151 // PPC:#define __FLT_RADIX__ 2
   2152 // PPC:#define __INT16_TYPE__ short
   2153 // PPC:#define __INT32_TYPE__ int
   2154 // PPC:#define __INT64_C_SUFFIX__ LL
   2155 // PPC:#define __INT64_TYPE__ long long int
   2156 // PPC:#define __INT8_TYPE__ char
   2157 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
   2158 // PPC:#define __INTMAX_TYPE__ long long int
   2159 // PPC:#define __INTMAX_WIDTH__ 64
   2160 // PPC:#define __INTPTR_TYPE__ long int
   2161 // PPC:#define __INTPTR_WIDTH__ 32
   2162 // PPC:#define __INT_MAX__ 2147483647
   2163 // PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   2164 // PPC:#define __LDBL_DIG__ 31
   2165 // PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   2166 // PPC:#define __LDBL_HAS_DENORM__ 1
   2167 // PPC:#define __LDBL_HAS_INFINITY__ 1
   2168 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
   2169 // PPC:#define __LDBL_MANT_DIG__ 106
   2170 // PPC:#define __LDBL_MAX_10_EXP__ 308
   2171 // PPC:#define __LDBL_MAX_EXP__ 1024
   2172 // PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   2173 // PPC:#define __LDBL_MIN_10_EXP__ (-291)
   2174 // PPC:#define __LDBL_MIN_EXP__ (-968)
   2175 // PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   2176 // PPC:#define __LONG_DOUBLE_128__ 1
   2177 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2178 // PPC:#define __LONG_MAX__ 2147483647L
   2179 // PPC-NOT:#define __LP64__
   2180 // PPC:#define __NATURAL_ALIGNMENT__ 1
   2181 // PPC:#define __POINTER_WIDTH__ 32
   2182 // PPC:#define __POWERPC__ 1
   2183 // PPC:#define __PPC__ 1
   2184 // PPC:#define __PTRDIFF_TYPE__ long int
   2185 // PPC:#define __PTRDIFF_WIDTH__ 32
   2186 // PPC:#define __REGISTER_PREFIX__
   2187 // PPC:#define __SCHAR_MAX__ 127
   2188 // PPC:#define __SHRT_MAX__ 32767
   2189 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
   2190 // PPC:#define __SIZEOF_DOUBLE__ 8
   2191 // PPC:#define __SIZEOF_FLOAT__ 4
   2192 // PPC:#define __SIZEOF_INT__ 4
   2193 // PPC:#define __SIZEOF_LONG_DOUBLE__ 16
   2194 // PPC:#define __SIZEOF_LONG_LONG__ 8
   2195 // PPC:#define __SIZEOF_LONG__ 4
   2196 // PPC:#define __SIZEOF_POINTER__ 4
   2197 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
   2198 // PPC:#define __SIZEOF_SHORT__ 2
   2199 // PPC:#define __SIZEOF_SIZE_T__ 4
   2200 // PPC:#define __SIZEOF_WCHAR_T__ 4
   2201 // PPC:#define __SIZEOF_WINT_T__ 4
   2202 // PPC:#define __SIZE_MAX__ 4294967295U
   2203 // PPC:#define __SIZE_TYPE__ long unsigned int
   2204 // PPC:#define __SIZE_WIDTH__ 32
   2205 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
   2206 // PPC:#define __USER_LABEL_PREFIX__ _
   2207 // PPC:#define __WCHAR_MAX__ 2147483647
   2208 // PPC:#define __WCHAR_TYPE__ int
   2209 // PPC:#define __WCHAR_WIDTH__ 32
   2210 // PPC:#define __WINT_TYPE__ int
   2211 // PPC:#define __WINT_WIDTH__ 32
   2212 // PPC:#define __ppc__ 1
   2213 //
   2214 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
   2215 //
   2216 // PPC-LINUX:#define _ARCH_PPC 1
   2217 // PPC-LINUX:#define _BIG_ENDIAN 1
   2218 // PPC-LINUX-NOT:#define _LP64
   2219 // PPC-LINUX:#define __BIG_ENDIAN__ 1
   2220 // PPC-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   2221 // PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
   2222 // PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
   2223 // PPC-LINUX:#define __CHAR_BIT__ 8
   2224 // PPC-LINUX:#define __CHAR_UNSIGNED__ 1
   2225 // PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2226 // PPC-LINUX:#define __DBL_DIG__ 15
   2227 // PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2228 // PPC-LINUX:#define __DBL_HAS_DENORM__ 1
   2229 // PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
   2230 // PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
   2231 // PPC-LINUX:#define __DBL_MANT_DIG__ 53
   2232 // PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
   2233 // PPC-LINUX:#define __DBL_MAX_EXP__ 1024
   2234 // PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
   2235 // PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
   2236 // PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
   2237 // PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
   2238 // PPC-LINUX:#define __DECIMAL_DIG__ 33
   2239 // PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2240 // PPC-LINUX:#define __FLT_DIG__ 6
   2241 // PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
   2242 // PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
   2243 // PPC-LINUX:#define __FLT_HAS_DENORM__ 1
   2244 // PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
   2245 // PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
   2246 // PPC-LINUX:#define __FLT_MANT_DIG__ 24
   2247 // PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
   2248 // PPC-LINUX:#define __FLT_MAX_EXP__ 128
   2249 // PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
   2250 // PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
   2251 // PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
   2252 // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
   2253 // PPC-LINUX:#define __FLT_RADIX__ 2
   2254 // PPC-LINUX:#define __INT16_TYPE__ short
   2255 // PPC-LINUX:#define __INT32_TYPE__ int
   2256 // PPC-LINUX:#define __INT64_C_SUFFIX__ LL
   2257 // PPC-LINUX:#define __INT64_TYPE__ long long int
   2258 // PPC-LINUX:#define __INT8_TYPE__ char
   2259 // PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
   2260 // PPC-LINUX:#define __INTMAX_TYPE__ long long int
   2261 // PPC-LINUX:#define __INTMAX_WIDTH__ 64
   2262 // PPC-LINUX:#define __INTPTR_TYPE__ int
   2263 // PPC-LINUX:#define __INTPTR_WIDTH__ 32
   2264 // PPC-LINUX:#define __INT_MAX__ 2147483647
   2265 // PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   2266 // PPC-LINUX:#define __LDBL_DIG__ 31
   2267 // PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   2268 // PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
   2269 // PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
   2270 // PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
   2271 // PPC-LINUX:#define __LDBL_MANT_DIG__ 106
   2272 // PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
   2273 // PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
   2274 // PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   2275 // PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
   2276 // PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
   2277 // PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   2278 // PPC-LINUX:#define __LONG_DOUBLE_128__ 1
   2279 // PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2280 // PPC-LINUX:#define __LONG_MAX__ 2147483647L
   2281 // PPC-LINUX-NOT:#define __LP64__
   2282 // PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
   2283 // PPC-LINUX:#define __POINTER_WIDTH__ 32
   2284 // PPC-LINUX:#define __POWERPC__ 1
   2285 // PPC-LINUX:#define __PPC__ 1
   2286 // PPC-LINUX:#define __PTRDIFF_TYPE__ int
   2287 // PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
   2288 // PPC-LINUX:#define __REGISTER_PREFIX__
   2289 // PPC-LINUX:#define __SCHAR_MAX__ 127
   2290 // PPC-LINUX:#define __SHRT_MAX__ 32767
   2291 // PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
   2292 // PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
   2293 // PPC-LINUX:#define __SIZEOF_FLOAT__ 4
   2294 // PPC-LINUX:#define __SIZEOF_INT__ 4
   2295 // PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
   2296 // PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
   2297 // PPC-LINUX:#define __SIZEOF_LONG__ 4
   2298 // PPC-LINUX:#define __SIZEOF_POINTER__ 4
   2299 // PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
   2300 // PPC-LINUX:#define __SIZEOF_SHORT__ 2
   2301 // PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
   2302 // PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
   2303 // PPC-LINUX:#define __SIZEOF_WINT_T__ 4
   2304 // PPC-LINUX:#define __SIZE_MAX__ 4294967295U
   2305 // PPC-LINUX:#define __SIZE_TYPE__ unsigned int
   2306 // PPC-LINUX:#define __SIZE_WIDTH__ 32
   2307 // PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
   2308 // PPC-LINUX:#define __USER_LABEL_PREFIX__
   2309 // PPC-LINUX:#define __WCHAR_MAX__ 2147483647
   2310 // PPC-LINUX:#define __WCHAR_TYPE__ int
   2311 // PPC-LINUX:#define __WCHAR_WIDTH__ 32
   2312 // PPC-LINUX:#define __WINT_TYPE__ unsigned int
   2313 // PPC-LINUX:#define __WINT_UNSIGNED__ 1
   2314 // PPC-LINUX:#define __WINT_WIDTH__ 32
   2315 // PPC-LINUX:#define __powerpc__ 1
   2316 // PPC-LINUX:#define __ppc__ 1
   2317 //
   2318 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-apple-darwin8 < /dev/null | FileCheck -check-prefix PPC-DARWIN %s
   2319 //
   2320 // PPC-DARWIN:#define _ARCH_PPC 1
   2321 // PPC-DARWIN:#define _BIG_ENDIAN 1
   2322 // PPC-DARWIN:#define __BIG_ENDIAN__ 1
   2323 // PPC-DARWIN:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   2324 // PPC-DARWIN:#define __CHAR16_TYPE__ unsigned short
   2325 // PPC-DARWIN:#define __CHAR32_TYPE__ unsigned int
   2326 // PPC-DARWIN:#define __CHAR_BIT__ 8
   2327 // PPC-DARWIN:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2328 // PPC-DARWIN:#define __DBL_DIG__ 15
   2329 // PPC-DARWIN:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2330 // PPC-DARWIN:#define __DBL_HAS_DENORM__ 1
   2331 // PPC-DARWIN:#define __DBL_HAS_INFINITY__ 1
   2332 // PPC-DARWIN:#define __DBL_HAS_QUIET_NAN__ 1
   2333 // PPC-DARWIN:#define __DBL_MANT_DIG__ 53
   2334 // PPC-DARWIN:#define __DBL_MAX_10_EXP__ 308
   2335 // PPC-DARWIN:#define __DBL_MAX_EXP__ 1024
   2336 // PPC-DARWIN:#define __DBL_MAX__ 1.7976931348623157e+308
   2337 // PPC-DARWIN:#define __DBL_MIN_10_EXP__ (-307)
   2338 // PPC-DARWIN:#define __DBL_MIN_EXP__ (-1021)
   2339 // PPC-DARWIN:#define __DBL_MIN__ 2.2250738585072014e-308
   2340 // PPC-DARWIN:#define __DECIMAL_DIG__ 33
   2341 // PPC-DARWIN:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2342 // PPC-DARWIN:#define __FLT_DIG__ 6
   2343 // PPC-DARWIN:#define __FLT_EPSILON__ 1.19209290e-7F
   2344 // PPC-DARWIN:#define __FLT_EVAL_METHOD__ 0
   2345 // PPC-DARWIN:#define __FLT_HAS_DENORM__ 1
   2346 // PPC-DARWIN:#define __FLT_HAS_INFINITY__ 1
   2347 // PPC-DARWIN:#define __FLT_HAS_QUIET_NAN__ 1
   2348 // PPC-DARWIN:#define __FLT_MANT_DIG__ 24
   2349 // PPC-DARWIN:#define __FLT_MAX_10_EXP__ 38
   2350 // PPC-DARWIN:#define __FLT_MAX_EXP__ 128
   2351 // PPC-DARWIN:#define __FLT_MAX__ 3.40282347e+38F
   2352 // PPC-DARWIN:#define __FLT_MIN_10_EXP__ (-37)
   2353 // PPC-DARWIN:#define __FLT_MIN_EXP__ (-125)
   2354 // PPC-DARWIN:#define __FLT_MIN__ 1.17549435e-38F
   2355 // PPC-DARWIN:#define __FLT_RADIX__ 2
   2356 // PPC-DARWIN:#define __INT16_TYPE__ short
   2357 // PPC-DARWIN:#define __INT32_TYPE__ int
   2358 // PPC-DARWIN:#define __INT64_C_SUFFIX__ LL
   2359 // PPC-DARWIN:#define __INT64_TYPE__ long long int
   2360 // PPC-DARWIN:#define __INT8_TYPE__ char
   2361 // PPC-DARWIN:#define __INTMAX_MAX__ 9223372036854775807LL
   2362 // PPC-DARWIN:#define __INTMAX_TYPE__ long long int
   2363 // PPC-DARWIN:#define __INTMAX_WIDTH__ 64
   2364 // PPC-DARWIN:#define __INTPTR_TYPE__ long int
   2365 // PPC-DARWIN:#define __INTPTR_WIDTH__ 32
   2366 // PPC-DARWIN:#define __INT_MAX__ 2147483647
   2367 // PPC-DARWIN:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   2368 // PPC-DARWIN:#define __LDBL_DIG__ 31
   2369 // PPC-DARWIN:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   2370 // PPC-DARWIN:#define __LDBL_HAS_DENORM__ 1
   2371 // PPC-DARWIN:#define __LDBL_HAS_INFINITY__ 1
   2372 // PPC-DARWIN:#define __LDBL_HAS_QUIET_NAN__ 1
   2373 // PPC-DARWIN:#define __LDBL_MANT_DIG__ 106
   2374 // PPC-DARWIN:#define __LDBL_MAX_10_EXP__ 308
   2375 // PPC-DARWIN:#define __LDBL_MAX_EXP__ 1024
   2376 // PPC-DARWIN:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   2377 // PPC-DARWIN:#define __LDBL_MIN_10_EXP__ (-291)
   2378 // PPC-DARWIN:#define __LDBL_MIN_EXP__ (-968)
   2379 // PPC-DARWIN:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   2380 // PPC-DARWIN:#define __LONG_DOUBLE_128__ 1
   2381 // PPC-DARWIN:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2382 // PPC-DARWIN:#define __LONG_MAX__ 2147483647L
   2383 // PPC-DARWIN:#define __MACH__ 1
   2384 // PPC-DARWIN:#define __NATURAL_ALIGNMENT__ 1
   2385 // PPC-DARWIN:#define __ORDER_BIG_ENDIAN__ 4321
   2386 // PPC-DARWIN:#define __ORDER_LITTLE_ENDIAN__ 1234
   2387 // PPC-DARWIN:#define __ORDER_PDP_ENDIAN__ 3412
   2388 // PPC-DARWIN:#define __POINTER_WIDTH__ 32
   2389 // PPC-DARWIN:#define __POWERPC__ 1
   2390 // PPC-DARWIN:#define __PPC__ 1
   2391 // PPC-DARWIN:#define __PTRDIFF_TYPE__ int
   2392 // PPC-DARWIN:#define __PTRDIFF_WIDTH__ 32
   2393 // PPC-DARWIN:#define __REGISTER_PREFIX__
   2394 // PPC-DARWIN:#define __SCHAR_MAX__ 127
   2395 // PPC-DARWIN:#define __SHRT_MAX__ 32767
   2396 // PPC-DARWIN:#define __SIG_ATOMIC_WIDTH__ 32
   2397 // PPC-DARWIN:#define __SIZEOF_DOUBLE__ 8
   2398 // PPC-DARWIN:#define __SIZEOF_FLOAT__ 4
   2399 // PPC-DARWIN:#define __SIZEOF_INT__ 4
   2400 // PPC-DARWIN:#define __SIZEOF_LONG_DOUBLE__ 16
   2401 // PPC-DARWIN:#define __SIZEOF_LONG_LONG__ 8
   2402 // PPC-DARWIN:#define __SIZEOF_LONG__ 4
   2403 // PPC-DARWIN:#define __SIZEOF_POINTER__ 4
   2404 // PPC-DARWIN:#define __SIZEOF_PTRDIFF_T__ 4
   2405 // PPC-DARWIN:#define __SIZEOF_SHORT__ 2
   2406 // PPC-DARWIN:#define __SIZEOF_SIZE_T__ 4
   2407 // PPC-DARWIN:#define __SIZEOF_WCHAR_T__ 4
   2408 // PPC-DARWIN:#define __SIZEOF_WINT_T__ 4
   2409 // PPC-DARWIN:#define __SIZE_MAX__ 4294967295UL
   2410 // PPC-DARWIN:#define __SIZE_TYPE__ long unsigned int
   2411 // PPC-DARWIN:#define __SIZE_WIDTH__ 32
   2412 // PPC-DARWIN:#define __STDC_HOSTED__ 0
   2413 // PPC-DARWIN:#define __STDC_VERSION__ 199901L
   2414 // PPC-DARWIN:#define __STDC__ 1
   2415 // PPC-DARWIN:#define __UINTMAX_TYPE__ long long unsigned int
   2416 // PPC-DARWIN:#define __USER_LABEL_PREFIX__ _
   2417 // PPC-DARWIN:#define __WCHAR_MAX__ 2147483647
   2418 // PPC-DARWIN:#define __WCHAR_TYPE__ int
   2419 // PPC-DARWIN:#define __WCHAR_WIDTH__ 32
   2420 // PPC-DARWIN:#define __WINT_TYPE__ int
   2421 // PPC-DARWIN:#define __WINT_WIDTH__ 32
   2422 // PPC-DARWIN:#define __powerpc__ 1
   2423 // PPC-DARWIN:#define __ppc__ 1
   2424 //
   2425 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=s390x-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix S390X %s
   2426 //
   2427 // S390X:#define __CHAR16_TYPE__ unsigned short
   2428 // S390X:#define __CHAR32_TYPE__ unsigned int
   2429 // S390X:#define __CHAR_BIT__ 8
   2430 // S390X:#define __CHAR_UNSIGNED__ 1
   2431 // S390X:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2432 // S390X:#define __DBL_DIG__ 15
   2433 // S390X:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2434 // S390X:#define __DBL_HAS_DENORM__ 1
   2435 // S390X:#define __DBL_HAS_INFINITY__ 1
   2436 // S390X:#define __DBL_HAS_QUIET_NAN__ 1
   2437 // S390X:#define __DBL_MANT_DIG__ 53
   2438 // S390X:#define __DBL_MAX_10_EXP__ 308
   2439 // S390X:#define __DBL_MAX_EXP__ 1024
   2440 // S390X:#define __DBL_MAX__ 1.7976931348623157e+308
   2441 // S390X:#define __DBL_MIN_10_EXP__ (-307)
   2442 // S390X:#define __DBL_MIN_EXP__ (-1021)
   2443 // S390X:#define __DBL_MIN__ 2.2250738585072014e-308
   2444 // S390X:#define __DECIMAL_DIG__ 36
   2445 // S390X:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2446 // S390X:#define __FLT_DIG__ 6
   2447 // S390X:#define __FLT_EPSILON__ 1.19209290e-7F
   2448 // S390X:#define __FLT_EVAL_METHOD__ 0
   2449 // S390X:#define __FLT_HAS_DENORM__ 1
   2450 // S390X:#define __FLT_HAS_INFINITY__ 1
   2451 // S390X:#define __FLT_HAS_QUIET_NAN__ 1
   2452 // S390X:#define __FLT_MANT_DIG__ 24
   2453 // S390X:#define __FLT_MAX_10_EXP__ 38
   2454 // S390X:#define __FLT_MAX_EXP__ 128
   2455 // S390X:#define __FLT_MAX__ 3.40282347e+38F
   2456 // S390X:#define __FLT_MIN_10_EXP__ (-37)
   2457 // S390X:#define __FLT_MIN_EXP__ (-125)
   2458 // S390X:#define __FLT_MIN__ 1.17549435e-38F
   2459 // S390X:#define __FLT_RADIX__ 2
   2460 // S390X:#define __INT16_TYPE__ short
   2461 // S390X:#define __INT32_TYPE__ int
   2462 // S390X:#define __INT64_C_SUFFIX__ L
   2463 // S390X:#define __INT64_TYPE__ long long int
   2464 // S390X:#define __INT8_TYPE__ char
   2465 // S390X:#define __INTMAX_MAX__ 9223372036854775807LL
   2466 // S390X:#define __INTMAX_TYPE__ long long int
   2467 // S390X:#define __INTMAX_WIDTH__ 64
   2468 // S390X:#define __INTPTR_TYPE__ long int
   2469 // S390X:#define __INTPTR_WIDTH__ 64
   2470 // S390X:#define __INT_MAX__ 2147483647
   2471 // S390X:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
   2472 // S390X:#define __LDBL_DIG__ 33
   2473 // S390X:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
   2474 // S390X:#define __LDBL_HAS_DENORM__ 1
   2475 // S390X:#define __LDBL_HAS_INFINITY__ 1
   2476 // S390X:#define __LDBL_HAS_QUIET_NAN__ 1
   2477 // S390X:#define __LDBL_MANT_DIG__ 113
   2478 // S390X:#define __LDBL_MAX_10_EXP__ 4932
   2479 // S390X:#define __LDBL_MAX_EXP__ 16384
   2480 // S390X:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
   2481 // S390X:#define __LDBL_MIN_10_EXP__ (-4931)
   2482 // S390X:#define __LDBL_MIN_EXP__ (-16381)
   2483 // S390X:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
   2484 // S390X:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2485 // S390X:#define __LONG_MAX__ 9223372036854775807L
   2486 // S390X:#define __NO_INLINE__ 1
   2487 // S390X:#define __POINTER_WIDTH__ 64
   2488 // S390X:#define __PTRDIFF_TYPE__ long int
   2489 // S390X:#define __PTRDIFF_WIDTH__ 64
   2490 // S390X:#define __SCHAR_MAX__ 127
   2491 // S390X:#define __SHRT_MAX__ 32767
   2492 // S390X:#define __SIG_ATOMIC_WIDTH__ 32
   2493 // S390X:#define __SIZEOF_DOUBLE__ 8
   2494 // S390X:#define __SIZEOF_FLOAT__ 4
   2495 // S390X:#define __SIZEOF_INT__ 4
   2496 // S390X:#define __SIZEOF_LONG_DOUBLE__ 16
   2497 // S390X:#define __SIZEOF_LONG_LONG__ 8
   2498 // S390X:#define __SIZEOF_LONG__ 8
   2499 // S390X:#define __SIZEOF_POINTER__ 8
   2500 // S390X:#define __SIZEOF_PTRDIFF_T__ 8
   2501 // S390X:#define __SIZEOF_SHORT__ 2
   2502 // S390X:#define __SIZEOF_SIZE_T__ 8
   2503 // S390X:#define __SIZEOF_WCHAR_T__ 4
   2504 // S390X:#define __SIZEOF_WINT_T__ 4
   2505 // S390X:#define __SIZE_TYPE__ long unsigned int
   2506 // S390X:#define __SIZE_WIDTH__ 64
   2507 // S390X:#define __UINTMAX_TYPE__ long long unsigned int
   2508 // S390X:#define __USER_LABEL_PREFIX__ _
   2509 // S390X:#define __WCHAR_MAX__ 2147483647
   2510 // S390X:#define __WCHAR_TYPE__ int
   2511 // S390X:#define __WCHAR_WIDTH__ 32
   2512 // S390X:#define __WINT_TYPE__ int
   2513 // S390X:#define __WINT_WIDTH__ 32
   2514 // S390X:#define __s390__ 1
   2515 // S390X:#define __s390x__ 1
   2516 //
   2517 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
   2518 //
   2519 // SPARC-NOT:#define _LP64
   2520 // SPARC:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   2521 // SPARC:#define __CHAR16_TYPE__ unsigned short
   2522 // SPARC:#define __CHAR32_TYPE__ unsigned int
   2523 // SPARC:#define __CHAR_BIT__ 8
   2524 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2525 // SPARC:#define __DBL_DIG__ 15
   2526 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2527 // SPARC:#define __DBL_HAS_DENORM__ 1
   2528 // SPARC:#define __DBL_HAS_INFINITY__ 1
   2529 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
   2530 // SPARC:#define __DBL_MANT_DIG__ 53
   2531 // SPARC:#define __DBL_MAX_10_EXP__ 308
   2532 // SPARC:#define __DBL_MAX_EXP__ 1024
   2533 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
   2534 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
   2535 // SPARC:#define __DBL_MIN_EXP__ (-1021)
   2536 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
   2537 // SPARC:#define __DECIMAL_DIG__ 17
   2538 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2539 // SPARC:#define __FLT_DIG__ 6
   2540 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
   2541 // SPARC:#define __FLT_EVAL_METHOD__ 0
   2542 // SPARC:#define __FLT_HAS_DENORM__ 1
   2543 // SPARC:#define __FLT_HAS_INFINITY__ 1
   2544 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
   2545 // SPARC:#define __FLT_MANT_DIG__ 24
   2546 // SPARC:#define __FLT_MAX_10_EXP__ 38
   2547 // SPARC:#define __FLT_MAX_EXP__ 128
   2548 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
   2549 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
   2550 // SPARC:#define __FLT_MIN_EXP__ (-125)
   2551 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
   2552 // SPARC:#define __FLT_RADIX__ 2
   2553 // SPARC:#define __INT16_TYPE__ short
   2554 // SPARC:#define __INT32_TYPE__ int
   2555 // SPARC:#define __INT64_C_SUFFIX__ LL
   2556 // SPARC:#define __INT64_TYPE__ long long int
   2557 // SPARC:#define __INT8_TYPE__ char
   2558 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
   2559 // SPARC:#define __INTMAX_TYPE__ long long int
   2560 // SPARC:#define __INTMAX_WIDTH__ 64
   2561 // SPARC:#define __INTPTR_TYPE__ long int
   2562 // SPARC:#define __INTPTR_WIDTH__ 32
   2563 // SPARC:#define __INT_MAX__ 2147483647
   2564 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
   2565 // SPARC:#define __LDBL_DIG__ 15
   2566 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
   2567 // SPARC:#define __LDBL_HAS_DENORM__ 1
   2568 // SPARC:#define __LDBL_HAS_INFINITY__ 1
   2569 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
   2570 // SPARC:#define __LDBL_MANT_DIG__ 53
   2571 // SPARC:#define __LDBL_MAX_10_EXP__ 308
   2572 // SPARC:#define __LDBL_MAX_EXP__ 1024
   2573 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308L
   2574 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
   2575 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
   2576 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308L
   2577 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2578 // SPARC:#define __LONG_MAX__ 2147483647L
   2579 // SPARC-NOT:#define __LP64__
   2580 // SPARC:#define __POINTER_WIDTH__ 32
   2581 // SPARC:#define __PTRDIFF_TYPE__ long int
   2582 // SPARC:#define __PTRDIFF_WIDTH__ 32
   2583 // SPARC:#define __REGISTER_PREFIX__
   2584 // SPARC:#define __SCHAR_MAX__ 127
   2585 // SPARC:#define __SHRT_MAX__ 32767
   2586 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
   2587 // SPARC:#define __SIZEOF_DOUBLE__ 8
   2588 // SPARC:#define __SIZEOF_FLOAT__ 4
   2589 // SPARC:#define __SIZEOF_INT__ 4
   2590 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
   2591 // SPARC:#define __SIZEOF_LONG_LONG__ 8
   2592 // SPARC:#define __SIZEOF_LONG__ 4
   2593 // SPARC:#define __SIZEOF_POINTER__ 4
   2594 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
   2595 // SPARC:#define __SIZEOF_SHORT__ 2
   2596 // SPARC:#define __SIZEOF_SIZE_T__ 4
   2597 // SPARC:#define __SIZEOF_WCHAR_T__ 4
   2598 // SPARC:#define __SIZEOF_WINT_T__ 4
   2599 // SPARC:#define __SIZE_MAX__ 4294967295U
   2600 // SPARC:#define __SIZE_TYPE__ long unsigned int
   2601 // SPARC:#define __SIZE_WIDTH__ 32
   2602 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
   2603 // SPARC:#define __USER_LABEL_PREFIX__ _
   2604 // SPARC:#define __VERSION__ "4.2.1 Compatible
   2605 // SPARC:#define __WCHAR_MAX__ 2147483647
   2606 // SPARC:#define __WCHAR_TYPE__ int
   2607 // SPARC:#define __WCHAR_WIDTH__ 32
   2608 // SPARC:#define __WINT_TYPE__ int
   2609 // SPARC:#define __WINT_WIDTH__ 32
   2610 // SPARC:#define __sparc 1
   2611 // SPARC:#define __sparc__ 1
   2612 // SPARC:#define __sparcv8 1
   2613 // SPARC:#define sparc 1
   2614 //
   2615 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
   2616 //
   2617 // TCE-NOT:#define _LP64
   2618 // TCE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
   2619 // TCE:#define __CHAR16_TYPE__ unsigned short
   2620 // TCE:#define __CHAR32_TYPE__ unsigned int
   2621 // TCE:#define __CHAR_BIT__ 8
   2622 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45
   2623 // TCE:#define __DBL_DIG__ 6
   2624 // TCE:#define __DBL_EPSILON__ 1.19209290e-7
   2625 // TCE:#define __DBL_HAS_DENORM__ 1
   2626 // TCE:#define __DBL_HAS_INFINITY__ 1
   2627 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
   2628 // TCE:#define __DBL_MANT_DIG__ 24
   2629 // TCE:#define __DBL_MAX_10_EXP__ 38
   2630 // TCE:#define __DBL_MAX_EXP__ 128
   2631 // TCE:#define __DBL_MAX__ 3.40282347e+38
   2632 // TCE:#define __DBL_MIN_10_EXP__ (-37)
   2633 // TCE:#define __DBL_MIN_EXP__ (-125)
   2634 // TCE:#define __DBL_MIN__ 1.17549435e-38
   2635 // TCE:#define __DECIMAL_DIG__ -1
   2636 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2637 // TCE:#define __FLT_DIG__ 6
   2638 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
   2639 // TCE:#define __FLT_EVAL_METHOD__ 0
   2640 // TCE:#define __FLT_HAS_DENORM__ 1
   2641 // TCE:#define __FLT_HAS_INFINITY__ 1
   2642 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
   2643 // TCE:#define __FLT_MANT_DIG__ 24
   2644 // TCE:#define __FLT_MAX_10_EXP__ 38
   2645 // TCE:#define __FLT_MAX_EXP__ 128
   2646 // TCE:#define __FLT_MAX__ 3.40282347e+38F
   2647 // TCE:#define __FLT_MIN_10_EXP__ (-37)
   2648 // TCE:#define __FLT_MIN_EXP__ (-125)
   2649 // TCE:#define __FLT_MIN__ 1.17549435e-38F
   2650 // TCE:#define __FLT_RADIX__ 2
   2651 // TCE:#define __INT16_TYPE__ short
   2652 // TCE:#define __INT32_TYPE__ int
   2653 // TCE:#define __INT8_TYPE__ char
   2654 // TCE:#define __INTMAX_MAX__ 2147483647L
   2655 // TCE:#define __INTMAX_TYPE__ long int
   2656 // TCE:#define __INTMAX_WIDTH__ 32
   2657 // TCE:#define __INTPTR_TYPE__ int
   2658 // TCE:#define __INTPTR_WIDTH__ 32
   2659 // TCE:#define __INT_MAX__ 2147483647
   2660 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45L
   2661 // TCE:#define __LDBL_DIG__ 6
   2662 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7L
   2663 // TCE:#define __LDBL_HAS_DENORM__ 1
   2664 // TCE:#define __LDBL_HAS_INFINITY__ 1
   2665 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
   2666 // TCE:#define __LDBL_MANT_DIG__ 24
   2667 // TCE:#define __LDBL_MAX_10_EXP__ 38
   2668 // TCE:#define __LDBL_MAX_EXP__ 128
   2669 // TCE:#define __LDBL_MAX__ 3.40282347e+38L
   2670 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
   2671 // TCE:#define __LDBL_MIN_EXP__ (-125)
   2672 // TCE:#define __LDBL_MIN__ 1.17549435e-38L
   2673 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
   2674 // TCE:#define __LONG_MAX__ 2147483647L
   2675 // TCE-NOT:#define __LP64__
   2676 // TCE:#define __POINTER_WIDTH__ 32
   2677 // TCE:#define __PTRDIFF_TYPE__ int
   2678 // TCE:#define __PTRDIFF_WIDTH__ 32
   2679 // TCE:#define __SCHAR_MAX__ 127
   2680 // TCE:#define __SHRT_MAX__ 32767
   2681 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
   2682 // TCE:#define __SIZEOF_DOUBLE__ 4
   2683 // TCE:#define __SIZEOF_FLOAT__ 4
   2684 // TCE:#define __SIZEOF_INT__ 4
   2685 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
   2686 // TCE:#define __SIZEOF_LONG_LONG__ 4
   2687 // TCE:#define __SIZEOF_LONG__ 4
   2688 // TCE:#define __SIZEOF_POINTER__ 4
   2689 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
   2690 // TCE:#define __SIZEOF_SHORT__ 2
   2691 // TCE:#define __SIZEOF_SIZE_T__ 4
   2692 // TCE:#define __SIZEOF_WCHAR_T__ 4
   2693 // TCE:#define __SIZEOF_WINT_T__ 4
   2694 // TCE:#define __SIZE_MAX__ 4294967295U
   2695 // TCE:#define __SIZE_TYPE__ unsigned int
   2696 // TCE:#define __SIZE_WIDTH__ 32
   2697 // TCE:#define __TCE_V1__ 1
   2698 // TCE:#define __TCE__ 1
   2699 // TCE:#define __UINTMAX_TYPE__ long unsigned int
   2700 // TCE:#define __USER_LABEL_PREFIX__ _
   2701 // TCE:#define __WCHAR_MAX__ 2147483647
   2702 // TCE:#define __WCHAR_TYPE__ int
   2703 // TCE:#define __WCHAR_WIDTH__ 32
   2704 // TCE:#define __WINT_TYPE__ int
   2705 // TCE:#define __WINT_WIDTH__ 32
   2706 // TCE:#define __tce 1
   2707 // TCE:#define __tce__ 1
   2708 // TCE:#define tce 1
   2709 //
   2710 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
   2711 //
   2712 // X86_64:#define _LP64 1
   2713 // X86_64:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
   2714 // X86_64:#define __CHAR16_TYPE__ unsigned short
   2715 // X86_64:#define __CHAR32_TYPE__ unsigned int
   2716 // X86_64:#define __CHAR_BIT__ 8
   2717 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2718 // X86_64:#define __DBL_DIG__ 15
   2719 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2720 // X86_64:#define __DBL_HAS_DENORM__ 1
   2721 // X86_64:#define __DBL_HAS_INFINITY__ 1
   2722 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
   2723 // X86_64:#define __DBL_MANT_DIG__ 53
   2724 // X86_64:#define __DBL_MAX_10_EXP__ 308
   2725 // X86_64:#define __DBL_MAX_EXP__ 1024
   2726 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
   2727 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
   2728 // X86_64:#define __DBL_MIN_EXP__ (-1021)
   2729 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
   2730 // X86_64:#define __DECIMAL_DIG__ 21
   2731 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2732 // X86_64:#define __FLT_DIG__ 6
   2733 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
   2734 // X86_64:#define __FLT_EVAL_METHOD__ 0
   2735 // X86_64:#define __FLT_HAS_DENORM__ 1
   2736 // X86_64:#define __FLT_HAS_INFINITY__ 1
   2737 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
   2738 // X86_64:#define __FLT_MANT_DIG__ 24
   2739 // X86_64:#define __FLT_MAX_10_EXP__ 38
   2740 // X86_64:#define __FLT_MAX_EXP__ 128
   2741 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
   2742 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
   2743 // X86_64:#define __FLT_MIN_EXP__ (-125)
   2744 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
   2745 // X86_64:#define __FLT_RADIX__ 2
   2746 // X86_64:#define __INT16_TYPE__ short
   2747 // X86_64:#define __INT32_TYPE__ int
   2748 // X86_64:#define __INT64_C_SUFFIX__ L
   2749 // X86_64:#define __INT64_TYPE__ long int
   2750 // X86_64:#define __INT8_TYPE__ char
   2751 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
   2752 // X86_64:#define __INTMAX_TYPE__ long int
   2753 // X86_64:#define __INTMAX_WIDTH__ 64
   2754 // X86_64:#define __INTPTR_TYPE__ long int
   2755 // X86_64:#define __INTPTR_WIDTH__ 64
   2756 // X86_64:#define __INT_MAX__ 2147483647
   2757 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
   2758 // X86_64:#define __LDBL_DIG__ 18
   2759 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
   2760 // X86_64:#define __LDBL_HAS_DENORM__ 1
   2761 // X86_64:#define __LDBL_HAS_INFINITY__ 1
   2762 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
   2763 // X86_64:#define __LDBL_MANT_DIG__ 64
   2764 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
   2765 // X86_64:#define __LDBL_MAX_EXP__ 16384
   2766 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
   2767 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
   2768 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
   2769 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
   2770 // X86_64:#define __LITTLE_ENDIAN__ 1
   2771 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2772 // X86_64:#define __LONG_MAX__ 9223372036854775807L
   2773 // X86_64:#define __LP64__ 1
   2774 // X86_64:#define __MMX__ 1
   2775 // X86_64:#define __NO_MATH_INLINES 1
   2776 // X86_64:#define __POINTER_WIDTH__ 64
   2777 // X86_64:#define __PTRDIFF_TYPE__ long int
   2778 // X86_64:#define __PTRDIFF_WIDTH__ 64
   2779 // X86_64:#define __REGISTER_PREFIX__
   2780 // X86_64:#define __SCHAR_MAX__ 127
   2781 // X86_64:#define __SHRT_MAX__ 32767
   2782 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
   2783 // X86_64:#define __SIZEOF_DOUBLE__ 8
   2784 // X86_64:#define __SIZEOF_FLOAT__ 4
   2785 // X86_64:#define __SIZEOF_INT__ 4
   2786 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
   2787 // X86_64:#define __SIZEOF_LONG_LONG__ 8
   2788 // X86_64:#define __SIZEOF_LONG__ 8
   2789 // X86_64:#define __SIZEOF_POINTER__ 8
   2790 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
   2791 // X86_64:#define __SIZEOF_SHORT__ 2
   2792 // X86_64:#define __SIZEOF_SIZE_T__ 8
   2793 // X86_64:#define __SIZEOF_WCHAR_T__ 4
   2794 // X86_64:#define __SIZEOF_WINT_T__ 4
   2795 // X86_64:#define __SIZE_MAX__ 18446744073709551615UL
   2796 // X86_64:#define __SIZE_TYPE__ long unsigned int
   2797 // X86_64:#define __SIZE_WIDTH__ 64
   2798 // X86_64:#define __SSE2_MATH__ 1
   2799 // X86_64:#define __SSE2__ 1
   2800 // X86_64:#define __SSE_MATH__ 1
   2801 // X86_64:#define __SSE__ 1
   2802 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
   2803 // X86_64:#define __USER_LABEL_PREFIX__ _
   2804 // X86_64:#define __WCHAR_MAX__ 2147483647
   2805 // X86_64:#define __WCHAR_TYPE__ int
   2806 // X86_64:#define __WCHAR_WIDTH__ 32
   2807 // X86_64:#define __WINT_TYPE__ int
   2808 // X86_64:#define __WINT_WIDTH__ 32
   2809 // X86_64:#define __amd64 1
   2810 // X86_64:#define __amd64__ 1
   2811 // X86_64:#define __x86_64 1
   2812 // X86_64:#define __x86_64__ 1
   2813 //
   2814 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
   2815 //
   2816 // X86_64-LINUX:#define _LP64 1
   2817 // X86_64-LINUX:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
   2818 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
   2819 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
   2820 // X86_64-LINUX:#define __CHAR_BIT__ 8
   2821 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   2822 // X86_64-LINUX:#define __DBL_DIG__ 15
   2823 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
   2824 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
   2825 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
   2826 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
   2827 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
   2828 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
   2829 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
   2830 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
   2831 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
   2832 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
   2833 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
   2834 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
   2835 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   2836 // X86_64-LINUX:#define __FLT_DIG__ 6
   2837 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
   2838 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
   2839 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
   2840 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
   2841 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
   2842 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
   2843 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
   2844 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
   2845 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
   2846 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
   2847 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
   2848 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
   2849 // X86_64-LINUX:#define __FLT_RADIX__ 2
   2850 // X86_64-LINUX:#define __INT16_TYPE__ short
   2851 // X86_64-LINUX:#define __INT32_TYPE__ int
   2852 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
   2853 // X86_64-LINUX:#define __INT64_TYPE__ long int
   2854 // X86_64-LINUX:#define __INT8_TYPE__ char
   2855 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
   2856 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
   2857 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
   2858 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
   2859 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
   2860 // X86_64-LINUX:#define __INT_MAX__ 2147483647
   2861 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
   2862 // X86_64-LINUX:#define __LDBL_DIG__ 18
   2863 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
   2864 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
   2865 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
   2866 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
   2867 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
   2868 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
   2869 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
   2870 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
   2871 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
   2872 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
   2873 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
   2874 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
   2875 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
   2876 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
   2877 // X86_64-LINUX:#define __LP64__ 1
   2878 // X86_64-LINUX:#define __MMX__ 1
   2879 // X86_64-LINUX:#define __NO_MATH_INLINES 1
   2880 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
   2881 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
   2882 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
   2883 // X86_64-LINUX:#define __REGISTER_PREFIX__
   2884 // X86_64-LINUX:#define __SCHAR_MAX__ 127
   2885 // X86_64-LINUX:#define __SHRT_MAX__ 32767
   2886 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
   2887 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
   2888 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
   2889 // X86_64-LINUX:#define __SIZEOF_INT__ 4
   2890 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
   2891 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
   2892 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
   2893 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
   2894 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
   2895 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
   2896 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
   2897 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
   2898 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
   2899 // X86_64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
   2900 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
   2901 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
   2902 // X86_64-LINUX:#define __SSE2_MATH__ 1
   2903 // X86_64-LINUX:#define __SSE2__ 1
   2904 // X86_64-LINUX:#define __SSE_MATH__ 1
   2905 // X86_64-LINUX:#define __SSE__ 1
   2906 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
   2907 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
   2908 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
   2909 // X86_64-LINUX:#define __WCHAR_TYPE__ int
   2910 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
   2911 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
   2912 // X86_64-LINUX:#define __WINT_WIDTH__ 32
   2913 // X86_64-LINUX:#define __amd64 1
   2914 // X86_64-LINUX:#define __amd64__ 1
   2915 // X86_64-LINUX:#define __x86_64 1
   2916 // X86_64-LINUX:#define __x86_64__ 1
   2917 //
   2918 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
   2919 // SPARCV9:#define __INT64_TYPE__ long int
   2920 // SPARCV9:#define __INTMAX_TYPE__ long int
   2921 // SPARCV9:#define __INTPTR_TYPE__ long int
   2922 // SPARCV9:#define __LONG_MAX__ 9223372036854775807L
   2923 // SPARCV9:#define __LP64__ 1
   2924 // SPARCV9:#define __SIZEOF_LONG__ 8
   2925 // SPARCV9:#define __SIZEOF_POINTER__ 8
   2926 //
   2927 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
   2928 // SPARC64-OBSD:#define __INT64_TYPE__ long long int
   2929 // SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
   2930 // SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
   2931 //
   2932 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
   2933 // GNUSOURCE:#define _GNU_SOURCE 1
   2934 //
   2935 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
   2936 // NORTTI: __GXX_ABI_VERSION
   2937 // NORTTI-NOT:#define __GXX_RTTI
   2938 // NORTTI: __STDC__
   2939 //
   2940 // RUN: %clang_cc1 -triple arm-linux-androideabi -E -dM < /dev/null | FileCheck -check-prefix ANDROID %s
   2941 // ANDROID: __ANDROID__ 1
   2942 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -check-prefix PPC64-FREEBSD %s
   2943 // PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
   2944