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++11 -E -dM < /dev/null | FileCheck -check-prefix CXX0X %s
     13 //
     14 // CXX0X:#define __GNUG__
     15 // CXX0X:#define __GXX_EXPERIMENTAL_CXX0X__ 1
     16 // CXX0X:#define __GXX_RTTI 1
     17 // CXX0X:#define __GXX_WEAK__ 1
     18 // CXX0X:#define __cplusplus 201103L
     19 // CXX0X:#define __private_extern__ extern
     20 //
     21 //
     22 // RUN: %clang_cc1 -x c++ -std=c++98 -E -dM < /dev/null | FileCheck -check-prefix CXX98 %s
     23 //
     24 // CXX98:#define __GNUG__
     25 // CXX98:#define __GXX_RTTI 1
     26 // CXX98:#define __GXX_WEAK__ 1
     27 // CXX98:#define __cplusplus 199711L
     28 // CXX98:#define __private_extern__ extern
     29 //
     30 //
     31 // RUN: %clang_cc1 -fdeprecated-macro -E -dM < /dev/null | FileCheck -check-prefix DEPRECATED %s
     32 //
     33 // DEPRECATED:#define __DEPRECATED 1
     34 //
     35 //
     36 // RUN: %clang_cc1 -std=c99 -E -dM < /dev/null | FileCheck -check-prefix C99 %s
     37 //
     38 // C99:#define __STDC_VERSION__ 199901L
     39 // C99:#define __STRICT_ANSI__ 1
     40 //
     41 //
     42 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix COMMON %s
     43 //
     44 // COMMON:#define __CONSTANT_CFSTRINGS__ 1
     45 // COMMON:#define __FINITE_MATH_ONLY__ 0
     46 // COMMON:#define __GNUC_MINOR__
     47 // COMMON:#define __GNUC_PATCHLEVEL__
     48 // COMMON:#define __GNUC_STDC_INLINE__ 1
     49 // COMMON:#define __GNUC__
     50 // COMMON:#define __GXX_ABI_VERSION
     51 // COMMON:#define __STDC_HOSTED__ 1
     52 // COMMON:#define __STDC_VERSION__
     53 // COMMON:#define __STDC__ 1
     54 // COMMON:#define __VERSION__
     55 // COMMON:#define __clang__ 1
     56 // COMMON:#define __clang_major__ {{[0-9]+}}
     57 // COMMON:#define __clang_minor__ {{[0-9]+}}
     58 // COMMON:#define __clang_patchlevel__ {{[0-9]+}}
     59 // COMMON:#define __clang_version__
     60 // COMMON:#define __llvm__ 1
     61 //
     62 //
     63 // RUN: %clang_cc1 -ffreestanding -E -dM < /dev/null | FileCheck -check-prefix FREESTANDING %s
     64 // FREESTANDING:#define __STDC_HOSTED__ 0
     65 //
     66 // RUN: %clang_cc1 -x c++ -std=gnu++98 -E -dM < /dev/null | FileCheck -check-prefix GXX98 %s
     67 //
     68 // GXX98:#define __GNUG__
     69 // GXX98:#define __GXX_WEAK__ 1
     70 // GXX98:#define __cplusplus 1
     71 // GXX98:#define __private_extern__ extern
     72 //
     73 //
     74 // RUN: %clang_cc1 -std=iso9899:199409 -E -dM < /dev/null | FileCheck -check-prefix C94 %s
     75 //
     76 // C94:#define __STDC_VERSION__ 199409L
     77 //
     78 //
     79 // RUN: %clang_cc1 -fms-extensions -triple i686-pc-win32 -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix MSEXT %s
     80 //
     81 // MSEXT-NOT:#define __STDC__
     82 // MSEXT:#define _INTEGRAL_MAX_BITS 64
     83 //
     84 //
     85 // RUN: %clang_cc1 -x objective-c -E -dM < /dev/null | FileCheck -check-prefix OBJC %s
     86 //
     87 // OBJC:#define OBJC_NEW_PROPERTIES 1
     88 // OBJC:#define __NEXT_RUNTIME__ 1
     89 // OBJC:#define __OBJC__ 1
     90 //
     91 //
     92 // RUN: %clang_cc1 -x objective-c -fobjc-gc -E -dM < /dev/null | FileCheck -check-prefix OBJCGC %s
     93 //
     94 // OBJCGC:#define __OBJC_GC__ 1
     95 //
     96 //
     97 // RUN: %clang_cc1 -x objective-c -fobjc-exceptions -E -dM < /dev/null | FileCheck -check-prefix NONFRAGILE %s
     98 //
     99 // NONFRAGILE:#define OBJC_ZEROCOST_EXCEPTIONS 1
    100 // NONFRAGILE:#define __OBJC2__ 1
    101 //
    102 //
    103 // RUN: %clang_cc1 -O1 -E -dM < /dev/null | FileCheck -check-prefix O1 %s
    104 //
    105 // O1:#define __OPTIMIZE__ 1
    106 //
    107 //
    108 // RUN: %clang_cc1 -fpascal-strings -E -dM < /dev/null | FileCheck -check-prefix PASCAL %s
    109 //
    110 // PASCAL:#define __PASCAL_STRINGS__ 1
    111 //
    112 //
    113 // RUN: %clang_cc1 -E -dM < /dev/null | FileCheck -check-prefix SCHAR %s
    114 //
    115 // SCHAR:#define __STDC__ 1
    116 // SCHAR-NOT:#define __UNSIGNED_CHAR__
    117 // SCHAR:#define __clang__ 1
    118 //
    119 // RUN: %clang_cc1 -E -dM -fshort-wchar < /dev/null | FileCheck -check-prefix SHORTWCHAR %s
    120 //
    121 // SHORTWCHAR: #define __SIZEOF_WCHAR_T__ 2
    122 // SHORTWCHAR: #define __WCHAR_MAX__ 65535U
    123 // SHORTWCHAR: #define __WCHAR_TYPE__ unsigned short
    124 // SHORTWCHAR: #define __WCHAR_WIDTH__ 16
    125 //
    126 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=arm-none-none < /dev/null | FileCheck -check-prefix ARM %s
    127 //
    128 // ARM:#define __APCS_32__ 1
    129 // ARM:#define __ARMEL__ 1
    130 // ARM:#define __ARM_ARCH_6J__ 1
    131 // ARM:#define __CHAR16_TYPE__ unsigned short
    132 // ARM:#define __CHAR32_TYPE__ unsigned int
    133 // ARM:#define __CHAR_BIT__ 8
    134 // ARM:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    135 // ARM:#define __DBL_DIG__ 15
    136 // ARM:#define __DBL_EPSILON__ 2.2204460492503131e-16
    137 // ARM:#define __DBL_HAS_DENORM__ 1
    138 // ARM:#define __DBL_HAS_INFINITY__ 1
    139 // ARM:#define __DBL_HAS_QUIET_NAN__ 1
    140 // ARM:#define __DBL_MANT_DIG__ 53
    141 // ARM:#define __DBL_MAX_10_EXP__ 308
    142 // ARM:#define __DBL_MAX_EXP__ 1024
    143 // ARM:#define __DBL_MAX__ 1.7976931348623157e+308
    144 // ARM:#define __DBL_MIN_10_EXP__ (-307)
    145 // ARM:#define __DBL_MIN_EXP__ (-1021)
    146 // ARM:#define __DBL_MIN__ 2.2250738585072014e-308
    147 // ARM:#define __DECIMAL_DIG__ 17
    148 // ARM:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    149 // ARM:#define __FLT_DIG__ 6
    150 // ARM:#define __FLT_EPSILON__ 1.19209290e-7F
    151 // ARM:#define __FLT_EVAL_METHOD__ 0
    152 // ARM:#define __FLT_HAS_DENORM__ 1
    153 // ARM:#define __FLT_HAS_INFINITY__ 1
    154 // ARM:#define __FLT_HAS_QUIET_NAN__ 1
    155 // ARM:#define __FLT_MANT_DIG__ 24
    156 // ARM:#define __FLT_MAX_10_EXP__ 38
    157 // ARM:#define __FLT_MAX_EXP__ 128
    158 // ARM:#define __FLT_MAX__ 3.40282347e+38F
    159 // ARM:#define __FLT_MIN_10_EXP__ (-37)
    160 // ARM:#define __FLT_MIN_EXP__ (-125)
    161 // ARM:#define __FLT_MIN__ 1.17549435e-38F
    162 // ARM:#define __FLT_RADIX__ 2
    163 // ARM:#define __INT16_TYPE__ short
    164 // ARM:#define __INT32_TYPE__ int
    165 // ARM:#define __INT64_C_SUFFIX__ LL
    166 // ARM:#define __INT64_TYPE__ long long int
    167 // ARM:#define __INT8_TYPE__ char
    168 // ARM:#define __INTMAX_MAX__ 9223372036854775807LL
    169 // ARM:#define __INTMAX_TYPE__ long long int
    170 // ARM:#define __INTMAX_WIDTH__ 64
    171 // ARM:#define __INTPTR_TYPE__ long int
    172 // ARM:#define __INTPTR_WIDTH__ 32
    173 // ARM:#define __INT_MAX__ 2147483647
    174 // ARM:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
    175 // ARM:#define __LDBL_DIG__ 15
    176 // ARM:#define __LDBL_EPSILON__ 2.2204460492503131e-16
    177 // ARM:#define __LDBL_HAS_DENORM__ 1
    178 // ARM:#define __LDBL_HAS_INFINITY__ 1
    179 // ARM:#define __LDBL_HAS_QUIET_NAN__ 1
    180 // ARM:#define __LDBL_MANT_DIG__ 53
    181 // ARM:#define __LDBL_MAX_10_EXP__ 308
    182 // ARM:#define __LDBL_MAX_EXP__ 1024
    183 // ARM:#define __LDBL_MAX__ 1.7976931348623157e+308
    184 // ARM:#define __LDBL_MIN_10_EXP__ (-307)
    185 // ARM:#define __LDBL_MIN_EXP__ (-1021)
    186 // ARM:#define __LDBL_MIN__ 2.2250738585072014e-308
    187 // ARM:#define __LITTLE_ENDIAN__ 1
    188 // ARM:#define __LONG_LONG_MAX__ 9223372036854775807LL
    189 // ARM:#define __LONG_MAX__ 2147483647L
    190 // ARM:#define __NO_INLINE__ 1
    191 // ARM:#define __POINTER_WIDTH__ 32
    192 // ARM:#define __PTRDIFF_TYPE__ int
    193 // ARM:#define __PTRDIFF_WIDTH__ 32
    194 // ARM:#define __REGISTER_PREFIX__
    195 // ARM:#define __SCHAR_MAX__ 127
    196 // ARM:#define __SHRT_MAX__ 32767
    197 // ARM:#define __SIG_ATOMIC_WIDTH__ 32
    198 // ARM:#define __SIZEOF_DOUBLE__ 8
    199 // ARM:#define __SIZEOF_FLOAT__ 4
    200 // ARM:#define __SIZEOF_INT__ 4
    201 // ARM:#define __SIZEOF_LONG_DOUBLE__ 8
    202 // ARM:#define __SIZEOF_LONG_LONG__ 8
    203 // ARM:#define __SIZEOF_LONG__ 4
    204 // ARM:#define __SIZEOF_POINTER__ 4
    205 // ARM:#define __SIZEOF_PTRDIFF_T__ 4
    206 // ARM:#define __SIZEOF_SHORT__ 2
    207 // ARM:#define __SIZEOF_SIZE_T__ 4
    208 // ARM:#define __SIZEOF_WCHAR_T__ 4
    209 // ARM:#define __SIZEOF_WINT_T__ 4
    210 // ARM:#define __SIZE_TYPE__ unsigned int
    211 // ARM:#define __SIZE_WIDTH__ 32
    212 // ARM:#define __THUMB_INTERWORK__ 1
    213 // ARM:#define __UINTMAX_TYPE__ long long unsigned int
    214 // ARM:#define __USER_LABEL_PREFIX__ _
    215 // ARM:#define __WCHAR_MAX__ 4294967295U
    216 // ARM:#define __WCHAR_TYPE__ unsigned int
    217 // ARM:#define __WCHAR_WIDTH__ 32
    218 // ARM:#define __WINT_TYPE__ int
    219 // ARM:#define __WINT_WIDTH__ 32
    220 // ARM:#define __arm 1
    221 // ARM:#define __arm__ 1
    222 //
    223 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-none-none < /dev/null | FileCheck -check-prefix I386 %s
    224 //
    225 // I386:#define __CHAR16_TYPE__ unsigned short
    226 // I386:#define __CHAR32_TYPE__ unsigned int
    227 // I386:#define __CHAR_BIT__ 8
    228 // I386:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    229 // I386:#define __DBL_DIG__ 15
    230 // I386:#define __DBL_EPSILON__ 2.2204460492503131e-16
    231 // I386:#define __DBL_HAS_DENORM__ 1
    232 // I386:#define __DBL_HAS_INFINITY__ 1
    233 // I386:#define __DBL_HAS_QUIET_NAN__ 1
    234 // I386:#define __DBL_MANT_DIG__ 53
    235 // I386:#define __DBL_MAX_10_EXP__ 308
    236 // I386:#define __DBL_MAX_EXP__ 1024
    237 // I386:#define __DBL_MAX__ 1.7976931348623157e+308
    238 // I386:#define __DBL_MIN_10_EXP__ (-307)
    239 // I386:#define __DBL_MIN_EXP__ (-1021)
    240 // I386:#define __DBL_MIN__ 2.2250738585072014e-308
    241 // I386:#define __DECIMAL_DIG__ 21
    242 // I386:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    243 // I386:#define __FLT_DIG__ 6
    244 // I386:#define __FLT_EPSILON__ 1.19209290e-7F
    245 // I386:#define __FLT_EVAL_METHOD__ 2
    246 // I386:#define __FLT_HAS_DENORM__ 1
    247 // I386:#define __FLT_HAS_INFINITY__ 1
    248 // I386:#define __FLT_HAS_QUIET_NAN__ 1
    249 // I386:#define __FLT_MANT_DIG__ 24
    250 // I386:#define __FLT_MAX_10_EXP__ 38
    251 // I386:#define __FLT_MAX_EXP__ 128
    252 // I386:#define __FLT_MAX__ 3.40282347e+38F
    253 // I386:#define __FLT_MIN_10_EXP__ (-37)
    254 // I386:#define __FLT_MIN_EXP__ (-125)
    255 // I386:#define __FLT_MIN__ 1.17549435e-38F
    256 // I386:#define __FLT_RADIX__ 2
    257 // I386:#define __INT16_TYPE__ short
    258 // I386:#define __INT32_TYPE__ int
    259 // I386:#define __INT64_C_SUFFIX__ LL
    260 // I386:#define __INT64_TYPE__ long long int
    261 // I386:#define __INT8_TYPE__ char
    262 // I386:#define __INTMAX_MAX__ 9223372036854775807LL
    263 // I386:#define __INTMAX_TYPE__ long long int
    264 // I386:#define __INTMAX_WIDTH__ 64
    265 // I386:#define __INTPTR_TYPE__ int
    266 // I386:#define __INTPTR_WIDTH__ 32
    267 // I386:#define __INT_MAX__ 2147483647
    268 // I386:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
    269 // I386:#define __LDBL_DIG__ 18
    270 // I386:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
    271 // I386:#define __LDBL_HAS_DENORM__ 1
    272 // I386:#define __LDBL_HAS_INFINITY__ 1
    273 // I386:#define __LDBL_HAS_QUIET_NAN__ 1
    274 // I386:#define __LDBL_MANT_DIG__ 64
    275 // I386:#define __LDBL_MAX_10_EXP__ 4932
    276 // I386:#define __LDBL_MAX_EXP__ 16384
    277 // I386:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
    278 // I386:#define __LDBL_MIN_10_EXP__ (-4931)
    279 // I386:#define __LDBL_MIN_EXP__ (-16381)
    280 // I386:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
    281 // I386:#define __LITTLE_ENDIAN__ 1
    282 // I386:#define __LONG_LONG_MAX__ 9223372036854775807LL
    283 // I386:#define __LONG_MAX__ 2147483647L
    284 // I386:#define __NO_INLINE__ 1
    285 // I386:#define __NO_MATH_INLINES 1
    286 // I386:#define __POINTER_WIDTH__ 32
    287 // I386:#define __PTRDIFF_TYPE__ int
    288 // I386:#define __PTRDIFF_WIDTH__ 32
    289 // I386:#define __REGISTER_PREFIX__
    290 // I386:#define __SCHAR_MAX__ 127
    291 // I386:#define __SHRT_MAX__ 32767
    292 // I386:#define __SIG_ATOMIC_WIDTH__ 32
    293 // I386:#define __SIZEOF_DOUBLE__ 8
    294 // I386:#define __SIZEOF_FLOAT__ 4
    295 // I386:#define __SIZEOF_INT__ 4
    296 // I386:#define __SIZEOF_LONG_DOUBLE__ 12
    297 // I386:#define __SIZEOF_LONG_LONG__ 8
    298 // I386:#define __SIZEOF_LONG__ 4
    299 // I386:#define __SIZEOF_POINTER__ 4
    300 // I386:#define __SIZEOF_PTRDIFF_T__ 4
    301 // I386:#define __SIZEOF_SHORT__ 2
    302 // I386:#define __SIZEOF_SIZE_T__ 4
    303 // I386:#define __SIZEOF_WCHAR_T__ 4
    304 // I386:#define __SIZEOF_WINT_T__ 4
    305 // I386:#define __SIZE_TYPE__ unsigned int
    306 // I386:#define __SIZE_WIDTH__ 32
    307 // I386:#define __UINTMAX_TYPE__ long long unsigned int
    308 // I386:#define __USER_LABEL_PREFIX__ _
    309 // I386:#define __WCHAR_MAX__ 2147483647
    310 // I386:#define __WCHAR_TYPE__ int
    311 // I386:#define __WCHAR_WIDTH__ 32
    312 // I386:#define __WINT_TYPE__ int
    313 // I386:#define __WINT_WIDTH__ 32
    314 // I386:#define __i386 1
    315 // I386:#define __i386__ 1
    316 // I386:#define i386 1
    317 //
    318 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=i386-pc-linux-gnu -target-cpu pentium4 < /dev/null | FileCheck -check-prefix I386-LINUX %s
    319 //
    320 // I386-LINUX:#define __CHAR16_TYPE__ unsigned short
    321 // I386-LINUX:#define __CHAR32_TYPE__ unsigned int
    322 // I386-LINUX:#define __CHAR_BIT__ 8
    323 // I386-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    324 // I386-LINUX:#define __DBL_DIG__ 15
    325 // I386-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
    326 // I386-LINUX:#define __DBL_HAS_DENORM__ 1
    327 // I386-LINUX:#define __DBL_HAS_INFINITY__ 1
    328 // I386-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
    329 // I386-LINUX:#define __DBL_MANT_DIG__ 53
    330 // I386-LINUX:#define __DBL_MAX_10_EXP__ 308
    331 // I386-LINUX:#define __DBL_MAX_EXP__ 1024
    332 // I386-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
    333 // I386-LINUX:#define __DBL_MIN_10_EXP__ (-307)
    334 // I386-LINUX:#define __DBL_MIN_EXP__ (-1021)
    335 // I386-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
    336 // I386-LINUX:#define __DECIMAL_DIG__ 21
    337 // I386-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    338 // I386-LINUX:#define __FLT_DIG__ 6
    339 // I386-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
    340 // I386-LINUX:#define __FLT_EVAL_METHOD__ 0
    341 // I386-LINUX:#define __FLT_HAS_DENORM__ 1
    342 // I386-LINUX:#define __FLT_HAS_INFINITY__ 1
    343 // I386-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
    344 // I386-LINUX:#define __FLT_MANT_DIG__ 24
    345 // I386-LINUX:#define __FLT_MAX_10_EXP__ 38
    346 // I386-LINUX:#define __FLT_MAX_EXP__ 128
    347 // I386-LINUX:#define __FLT_MAX__ 3.40282347e+38F
    348 // I386-LINUX:#define __FLT_MIN_10_EXP__ (-37)
    349 // I386-LINUX:#define __FLT_MIN_EXP__ (-125)
    350 // I386-LINUX:#define __FLT_MIN__ 1.17549435e-38F
    351 // I386-LINUX:#define __FLT_RADIX__ 2
    352 // I386-LINUX:#define __INT16_TYPE__ short
    353 // I386-LINUX:#define __INT32_TYPE__ int
    354 // I386-LINUX:#define __INT64_C_SUFFIX__ LL
    355 // I386-LINUX:#define __INT64_TYPE__ long long int
    356 // I386-LINUX:#define __INT8_TYPE__ char
    357 // I386-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
    358 // I386-LINUX:#define __INTMAX_TYPE__ long long int
    359 // I386-LINUX:#define __INTMAX_WIDTH__ 64
    360 // I386-LINUX:#define __INTPTR_TYPE__ int
    361 // I386-LINUX:#define __INTPTR_WIDTH__ 32
    362 // I386-LINUX:#define __INT_MAX__ 2147483647
    363 // I386-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
    364 // I386-LINUX:#define __LDBL_DIG__ 18
    365 // I386-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
    366 // I386-LINUX:#define __LDBL_HAS_DENORM__ 1
    367 // I386-LINUX:#define __LDBL_HAS_INFINITY__ 1
    368 // I386-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
    369 // I386-LINUX:#define __LDBL_MANT_DIG__ 64
    370 // I386-LINUX:#define __LDBL_MAX_10_EXP__ 4932
    371 // I386-LINUX:#define __LDBL_MAX_EXP__ 16384
    372 // I386-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
    373 // I386-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
    374 // I386-LINUX:#define __LDBL_MIN_EXP__ (-16381)
    375 // I386-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
    376 // I386-LINUX:#define __LITTLE_ENDIAN__ 1
    377 // I386-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
    378 // I386-LINUX:#define __LONG_MAX__ 2147483647L
    379 // I386-LINUX:#define __NO_INLINE__ 1
    380 // I386-LINUX:#define __NO_MATH_INLINES 1
    381 // I386-LINUX:#define __POINTER_WIDTH__ 32
    382 // I386-LINUX:#define __PTRDIFF_TYPE__ int
    383 // I386-LINUX:#define __PTRDIFF_WIDTH__ 32
    384 // I386-LINUX:#define __REGISTER_PREFIX__
    385 // I386-LINUX:#define __SCHAR_MAX__ 127
    386 // I386-LINUX:#define __SHRT_MAX__ 32767
    387 // I386-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
    388 // I386-LINUX:#define __SIZEOF_DOUBLE__ 8
    389 // I386-LINUX:#define __SIZEOF_FLOAT__ 4
    390 // I386-LINUX:#define __SIZEOF_INT__ 4
    391 // I386-LINUX:#define __SIZEOF_LONG_DOUBLE__ 12
    392 // I386-LINUX:#define __SIZEOF_LONG_LONG__ 8
    393 // I386-LINUX:#define __SIZEOF_LONG__ 4
    394 // I386-LINUX:#define __SIZEOF_POINTER__ 4
    395 // I386-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
    396 // I386-LINUX:#define __SIZEOF_SHORT__ 2
    397 // I386-LINUX:#define __SIZEOF_SIZE_T__ 4
    398 // I386-LINUX:#define __SIZEOF_WCHAR_T__ 4
    399 // I386-LINUX:#define __SIZEOF_WINT_T__ 4
    400 // I386-LINUX:#define __SIZE_TYPE__ unsigned int
    401 // I386-LINUX:#define __SIZE_WIDTH__ 32
    402 // I386-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
    403 // I386-LINUX:#define __USER_LABEL_PREFIX__
    404 // I386-LINUX:#define __WCHAR_MAX__ 2147483647
    405 // I386-LINUX:#define __WCHAR_TYPE__ int
    406 // I386-LINUX:#define __WCHAR_WIDTH__ 32
    407 // I386-LINUX:#define __WINT_TYPE__ unsigned int
    408 // I386-LINUX:#define __WINT_WIDTH__ 32
    409 // I386-LINUX:#define __i386 1
    410 // I386-LINUX:#define __i386__ 1
    411 // I386-LINUX:#define i386 1
    412 //
    413 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none < /dev/null | FileCheck -check-prefix MIPS32BE %s
    414 //
    415 // MIPS32BE:#define MIPSEB 1
    416 // MIPS32BE:#define _ABIO32 1
    417 // MIPS32BE:#define _MIPSEB 1
    418 // MIPS32BE:#define _MIPS_SIM _ABIO32
    419 // MIPS32BE:#define _MIPS_SZINT 32
    420 // MIPS32BE:#define _MIPS_SZLONG 32
    421 // MIPS32BE:#define _MIPS_SZPTR 32
    422 // MIPS32BE:#define __CHAR16_TYPE__ unsigned short
    423 // MIPS32BE:#define __CHAR32_TYPE__ unsigned int
    424 // MIPS32BE:#define __CHAR_BIT__ 8
    425 // MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
    426 // MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    427 // MIPS32BE:#define __DBL_DIG__ 15
    428 // MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
    429 // MIPS32BE:#define __DBL_HAS_DENORM__ 1
    430 // MIPS32BE:#define __DBL_HAS_INFINITY__ 1
    431 // MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
    432 // MIPS32BE:#define __DBL_MANT_DIG__ 53
    433 // MIPS32BE:#define __DBL_MAX_10_EXP__ 308
    434 // MIPS32BE:#define __DBL_MAX_EXP__ 1024
    435 // MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
    436 // MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
    437 // MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
    438 // MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
    439 // MIPS32BE:#define __DECIMAL_DIG__ 17
    440 // MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    441 // MIPS32BE:#define __FLT_DIG__ 6
    442 // MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
    443 // MIPS32BE:#define __FLT_EVAL_METHOD__ 0
    444 // MIPS32BE:#define __FLT_HAS_DENORM__ 1
    445 // MIPS32BE:#define __FLT_HAS_INFINITY__ 1
    446 // MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
    447 // MIPS32BE:#define __FLT_MANT_DIG__ 24
    448 // MIPS32BE:#define __FLT_MAX_10_EXP__ 38
    449 // MIPS32BE:#define __FLT_MAX_EXP__ 128
    450 // MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
    451 // MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
    452 // MIPS32BE:#define __FLT_MIN_EXP__ (-125)
    453 // MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
    454 // MIPS32BE:#define __FLT_RADIX__ 2
    455 // MIPS32BE:#define __INT16_TYPE__ short
    456 // MIPS32BE:#define __INT32_TYPE__ int
    457 // MIPS32BE:#define __INT64_C_SUFFIX__ LL
    458 // MIPS32BE:#define __INT64_TYPE__ long long int
    459 // MIPS32BE:#define __INT8_TYPE__ char
    460 // MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
    461 // MIPS32BE:#define __INTMAX_TYPE__ long long int
    462 // MIPS32BE:#define __INTMAX_WIDTH__ 64
    463 // MIPS32BE:#define __INTPTR_TYPE__ long int
    464 // MIPS32BE:#define __INTPTR_WIDTH__ 32
    465 // MIPS32BE:#define __INT_MAX__ 2147483647
    466 // MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
    467 // MIPS32BE:#define __LDBL_DIG__ 15
    468 // MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16
    469 // MIPS32BE:#define __LDBL_HAS_DENORM__ 1
    470 // MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
    471 // MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
    472 // MIPS32BE:#define __LDBL_MANT_DIG__ 53
    473 // MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
    474 // MIPS32BE:#define __LDBL_MAX_EXP__ 1024
    475 // MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308
    476 // MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
    477 // MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
    478 // MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308
    479 // MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
    480 // MIPS32BE:#define __LONG_MAX__ 2147483647L
    481 // MIPS32BE:#define __MIPSEB 1
    482 // MIPS32BE:#define __MIPSEB__ 1
    483 // MIPS32BE:#define __NO_INLINE__ 1
    484 // MIPS32BE:#define __POINTER_WIDTH__ 32
    485 // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
    486 // MIPS32BE:#define __PTRDIFF_TYPE__ int
    487 // MIPS32BE:#define __PTRDIFF_WIDTH__ 32
    488 // MIPS32BE:#define __REGISTER_PREFIX__
    489 // MIPS32BE:#define __SCHAR_MAX__ 127
    490 // MIPS32BE:#define __SHRT_MAX__ 32767
    491 // MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
    492 // MIPS32BE:#define __SIZEOF_DOUBLE__ 8
    493 // MIPS32BE:#define __SIZEOF_FLOAT__ 4
    494 // MIPS32BE:#define __SIZEOF_INT__ 4
    495 // MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
    496 // MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
    497 // MIPS32BE:#define __SIZEOF_LONG__ 4
    498 // MIPS32BE:#define __SIZEOF_POINTER__ 4
    499 // MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
    500 // MIPS32BE:#define __SIZEOF_SHORT__ 2
    501 // MIPS32BE:#define __SIZEOF_SIZE_T__ 4
    502 // MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
    503 // MIPS32BE:#define __SIZEOF_WINT_T__ 4
    504 // MIPS32BE:#define __SIZE_TYPE__ unsigned int
    505 // MIPS32BE:#define __SIZE_WIDTH__ 32
    506 // MIPS32BE:#define __STDC_HOSTED__ 0
    507 // MIPS32BE:#define __STDC_VERSION__ 199901L
    508 // MIPS32BE:#define __STDC__ 1
    509 // MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
    510 // MIPS32BE:#define __USER_LABEL_PREFIX__ _
    511 // MIPS32BE:#define __WCHAR_MAX__ 2147483647
    512 // MIPS32BE:#define __WCHAR_TYPE__ int
    513 // MIPS32BE:#define __WCHAR_WIDTH__ 32
    514 // MIPS32BE:#define __WINT_TYPE__ int
    515 // MIPS32BE:#define __WINT_WIDTH__ 32
    516 // MIPS32BE:#define __clang__ 1
    517 // MIPS32BE:#define __llvm__ 1
    518 // MIPS32BE:#define __mips 1
    519 // MIPS32BE:#define __mips__ 1
    520 // MIPS32BE:#define __mips_hard_float 1
    521 // MIPS32BE:#define __mips_o32 1
    522 // MIPS32BE:#define _mips 1
    523 // MIPS32BE:#define mips 1
    524 //
    525 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -check-prefix MIPS32EL %s
    526 //
    527 // MIPS32EL:#define MIPSEL 1
    528 // MIPS32EL:#define _ABIO32 1
    529 // MIPS32EL:#define _MIPSEL 1
    530 // MIPS32EL:#define _MIPS_SIM _ABIO32
    531 // MIPS32EL:#define _MIPS_SZINT 32
    532 // MIPS32EL:#define _MIPS_SZLONG 32
    533 // MIPS32EL:#define _MIPS_SZPTR 32
    534 // MIPS32EL:#define __CHAR16_TYPE__ unsigned short
    535 // MIPS32EL:#define __CHAR32_TYPE__ unsigned int
    536 // MIPS32EL:#define __CHAR_BIT__ 8
    537 // MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
    538 // MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    539 // MIPS32EL:#define __DBL_DIG__ 15
    540 // MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
    541 // MIPS32EL:#define __DBL_HAS_DENORM__ 1
    542 // MIPS32EL:#define __DBL_HAS_INFINITY__ 1
    543 // MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
    544 // MIPS32EL:#define __DBL_MANT_DIG__ 53
    545 // MIPS32EL:#define __DBL_MAX_10_EXP__ 308
    546 // MIPS32EL:#define __DBL_MAX_EXP__ 1024
    547 // MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
    548 // MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
    549 // MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
    550 // MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
    551 // MIPS32EL:#define __DECIMAL_DIG__ 17
    552 // MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    553 // MIPS32EL:#define __FLT_DIG__ 6
    554 // MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
    555 // MIPS32EL:#define __FLT_EVAL_METHOD__ 0
    556 // MIPS32EL:#define __FLT_HAS_DENORM__ 1
    557 // MIPS32EL:#define __FLT_HAS_INFINITY__ 1
    558 // MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
    559 // MIPS32EL:#define __FLT_MANT_DIG__ 24
    560 // MIPS32EL:#define __FLT_MAX_10_EXP__ 38
    561 // MIPS32EL:#define __FLT_MAX_EXP__ 128
    562 // MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
    563 // MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
    564 // MIPS32EL:#define __FLT_MIN_EXP__ (-125)
    565 // MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
    566 // MIPS32EL:#define __FLT_RADIX__ 2
    567 // MIPS32EL:#define __INT16_TYPE__ short
    568 // MIPS32EL:#define __INT32_TYPE__ int
    569 // MIPS32EL:#define __INT64_C_SUFFIX__ LL
    570 // MIPS32EL:#define __INT64_TYPE__ long long int
    571 // MIPS32EL:#define __INT8_TYPE__ char
    572 // MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
    573 // MIPS32EL:#define __INTMAX_TYPE__ long long int
    574 // MIPS32EL:#define __INTMAX_WIDTH__ 64
    575 // MIPS32EL:#define __INTPTR_TYPE__ long int
    576 // MIPS32EL:#define __INTPTR_WIDTH__ 32
    577 // MIPS32EL:#define __INT_MAX__ 2147483647
    578 // MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
    579 // MIPS32EL:#define __LDBL_DIG__ 15
    580 // MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16
    581 // MIPS32EL:#define __LDBL_HAS_DENORM__ 1
    582 // MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
    583 // MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
    584 // MIPS32EL:#define __LDBL_MANT_DIG__ 53
    585 // MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
    586 // MIPS32EL:#define __LDBL_MAX_EXP__ 1024
    587 // MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308
    588 // MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
    589 // MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
    590 // MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308
    591 // MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
    592 // MIPS32EL:#define __LONG_MAX__ 2147483647L
    593 // MIPS32EL:#define __MIPSEL 1
    594 // MIPS32EL:#define __MIPSEL__ 1
    595 // MIPS32EL:#define __NO_INLINE__ 1
    596 // MIPS32EL:#define __POINTER_WIDTH__ 32
    597 // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
    598 // MIPS32EL:#define __PTRDIFF_TYPE__ int
    599 // MIPS32EL:#define __PTRDIFF_WIDTH__ 32
    600 // MIPS32EL:#define __REGISTER_PREFIX__
    601 // MIPS32EL:#define __SCHAR_MAX__ 127
    602 // MIPS32EL:#define __SHRT_MAX__ 32767
    603 // MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
    604 // MIPS32EL:#define __SIZEOF_DOUBLE__ 8
    605 // MIPS32EL:#define __SIZEOF_FLOAT__ 4
    606 // MIPS32EL:#define __SIZEOF_INT__ 4
    607 // MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
    608 // MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
    609 // MIPS32EL:#define __SIZEOF_LONG__ 4
    610 // MIPS32EL:#define __SIZEOF_POINTER__ 4
    611 // MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
    612 // MIPS32EL:#define __SIZEOF_SHORT__ 2
    613 // MIPS32EL:#define __SIZEOF_SIZE_T__ 4
    614 // MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
    615 // MIPS32EL:#define __SIZEOF_WINT_T__ 4
    616 // MIPS32EL:#define __SIZE_TYPE__ unsigned int
    617 // MIPS32EL:#define __SIZE_WIDTH__ 32
    618 // MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
    619 // MIPS32EL:#define __USER_LABEL_PREFIX__ _
    620 // MIPS32EL:#define __WCHAR_MAX__ 2147483647
    621 // MIPS32EL:#define __WCHAR_TYPE__ int
    622 // MIPS32EL:#define __WCHAR_WIDTH__ 32
    623 // MIPS32EL:#define __WINT_TYPE__ int
    624 // MIPS32EL:#define __WINT_WIDTH__ 32
    625 // MIPS32EL:#define __clang__ 1
    626 // MIPS32EL:#define __llvm__ 1
    627 // MIPS32EL:#define __mips 1
    628 // MIPS32EL:#define __mips__ 1
    629 // MIPS32EL:#define __mips_hard_float 1
    630 // MIPS32EL:#define __mips_o32 1
    631 // MIPS32EL:#define _mips 1
    632 // MIPS32EL:#define mips 1
    633 //
    634 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none < /dev/null | FileCheck -check-prefix MIPS64BE %s
    635 //
    636 // MIPS64BE:#define MIPSEB 1
    637 // MIPS64BE:#define _ABI64 3
    638 // MIPS64BE:#define _MIPSEB 1
    639 // MIPS64BE:#define _MIPS_SIM _ABI64
    640 // MIPS64BE:#define _MIPS_SZINT 32
    641 // MIPS64BE:#define _MIPS_SZLONG 64
    642 // MIPS64BE:#define _MIPS_SZPTR 64
    643 // MIPS64BE:#define __CHAR16_TYPE__ unsigned short
    644 // MIPS64BE:#define __CHAR32_TYPE__ unsigned int
    645 // MIPS64BE:#define __CHAR_BIT__ 8
    646 // MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
    647 // MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    648 // MIPS64BE:#define __DBL_DIG__ 15
    649 // MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
    650 // MIPS64BE:#define __DBL_HAS_DENORM__ 1
    651 // MIPS64BE:#define __DBL_HAS_INFINITY__ 1
    652 // MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
    653 // MIPS64BE:#define __DBL_MANT_DIG__ 53
    654 // MIPS64BE:#define __DBL_MAX_10_EXP__ 308
    655 // MIPS64BE:#define __DBL_MAX_EXP__ 1024
    656 // MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
    657 // MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
    658 // MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
    659 // MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
    660 // MIPS64BE:#define __DECIMAL_DIG__ 36
    661 // MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    662 // MIPS64BE:#define __FLT_DIG__ 6
    663 // MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
    664 // MIPS64BE:#define __FLT_EVAL_METHOD__ 0
    665 // MIPS64BE:#define __FLT_HAS_DENORM__ 1
    666 // MIPS64BE:#define __FLT_HAS_INFINITY__ 1
    667 // MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
    668 // MIPS64BE:#define __FLT_MANT_DIG__ 24
    669 // MIPS64BE:#define __FLT_MAX_10_EXP__ 38
    670 // MIPS64BE:#define __FLT_MAX_EXP__ 128
    671 // MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
    672 // MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
    673 // MIPS64BE:#define __FLT_MIN_EXP__ (-125)
    674 // MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
    675 // MIPS64BE:#define __FLT_RADIX__ 2
    676 // MIPS64BE:#define __INT16_TYPE__ short
    677 // MIPS64BE:#define __INT32_TYPE__ int
    678 // MIPS64BE:#define __INT64_C_SUFFIX__ LL
    679 // MIPS64BE:#define __INT64_TYPE__ long long int
    680 // MIPS64BE:#define __INT8_TYPE__ char
    681 // MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807LL
    682 // MIPS64BE:#define __INTMAX_TYPE__ long long int
    683 // MIPS64BE:#define __INTMAX_WIDTH__ 64
    684 // MIPS64BE:#define __INTPTR_TYPE__ long int
    685 // MIPS64BE:#define __INTPTR_WIDTH__ 64
    686 // MIPS64BE:#define __INT_MAX__ 2147483647
    687 // MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
    688 // MIPS64BE:#define __LDBL_DIG__ 33
    689 // MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
    690 // MIPS64BE:#define __LDBL_HAS_DENORM__ 1
    691 // MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
    692 // MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
    693 // MIPS64BE:#define __LDBL_MANT_DIG__ 113
    694 // MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
    695 // MIPS64BE:#define __LDBL_MAX_EXP__ 16384
    696 // MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
    697 // MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
    698 // MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
    699 // MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
    700 // MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
    701 // MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
    702 // MIPS64BE:#define __MIPSEB 1
    703 // MIPS64BE:#define __MIPSEB__ 1
    704 // MIPS64BE:#define __NO_INLINE__ 1
    705 // MIPS64BE:#define __POINTER_WIDTH__ 64
    706 // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
    707 // MIPS64BE:#define __PTRDIFF_TYPE__ long int
    708 // MIPS64BE:#define __PTRDIFF_WIDTH__ 64
    709 // MIPS64BE:#define __REGISTER_PREFIX__
    710 // MIPS64BE:#define __SCHAR_MAX__ 127
    711 // MIPS64BE:#define __SHRT_MAX__ 32767
    712 // MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
    713 // MIPS64BE:#define __SIZEOF_DOUBLE__ 8
    714 // MIPS64BE:#define __SIZEOF_FLOAT__ 4
    715 // MIPS64BE:#define __SIZEOF_INT__ 4
    716 // MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
    717 // MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
    718 // MIPS64BE:#define __SIZEOF_LONG__ 8
    719 // MIPS64BE:#define __SIZEOF_POINTER__ 8
    720 // MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
    721 // MIPS64BE:#define __SIZEOF_SHORT__ 2
    722 // MIPS64BE:#define __SIZEOF_SIZE_T__ 8
    723 // MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
    724 // MIPS64BE:#define __SIZEOF_WINT_T__ 4
    725 // MIPS64BE:#define __SIZE_TYPE__ long unsigned int
    726 // MIPS64BE:#define __SIZE_WIDTH__ 64
    727 // MIPS64BE:#define __UINTMAX_TYPE__ long long unsigned int
    728 // MIPS64BE:#define __USER_LABEL_PREFIX__ _
    729 // MIPS64BE:#define __WCHAR_MAX__ 2147483647
    730 // MIPS64BE:#define __WCHAR_TYPE__ int
    731 // MIPS64BE:#define __WCHAR_WIDTH__ 32
    732 // MIPS64BE:#define __WINT_TYPE__ int
    733 // MIPS64BE:#define __WINT_WIDTH__ 32
    734 // MIPS64BE:#define __clang__ 1
    735 // MIPS64BE:#define __llvm__ 1
    736 // MIPS64BE:#define __mips 1
    737 // MIPS64BE:#define __mips__ 1
    738 // MIPS64BE:#define __mips_hard_float 1
    739 // MIPS64BE:#define __mips_n64 1
    740 // MIPS64BE:#define _mips 1
    741 // MIPS64BE:#define mips 1
    742 //
    743 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -check-prefix MIPS64EL %s
    744 //
    745 // MIPS64EL:#define MIPSEL 1
    746 // MIPS64EL:#define _ABI64 3
    747 // MIPS64EL:#define _MIPSEL 1
    748 // MIPS64EL:#define _MIPS_SIM _ABI64
    749 // MIPS64EL:#define _MIPS_SZINT 32
    750 // MIPS64EL:#define _MIPS_SZLONG 64
    751 // MIPS64EL:#define _MIPS_SZPTR 64
    752 // MIPS64EL:#define __CHAR16_TYPE__ unsigned short
    753 // MIPS64EL:#define __CHAR32_TYPE__ unsigned int
    754 // MIPS64EL:#define __CHAR_BIT__ 8
    755 // MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
    756 // MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    757 // MIPS64EL:#define __DBL_DIG__ 15
    758 // MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
    759 // MIPS64EL:#define __DBL_HAS_DENORM__ 1
    760 // MIPS64EL:#define __DBL_HAS_INFINITY__ 1
    761 // MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
    762 // MIPS64EL:#define __DBL_MANT_DIG__ 53
    763 // MIPS64EL:#define __DBL_MAX_10_EXP__ 308
    764 // MIPS64EL:#define __DBL_MAX_EXP__ 1024
    765 // MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
    766 // MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
    767 // MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
    768 // MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
    769 // MIPS64EL:#define __DECIMAL_DIG__ 36
    770 // MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    771 // MIPS64EL:#define __FLT_DIG__ 6
    772 // MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
    773 // MIPS64EL:#define __FLT_EVAL_METHOD__ 0
    774 // MIPS64EL:#define __FLT_HAS_DENORM__ 1
    775 // MIPS64EL:#define __FLT_HAS_INFINITY__ 1
    776 // MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
    777 // MIPS64EL:#define __FLT_MANT_DIG__ 24
    778 // MIPS64EL:#define __FLT_MAX_10_EXP__ 38
    779 // MIPS64EL:#define __FLT_MAX_EXP__ 128
    780 // MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
    781 // MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
    782 // MIPS64EL:#define __FLT_MIN_EXP__ (-125)
    783 // MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
    784 // MIPS64EL:#define __FLT_RADIX__ 2
    785 // MIPS64EL:#define __INT16_TYPE__ short
    786 // MIPS64EL:#define __INT32_TYPE__ int
    787 // MIPS64EL:#define __INT64_C_SUFFIX__ LL
    788 // MIPS64EL:#define __INT64_TYPE__ long long int
    789 // MIPS64EL:#define __INT8_TYPE__ char
    790 // MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807LL
    791 // MIPS64EL:#define __INTMAX_TYPE__ long long int
    792 // MIPS64EL:#define __INTMAX_WIDTH__ 64
    793 // MIPS64EL:#define __INTPTR_TYPE__ long int
    794 // MIPS64EL:#define __INTPTR_WIDTH__ 64
    795 // MIPS64EL:#define __INT_MAX__ 2147483647
    796 // MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
    797 // MIPS64EL:#define __LDBL_DIG__ 33
    798 // MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
    799 // MIPS64EL:#define __LDBL_HAS_DENORM__ 1
    800 // MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
    801 // MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
    802 // MIPS64EL:#define __LDBL_MANT_DIG__ 113
    803 // MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
    804 // MIPS64EL:#define __LDBL_MAX_EXP__ 16384
    805 // MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
    806 // MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
    807 // MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
    808 // MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
    809 // MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
    810 // MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
    811 // MIPS64EL:#define __MIPSEL 1
    812 // MIPS64EL:#define __MIPSEL__ 1
    813 // MIPS64EL:#define __NO_INLINE__ 1
    814 // MIPS64EL:#define __POINTER_WIDTH__ 64
    815 // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
    816 // MIPS64EL:#define __PTRDIFF_TYPE__ long int
    817 // MIPS64EL:#define __PTRDIFF_WIDTH__ 64
    818 // MIPS64EL:#define __REGISTER_PREFIX__
    819 // MIPS64EL:#define __SCHAR_MAX__ 127
    820 // MIPS64EL:#define __SHRT_MAX__ 32767
    821 // MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
    822 // MIPS64EL:#define __SIZEOF_DOUBLE__ 8
    823 // MIPS64EL:#define __SIZEOF_FLOAT__ 4
    824 // MIPS64EL:#define __SIZEOF_INT__ 4
    825 // MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
    826 // MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
    827 // MIPS64EL:#define __SIZEOF_LONG__ 8
    828 // MIPS64EL:#define __SIZEOF_POINTER__ 8
    829 // MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
    830 // MIPS64EL:#define __SIZEOF_SHORT__ 2
    831 // MIPS64EL:#define __SIZEOF_SIZE_T__ 8
    832 // MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
    833 // MIPS64EL:#define __SIZEOF_WINT_T__ 4
    834 // MIPS64EL:#define __SIZE_TYPE__ long unsigned int
    835 // MIPS64EL:#define __SIZE_WIDTH__ 64
    836 // MIPS64EL:#define __UINTMAX_TYPE__ long long unsigned int
    837 // MIPS64EL:#define __USER_LABEL_PREFIX__ _
    838 // MIPS64EL:#define __WCHAR_MAX__ 2147483647
    839 // MIPS64EL:#define __WCHAR_TYPE__ int
    840 // MIPS64EL:#define __WCHAR_WIDTH__ 32
    841 // MIPS64EL:#define __WINT_TYPE__ int
    842 // MIPS64EL:#define __WINT_WIDTH__ 32
    843 // MIPS64EL:#define __clang__ 1
    844 // MIPS64EL:#define __llvm__ 1
    845 // MIPS64EL:#define __mips 1
    846 // MIPS64EL:#define __mips__ 1
    847 // MIPS64EL:#define __mips_hard_float 1
    848 // MIPS64EL:#define __mips_n64 1
    849 // MIPS64EL:#define _mips 1
    850 // MIPS64EL:#define mips 1
    851 //
    852 // Check MIPS float ABI macros
    853 //
    854 // RUN: %clang_cc1 -E -dM -ffreestanding \
    855 // RUN:   -triple=mips-none-none < /dev/null \
    856 // RUN:   | FileCheck -check-prefix MIPS-FABI-HARD %s
    857 // MIPS-FABI-HARD:#define __mips_hard_float 1
    858 //
    859 // RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
    860 // RUN:   -triple=mips-none-none < /dev/null \
    861 // RUN:   | FileCheck -check-prefix MIPS-FABI-SOFT %s
    862 // MIPS-FABI-SOFT:#define __mips_soft_float 1
    863 //
    864 // RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
    865 // RUN:   -triple=mips-none-none < /dev/null \
    866 // RUN:   | FileCheck -check-prefix MIPS-FABI-SINGLE %s
    867 // MIPS-FABI-SINGLE:#define __mips_single_float 1
    868 //
    869 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=msp430-none-none < /dev/null | FileCheck -check-prefix MSP430 %s
    870 //
    871 // MSP430:#define MSP430 1
    872 // MSP430:#define __CHAR16_TYPE__ unsigned short
    873 // MSP430:#define __CHAR32_TYPE__ unsigned int
    874 // MSP430:#define __CHAR_BIT__ 8
    875 // MSP430:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    876 // MSP430:#define __DBL_DIG__ 15
    877 // MSP430:#define __DBL_EPSILON__ 2.2204460492503131e-16
    878 // MSP430:#define __DBL_HAS_DENORM__ 1
    879 // MSP430:#define __DBL_HAS_INFINITY__ 1
    880 // MSP430:#define __DBL_HAS_QUIET_NAN__ 1
    881 // MSP430:#define __DBL_MANT_DIG__ 53
    882 // MSP430:#define __DBL_MAX_10_EXP__ 308
    883 // MSP430:#define __DBL_MAX_EXP__ 1024
    884 // MSP430:#define __DBL_MAX__ 1.7976931348623157e+308
    885 // MSP430:#define __DBL_MIN_10_EXP__ (-307)
    886 // MSP430:#define __DBL_MIN_EXP__ (-1021)
    887 // MSP430:#define __DBL_MIN__ 2.2250738585072014e-308
    888 // MSP430:#define __DECIMAL_DIG__ 17
    889 // MSP430:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    890 // MSP430:#define __FLT_DIG__ 6
    891 // MSP430:#define __FLT_EPSILON__ 1.19209290e-7F
    892 // MSP430:#define __FLT_EVAL_METHOD__ 0
    893 // MSP430:#define __FLT_HAS_DENORM__ 1
    894 // MSP430:#define __FLT_HAS_INFINITY__ 1
    895 // MSP430:#define __FLT_HAS_QUIET_NAN__ 1
    896 // MSP430:#define __FLT_MANT_DIG__ 24
    897 // MSP430:#define __FLT_MAX_10_EXP__ 38
    898 // MSP430:#define __FLT_MAX_EXP__ 128
    899 // MSP430:#define __FLT_MAX__ 3.40282347e+38F
    900 // MSP430:#define __FLT_MIN_10_EXP__ (-37)
    901 // MSP430:#define __FLT_MIN_EXP__ (-125)
    902 // MSP430:#define __FLT_MIN__ 1.17549435e-38F
    903 // MSP430:#define __FLT_RADIX__ 2
    904 // MSP430:#define __INT16_TYPE__ short
    905 // MSP430:#define __INT32_C_SUFFIX__ L
    906 // MSP430:#define __INT32_TYPE__ long int
    907 // MSP430:#define __INT8_TYPE__ char
    908 // MSP430:#define __INTMAX_MAX__ 2147483647L
    909 // MSP430:#define __INTMAX_TYPE__ long int
    910 // MSP430:#define __INTMAX_WIDTH__ 32
    911 // MSP430:#define __INTPTR_TYPE__ short
    912 // MSP430:#define __INTPTR_WIDTH__ 16
    913 // MSP430:#define __INT_MAX__ 32767
    914 // MSP430:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
    915 // MSP430:#define __LDBL_DIG__ 15
    916 // MSP430:#define __LDBL_EPSILON__ 2.2204460492503131e-16
    917 // MSP430:#define __LDBL_HAS_DENORM__ 1
    918 // MSP430:#define __LDBL_HAS_INFINITY__ 1
    919 // MSP430:#define __LDBL_HAS_QUIET_NAN__ 1
    920 // MSP430:#define __LDBL_MANT_DIG__ 53
    921 // MSP430:#define __LDBL_MAX_10_EXP__ 308
    922 // MSP430:#define __LDBL_MAX_EXP__ 1024
    923 // MSP430:#define __LDBL_MAX__ 1.7976931348623157e+308
    924 // MSP430:#define __LDBL_MIN_10_EXP__ (-307)
    925 // MSP430:#define __LDBL_MIN_EXP__ (-1021)
    926 // MSP430:#define __LDBL_MIN__ 2.2250738585072014e-308
    927 // MSP430:#define __LONG_LONG_MAX__ 9223372036854775807LL
    928 // MSP430:#define __LONG_MAX__ 2147483647L
    929 // MSP430:#define __MSP430__ 1
    930 // MSP430:#define __NO_INLINE__ 1
    931 // MSP430:#define __POINTER_WIDTH__ 16
    932 // MSP430:#define __PTRDIFF_TYPE__ int
    933 // MSP430:#define __PTRDIFF_WIDTH__ 16
    934 // MSP430:#define __SCHAR_MAX__ 127
    935 // MSP430:#define __SHRT_MAX__ 32767
    936 // MSP430:#define __SIG_ATOMIC_WIDTH__ 32
    937 // MSP430:#define __SIZEOF_DOUBLE__ 8
    938 // MSP430:#define __SIZEOF_FLOAT__ 4
    939 // MSP430:#define __SIZEOF_INT__ 2
    940 // MSP430:#define __SIZEOF_LONG_DOUBLE__ 8
    941 // MSP430:#define __SIZEOF_LONG_LONG__ 8
    942 // MSP430:#define __SIZEOF_LONG__ 4
    943 // MSP430:#define __SIZEOF_POINTER__ 2
    944 // MSP430:#define __SIZEOF_PTRDIFF_T__ 2
    945 // MSP430:#define __SIZEOF_SHORT__ 2
    946 // MSP430:#define __SIZEOF_SIZE_T__ 2
    947 // MSP430:#define __SIZEOF_WCHAR_T__ 2
    948 // MSP430:#define __SIZEOF_WINT_T__ 2
    949 // MSP430:#define __SIZE_TYPE__ unsigned int
    950 // MSP430:#define __SIZE_WIDTH__ 16
    951 // MSP430:#define __UINTMAX_TYPE__ long unsigned int
    952 // MSP430:#define __USER_LABEL_PREFIX__ _
    953 // MSP430:#define __WCHAR_MAX__ 32767
    954 // MSP430:#define __WCHAR_TYPE__ int
    955 // MSP430:#define __WCHAR_WIDTH__ 16
    956 // MSP430:#define __WINT_TYPE__ int
    957 // MSP430:#define __WINT_WIDTH__ 16
    958 // MSP430:#define __clang__ 1
    959 //
    960 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64 %s
    961 //
    962 // PPC64:#define _ARCH_PPC 1
    963 // PPC64:#define _ARCH_PPC64 1
    964 // PPC64:#define _BIG_ENDIAN 1
    965 // PPC64:#define _LP64 1
    966 // PPC64:#define __BIG_ENDIAN__ 1
    967 // PPC64:#define __CHAR16_TYPE__ unsigned short
    968 // PPC64:#define __CHAR32_TYPE__ unsigned int
    969 // PPC64:#define __CHAR_BIT__ 8
    970 // PPC64:#define __CHAR_UNSIGNED__ 1
    971 // PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
    972 // PPC64:#define __DBL_DIG__ 15
    973 // PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
    974 // PPC64:#define __DBL_HAS_DENORM__ 1
    975 // PPC64:#define __DBL_HAS_INFINITY__ 1
    976 // PPC64:#define __DBL_HAS_QUIET_NAN__ 1
    977 // PPC64:#define __DBL_MANT_DIG__ 53
    978 // PPC64:#define __DBL_MAX_10_EXP__ 308
    979 // PPC64:#define __DBL_MAX_EXP__ 1024
    980 // PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
    981 // PPC64:#define __DBL_MIN_10_EXP__ (-307)
    982 // PPC64:#define __DBL_MIN_EXP__ (-1021)
    983 // PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
    984 // PPC64:#define __DECIMAL_DIG__ 33
    985 // PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
    986 // PPC64:#define __FLT_DIG__ 6
    987 // PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
    988 // PPC64:#define __FLT_EVAL_METHOD__ 0
    989 // PPC64:#define __FLT_HAS_DENORM__ 1
    990 // PPC64:#define __FLT_HAS_INFINITY__ 1
    991 // PPC64:#define __FLT_HAS_QUIET_NAN__ 1
    992 // PPC64:#define __FLT_MANT_DIG__ 24
    993 // PPC64:#define __FLT_MAX_10_EXP__ 38
    994 // PPC64:#define __FLT_MAX_EXP__ 128
    995 // PPC64:#define __FLT_MAX__ 3.40282347e+38F
    996 // PPC64:#define __FLT_MIN_10_EXP__ (-37)
    997 // PPC64:#define __FLT_MIN_EXP__ (-125)
    998 // PPC64:#define __FLT_MIN__ 1.17549435e-38F
    999 // PPC64:#define __FLT_RADIX__ 2
   1000 // PPC64:#define __INT16_TYPE__ short
   1001 // PPC64:#define __INT32_TYPE__ int
   1002 // PPC64:#define __INT64_C_SUFFIX__ L
   1003 // PPC64:#define __INT64_TYPE__ long int
   1004 // PPC64:#define __INT8_TYPE__ char
   1005 // PPC64:#define __INTMAX_MAX__ 9223372036854775807L
   1006 // PPC64:#define __INTMAX_TYPE__ long int
   1007 // PPC64:#define __INTMAX_WIDTH__ 64
   1008 // PPC64:#define __INTPTR_TYPE__ long int
   1009 // PPC64:#define __INTPTR_WIDTH__ 64
   1010 // PPC64:#define __INT_MAX__ 2147483647
   1011 // PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   1012 // PPC64:#define __LDBL_DIG__ 31
   1013 // PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   1014 // PPC64:#define __LDBL_HAS_DENORM__ 1
   1015 // PPC64:#define __LDBL_HAS_INFINITY__ 1
   1016 // PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
   1017 // PPC64:#define __LDBL_MANT_DIG__ 106
   1018 // PPC64:#define __LDBL_MAX_10_EXP__ 308
   1019 // PPC64:#define __LDBL_MAX_EXP__ 1024
   1020 // PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   1021 // PPC64:#define __LDBL_MIN_10_EXP__ (-291)
   1022 // PPC64:#define __LDBL_MIN_EXP__ (-968)
   1023 // PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   1024 // PPC64:#define __LONG_DOUBLE_128__ 1
   1025 // PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1026 // PPC64:#define __LONG_MAX__ 9223372036854775807L
   1027 // PPC64:#define __LP64__ 1
   1028 // PPC64:#define __NATURAL_ALIGNMENT__ 1
   1029 // PPC64:#define __NO_INLINE__ 1
   1030 // PPC64:#define __POINTER_WIDTH__ 64
   1031 // PPC64:#define __POWERPC__ 1
   1032 // PPC64:#define __PTRDIFF_TYPE__ long int
   1033 // PPC64:#define __PTRDIFF_WIDTH__ 64
   1034 // PPC64:#define __REGISTER_PREFIX__
   1035 // PPC64:#define __SCHAR_MAX__ 127
   1036 // PPC64:#define __SHRT_MAX__ 32767
   1037 // PPC64:#define __SIG_ATOMIC_WIDTH__ 32
   1038 // PPC64:#define __SIZEOF_DOUBLE__ 8
   1039 // PPC64:#define __SIZEOF_FLOAT__ 4
   1040 // PPC64:#define __SIZEOF_INT__ 4
   1041 // PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
   1042 // PPC64:#define __SIZEOF_LONG_LONG__ 8
   1043 // PPC64:#define __SIZEOF_LONG__ 8
   1044 // PPC64:#define __SIZEOF_POINTER__ 8
   1045 // PPC64:#define __SIZEOF_PTRDIFF_T__ 8
   1046 // PPC64:#define __SIZEOF_SHORT__ 2
   1047 // PPC64:#define __SIZEOF_SIZE_T__ 8
   1048 // PPC64:#define __SIZEOF_WCHAR_T__ 4
   1049 // PPC64:#define __SIZEOF_WINT_T__ 4
   1050 // PPC64:#define __SIZE_TYPE__ long unsigned int
   1051 // PPC64:#define __SIZE_WIDTH__ 64
   1052 // PPC64:#define __UINTMAX_TYPE__ long unsigned int
   1053 // PPC64:#define __USER_LABEL_PREFIX__ _
   1054 // PPC64:#define __WCHAR_MAX__ 2147483647
   1055 // PPC64:#define __WCHAR_TYPE__ int
   1056 // PPC64:#define __WCHAR_WIDTH__ 32
   1057 // PPC64:#define __WINT_TYPE__ int
   1058 // PPC64:#define __WINT_WIDTH__ 32
   1059 // PPC64:#define __ppc64__ 1
   1060 // PPC64:#define __ppc__ 1
   1061 //
   1062 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC64-LINUX %s
   1063 //
   1064 // PPC64-LINUX:#define _ARCH_PPC 1
   1065 // PPC64-LINUX:#define _ARCH_PPC64 1
   1066 // PPC64-LINUX:#define _BIG_ENDIAN 1
   1067 // PPC64-LINUX:#define _LP64 1
   1068 // PPC64-LINUX:#define __BIG_ENDIAN__ 1
   1069 // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
   1070 // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
   1071 // PPC64-LINUX:#define __CHAR_BIT__ 8
   1072 // PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
   1073 // PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1074 // PPC64-LINUX:#define __DBL_DIG__ 15
   1075 // PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1076 // PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
   1077 // PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
   1078 // PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
   1079 // PPC64-LINUX:#define __DBL_MANT_DIG__ 53
   1080 // PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
   1081 // PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
   1082 // PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
   1083 // PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
   1084 // PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
   1085 // PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
   1086 // PPC64-LINUX:#define __DECIMAL_DIG__ 33
   1087 // PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1088 // PPC64-LINUX:#define __FLT_DIG__ 6
   1089 // PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
   1090 // PPC64-LINUX:#define __FLT_EVAL_METHOD__ 0
   1091 // PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
   1092 // PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
   1093 // PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
   1094 // PPC64-LINUX:#define __FLT_MANT_DIG__ 24
   1095 // PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
   1096 // PPC64-LINUX:#define __FLT_MAX_EXP__ 128
   1097 // PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
   1098 // PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
   1099 // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
   1100 // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
   1101 // PPC64-LINUX:#define __FLT_RADIX__ 2
   1102 // PPC64-LINUX:#define __INT16_TYPE__ short
   1103 // PPC64-LINUX:#define __INT32_TYPE__ int
   1104 // PPC64-LINUX:#define __INT64_C_SUFFIX__ L
   1105 // PPC64-LINUX:#define __INT64_TYPE__ long int
   1106 // PPC64-LINUX:#define __INT8_TYPE__ char
   1107 // PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
   1108 // PPC64-LINUX:#define __INTMAX_TYPE__ long int
   1109 // PPC64-LINUX:#define __INTMAX_WIDTH__ 64
   1110 // PPC64-LINUX:#define __INTPTR_TYPE__ long int
   1111 // PPC64-LINUX:#define __INTPTR_WIDTH__ 64
   1112 // PPC64-LINUX:#define __INT_MAX__ 2147483647
   1113 // PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   1114 // PPC64-LINUX:#define __LDBL_DIG__ 31
   1115 // PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   1116 // PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
   1117 // PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
   1118 // PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
   1119 // PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
   1120 // PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
   1121 // PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
   1122 // PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   1123 // PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
   1124 // PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
   1125 // PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   1126 // PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
   1127 // PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1128 // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
   1129 // PPC64-LINUX:#define __LP64__ 1
   1130 // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
   1131 // PPC64-LINUX:#define __NO_INLINE__ 1
   1132 // PPC64-LINUX:#define __POINTER_WIDTH__ 64
   1133 // PPC64-LINUX:#define __POWERPC__ 1
   1134 // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
   1135 // PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
   1136 // PPC64-LINUX:#define __REGISTER_PREFIX__
   1137 // PPC64-LINUX:#define __SCHAR_MAX__ 127
   1138 // PPC64-LINUX:#define __SHRT_MAX__ 32767
   1139 // PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
   1140 // PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
   1141 // PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
   1142 // PPC64-LINUX:#define __SIZEOF_INT__ 4
   1143 // PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
   1144 // PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
   1145 // PPC64-LINUX:#define __SIZEOF_LONG__ 8
   1146 // PPC64-LINUX:#define __SIZEOF_POINTER__ 8
   1147 // PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
   1148 // PPC64-LINUX:#define __SIZEOF_SHORT__ 2
   1149 // PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
   1150 // PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
   1151 // PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
   1152 // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
   1153 // PPC64-LINUX:#define __SIZE_WIDTH__ 64
   1154 // PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
   1155 // PPC64-LINUX:#define __USER_LABEL_PREFIX__
   1156 // PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
   1157 // PPC64-LINUX:#define __WCHAR_TYPE__ int
   1158 // PPC64-LINUX:#define __WCHAR_WIDTH__ 32
   1159 // PPC64-LINUX:#define __WINT_TYPE__ unsigned int
   1160 // PPC64-LINUX:#define __WINT_UNSIGNED__ 1
   1161 // PPC64-LINUX:#define __WINT_WIDTH__ 32
   1162 // PPC64-LINUX:#define __powerpc64__ 1
   1163 // PPC64-LINUX:#define __powerpc__ 1
   1164 // PPC64-LINUX:#define __ppc64__ 1
   1165 // PPC64-LINUX:#define __ppc__ 1
   1166 //
   1167 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-none-none -fno-signed-char < /dev/null | FileCheck -check-prefix PPC %s
   1168 //
   1169 // PPC:#define _ARCH_PPC 1
   1170 // PPC:#define _BIG_ENDIAN 1
   1171 // PPC:#define __BIG_ENDIAN__ 1
   1172 // PPC:#define __CHAR16_TYPE__ unsigned short
   1173 // PPC:#define __CHAR32_TYPE__ unsigned int
   1174 // PPC:#define __CHAR_BIT__ 8
   1175 // PPC:#define __CHAR_UNSIGNED__ 1
   1176 // PPC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1177 // PPC:#define __DBL_DIG__ 15
   1178 // PPC:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1179 // PPC:#define __DBL_HAS_DENORM__ 1
   1180 // PPC:#define __DBL_HAS_INFINITY__ 1
   1181 // PPC:#define __DBL_HAS_QUIET_NAN__ 1
   1182 // PPC:#define __DBL_MANT_DIG__ 53
   1183 // PPC:#define __DBL_MAX_10_EXP__ 308
   1184 // PPC:#define __DBL_MAX_EXP__ 1024
   1185 // PPC:#define __DBL_MAX__ 1.7976931348623157e+308
   1186 // PPC:#define __DBL_MIN_10_EXP__ (-307)
   1187 // PPC:#define __DBL_MIN_EXP__ (-1021)
   1188 // PPC:#define __DBL_MIN__ 2.2250738585072014e-308
   1189 // PPC:#define __DECIMAL_DIG__ 33
   1190 // PPC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1191 // PPC:#define __FLT_DIG__ 6
   1192 // PPC:#define __FLT_EPSILON__ 1.19209290e-7F
   1193 // PPC:#define __FLT_EVAL_METHOD__ 0
   1194 // PPC:#define __FLT_HAS_DENORM__ 1
   1195 // PPC:#define __FLT_HAS_INFINITY__ 1
   1196 // PPC:#define __FLT_HAS_QUIET_NAN__ 1
   1197 // PPC:#define __FLT_MANT_DIG__ 24
   1198 // PPC:#define __FLT_MAX_10_EXP__ 38
   1199 // PPC:#define __FLT_MAX_EXP__ 128
   1200 // PPC:#define __FLT_MAX__ 3.40282347e+38F
   1201 // PPC:#define __FLT_MIN_10_EXP__ (-37)
   1202 // PPC:#define __FLT_MIN_EXP__ (-125)
   1203 // PPC:#define __FLT_MIN__ 1.17549435e-38F
   1204 // PPC:#define __FLT_RADIX__ 2
   1205 // PPC:#define __INT16_TYPE__ short
   1206 // PPC:#define __INT32_TYPE__ int
   1207 // PPC:#define __INT64_C_SUFFIX__ LL
   1208 // PPC:#define __INT64_TYPE__ long long int
   1209 // PPC:#define __INT8_TYPE__ char
   1210 // PPC:#define __INTMAX_MAX__ 9223372036854775807LL
   1211 // PPC:#define __INTMAX_TYPE__ long long int
   1212 // PPC:#define __INTMAX_WIDTH__ 64
   1213 // PPC:#define __INTPTR_TYPE__ long int
   1214 // PPC:#define __INTPTR_WIDTH__ 32
   1215 // PPC:#define __INT_MAX__ 2147483647
   1216 // PPC:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   1217 // PPC:#define __LDBL_DIG__ 31
   1218 // PPC:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   1219 // PPC:#define __LDBL_HAS_DENORM__ 1
   1220 // PPC:#define __LDBL_HAS_INFINITY__ 1
   1221 // PPC:#define __LDBL_HAS_QUIET_NAN__ 1
   1222 // PPC:#define __LDBL_MANT_DIG__ 106
   1223 // PPC:#define __LDBL_MAX_10_EXP__ 308
   1224 // PPC:#define __LDBL_MAX_EXP__ 1024
   1225 // PPC:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   1226 // PPC:#define __LDBL_MIN_10_EXP__ (-291)
   1227 // PPC:#define __LDBL_MIN_EXP__ (-968)
   1228 // PPC:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   1229 // PPC:#define __LONG_DOUBLE_128__ 1
   1230 // PPC:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1231 // PPC:#define __LONG_MAX__ 2147483647L
   1232 // PPC:#define __NATURAL_ALIGNMENT__ 1
   1233 // PPC:#define __NO_INLINE__ 1
   1234 // PPC:#define __POINTER_WIDTH__ 32
   1235 // PPC:#define __POWERPC__ 1
   1236 // PPC:#define __PTRDIFF_TYPE__ long int
   1237 // PPC:#define __PTRDIFF_WIDTH__ 32
   1238 // PPC:#define __REGISTER_PREFIX__
   1239 // PPC:#define __SCHAR_MAX__ 127
   1240 // PPC:#define __SHRT_MAX__ 32767
   1241 // PPC:#define __SIG_ATOMIC_WIDTH__ 32
   1242 // PPC:#define __SIZEOF_DOUBLE__ 8
   1243 // PPC:#define __SIZEOF_FLOAT__ 4
   1244 // PPC:#define __SIZEOF_INT__ 4
   1245 // PPC:#define __SIZEOF_LONG_DOUBLE__ 16
   1246 // PPC:#define __SIZEOF_LONG_LONG__ 8
   1247 // PPC:#define __SIZEOF_LONG__ 4
   1248 // PPC:#define __SIZEOF_POINTER__ 4
   1249 // PPC:#define __SIZEOF_PTRDIFF_T__ 4
   1250 // PPC:#define __SIZEOF_SHORT__ 2
   1251 // PPC:#define __SIZEOF_SIZE_T__ 4
   1252 // PPC:#define __SIZEOF_WCHAR_T__ 4
   1253 // PPC:#define __SIZEOF_WINT_T__ 4
   1254 // PPC:#define __SIZE_TYPE__ long unsigned int
   1255 // PPC:#define __SIZE_WIDTH__ 32
   1256 // PPC:#define __UINTMAX_TYPE__ long long unsigned int
   1257 // PPC:#define __USER_LABEL_PREFIX__ _
   1258 // PPC:#define __WCHAR_MAX__ 2147483647
   1259 // PPC:#define __WCHAR_TYPE__ int
   1260 // PPC:#define __WCHAR_WIDTH__ 32
   1261 // PPC:#define __WINT_TYPE__ int
   1262 // PPC:#define __WINT_WIDTH__ 32
   1263 // PPC:#define __ppc__ 1
   1264 //
   1265 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-LINUX %s
   1266 //
   1267 // PPC-LINUX:#define _ARCH_PPC 1
   1268 // PPC-LINUX:#define _BIG_ENDIAN 1
   1269 // PPC-LINUX:#define __BIG_ENDIAN__ 1
   1270 // PPC-LINUX:#define __CHAR16_TYPE__ unsigned short
   1271 // PPC-LINUX:#define __CHAR32_TYPE__ unsigned int
   1272 // PPC-LINUX:#define __CHAR_BIT__ 8
   1273 // PPC-LINUX:#define __CHAR_UNSIGNED__ 1
   1274 // PPC-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1275 // PPC-LINUX:#define __DBL_DIG__ 15
   1276 // PPC-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1277 // PPC-LINUX:#define __DBL_HAS_DENORM__ 1
   1278 // PPC-LINUX:#define __DBL_HAS_INFINITY__ 1
   1279 // PPC-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
   1280 // PPC-LINUX:#define __DBL_MANT_DIG__ 53
   1281 // PPC-LINUX:#define __DBL_MAX_10_EXP__ 308
   1282 // PPC-LINUX:#define __DBL_MAX_EXP__ 1024
   1283 // PPC-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
   1284 // PPC-LINUX:#define __DBL_MIN_10_EXP__ (-307)
   1285 // PPC-LINUX:#define __DBL_MIN_EXP__ (-1021)
   1286 // PPC-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
   1287 // PPC-LINUX:#define __DECIMAL_DIG__ 33
   1288 // PPC-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1289 // PPC-LINUX:#define __FLT_DIG__ 6
   1290 // PPC-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
   1291 // PPC-LINUX:#define __FLT_EVAL_METHOD__ 0
   1292 // PPC-LINUX:#define __FLT_HAS_DENORM__ 1
   1293 // PPC-LINUX:#define __FLT_HAS_INFINITY__ 1
   1294 // PPC-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
   1295 // PPC-LINUX:#define __FLT_MANT_DIG__ 24
   1296 // PPC-LINUX:#define __FLT_MAX_10_EXP__ 38
   1297 // PPC-LINUX:#define __FLT_MAX_EXP__ 128
   1298 // PPC-LINUX:#define __FLT_MAX__ 3.40282347e+38F
   1299 // PPC-LINUX:#define __FLT_MIN_10_EXP__ (-37)
   1300 // PPC-LINUX:#define __FLT_MIN_EXP__ (-125)
   1301 // PPC-LINUX:#define __FLT_MIN__ 1.17549435e-38F
   1302 // PPC-LINUX:#define __FLT_RADIX__ 2
   1303 // PPC-LINUX:#define __INT16_TYPE__ short
   1304 // PPC-LINUX:#define __INT32_TYPE__ int
   1305 // PPC-LINUX:#define __INT64_C_SUFFIX__ LL
   1306 // PPC-LINUX:#define __INT64_TYPE__ long long int
   1307 // PPC-LINUX:#define __INT8_TYPE__ char
   1308 // PPC-LINUX:#define __INTMAX_MAX__ 9223372036854775807LL
   1309 // PPC-LINUX:#define __INTMAX_TYPE__ long long int
   1310 // PPC-LINUX:#define __INTMAX_WIDTH__ 64
   1311 // PPC-LINUX:#define __INTPTR_TYPE__ int
   1312 // PPC-LINUX:#define __INTPTR_WIDTH__ 32
   1313 // PPC-LINUX:#define __INT_MAX__ 2147483647
   1314 // PPC-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
   1315 // PPC-LINUX:#define __LDBL_DIG__ 31
   1316 // PPC-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
   1317 // PPC-LINUX:#define __LDBL_HAS_DENORM__ 1
   1318 // PPC-LINUX:#define __LDBL_HAS_INFINITY__ 1
   1319 // PPC-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
   1320 // PPC-LINUX:#define __LDBL_MANT_DIG__ 106
   1321 // PPC-LINUX:#define __LDBL_MAX_10_EXP__ 308
   1322 // PPC-LINUX:#define __LDBL_MAX_EXP__ 1024
   1323 // PPC-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
   1324 // PPC-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
   1325 // PPC-LINUX:#define __LDBL_MIN_EXP__ (-968)
   1326 // PPC-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
   1327 // PPC-LINUX:#define __LONG_DOUBLE_128__ 1
   1328 // PPC-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1329 // PPC-LINUX:#define __LONG_MAX__ 2147483647L
   1330 // PPC-LINUX:#define __NATURAL_ALIGNMENT__ 1
   1331 // PPC-LINUX:#define __NO_INLINE__ 1
   1332 // PPC-LINUX:#define __POINTER_WIDTH__ 32
   1333 // PPC-LINUX:#define __POWERPC__ 1
   1334 // PPC-LINUX:#define __PTRDIFF_TYPE__ int
   1335 // PPC-LINUX:#define __PTRDIFF_WIDTH__ 32
   1336 // PPC-LINUX:#define __REGISTER_PREFIX__
   1337 // PPC-LINUX:#define __SCHAR_MAX__ 127
   1338 // PPC-LINUX:#define __SHRT_MAX__ 32767
   1339 // PPC-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
   1340 // PPC-LINUX:#define __SIZEOF_DOUBLE__ 8
   1341 // PPC-LINUX:#define __SIZEOF_FLOAT__ 4
   1342 // PPC-LINUX:#define __SIZEOF_INT__ 4
   1343 // PPC-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
   1344 // PPC-LINUX:#define __SIZEOF_LONG_LONG__ 8
   1345 // PPC-LINUX:#define __SIZEOF_LONG__ 4
   1346 // PPC-LINUX:#define __SIZEOF_POINTER__ 4
   1347 // PPC-LINUX:#define __SIZEOF_PTRDIFF_T__ 4
   1348 // PPC-LINUX:#define __SIZEOF_SHORT__ 2
   1349 // PPC-LINUX:#define __SIZEOF_SIZE_T__ 4
   1350 // PPC-LINUX:#define __SIZEOF_WCHAR_T__ 4
   1351 // PPC-LINUX:#define __SIZEOF_WINT_T__ 4
   1352 // PPC-LINUX:#define __SIZE_TYPE__ unsigned int
   1353 // PPC-LINUX:#define __SIZE_WIDTH__ 32
   1354 // PPC-LINUX:#define __UINTMAX_TYPE__ long long unsigned int
   1355 // PPC-LINUX:#define __USER_LABEL_PREFIX__
   1356 // PPC-LINUX:#define __WCHAR_MAX__ 2147483647
   1357 // PPC-LINUX:#define __WCHAR_TYPE__ int
   1358 // PPC-LINUX:#define __WCHAR_WIDTH__ 32
   1359 // PPC-LINUX:#define __WINT_TYPE__ unsigned int
   1360 // PPC-LINUX:#define __WINT_UNSIGNED__ 1
   1361 // PPC-LINUX:#define __WINT_WIDTH__ 32
   1362 // PPC-LINUX:#define __powerpc__ 1
   1363 // PPC-LINUX:#define __ppc__ 1
   1364 //
   1365 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc-none-none < /dev/null | FileCheck -check-prefix SPARC %s
   1366 //
   1367 // SPARC:#define __CHAR16_TYPE__ unsigned short
   1368 // SPARC:#define __CHAR32_TYPE__ unsigned int
   1369 // SPARC:#define __CHAR_BIT__ 8
   1370 // SPARC:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1371 // SPARC:#define __DBL_DIG__ 15
   1372 // SPARC:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1373 // SPARC:#define __DBL_HAS_DENORM__ 1
   1374 // SPARC:#define __DBL_HAS_INFINITY__ 1
   1375 // SPARC:#define __DBL_HAS_QUIET_NAN__ 1
   1376 // SPARC:#define __DBL_MANT_DIG__ 53
   1377 // SPARC:#define __DBL_MAX_10_EXP__ 308
   1378 // SPARC:#define __DBL_MAX_EXP__ 1024
   1379 // SPARC:#define __DBL_MAX__ 1.7976931348623157e+308
   1380 // SPARC:#define __DBL_MIN_10_EXP__ (-307)
   1381 // SPARC:#define __DBL_MIN_EXP__ (-1021)
   1382 // SPARC:#define __DBL_MIN__ 2.2250738585072014e-308
   1383 // SPARC:#define __DECIMAL_DIG__ 17
   1384 // SPARC:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1385 // SPARC:#define __FLT_DIG__ 6
   1386 // SPARC:#define __FLT_EPSILON__ 1.19209290e-7F
   1387 // SPARC:#define __FLT_EVAL_METHOD__ 0
   1388 // SPARC:#define __FLT_HAS_DENORM__ 1
   1389 // SPARC:#define __FLT_HAS_INFINITY__ 1
   1390 // SPARC:#define __FLT_HAS_QUIET_NAN__ 1
   1391 // SPARC:#define __FLT_MANT_DIG__ 24
   1392 // SPARC:#define __FLT_MAX_10_EXP__ 38
   1393 // SPARC:#define __FLT_MAX_EXP__ 128
   1394 // SPARC:#define __FLT_MAX__ 3.40282347e+38F
   1395 // SPARC:#define __FLT_MIN_10_EXP__ (-37)
   1396 // SPARC:#define __FLT_MIN_EXP__ (-125)
   1397 // SPARC:#define __FLT_MIN__ 1.17549435e-38F
   1398 // SPARC:#define __FLT_RADIX__ 2
   1399 // SPARC:#define __INT16_TYPE__ short
   1400 // SPARC:#define __INT32_TYPE__ int
   1401 // SPARC:#define __INT64_C_SUFFIX__ LL
   1402 // SPARC:#define __INT64_TYPE__ long long int
   1403 // SPARC:#define __INT8_TYPE__ char
   1404 // SPARC:#define __INTMAX_MAX__ 9223372036854775807LL
   1405 // SPARC:#define __INTMAX_TYPE__ long long int
   1406 // SPARC:#define __INTMAX_WIDTH__ 64
   1407 // SPARC:#define __INTPTR_TYPE__ long int
   1408 // SPARC:#define __INTPTR_WIDTH__ 32
   1409 // SPARC:#define __INT_MAX__ 2147483647
   1410 // SPARC:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324
   1411 // SPARC:#define __LDBL_DIG__ 15
   1412 // SPARC:#define __LDBL_EPSILON__ 2.2204460492503131e-16
   1413 // SPARC:#define __LDBL_HAS_DENORM__ 1
   1414 // SPARC:#define __LDBL_HAS_INFINITY__ 1
   1415 // SPARC:#define __LDBL_HAS_QUIET_NAN__ 1
   1416 // SPARC:#define __LDBL_MANT_DIG__ 53
   1417 // SPARC:#define __LDBL_MAX_10_EXP__ 308
   1418 // SPARC:#define __LDBL_MAX_EXP__ 1024
   1419 // SPARC:#define __LDBL_MAX__ 1.7976931348623157e+308
   1420 // SPARC:#define __LDBL_MIN_10_EXP__ (-307)
   1421 // SPARC:#define __LDBL_MIN_EXP__ (-1021)
   1422 // SPARC:#define __LDBL_MIN__ 2.2250738585072014e-308
   1423 // SPARC:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1424 // SPARC:#define __LONG_MAX__ 2147483647L
   1425 // SPARC:#define __NO_INLINE__ 1
   1426 // SPARC:#define __POINTER_WIDTH__ 32
   1427 // SPARC:#define __PTRDIFF_TYPE__ long int
   1428 // SPARC:#define __PTRDIFF_WIDTH__ 32
   1429 // SPARC:#define __REGISTER_PREFIX__
   1430 // SPARC:#define __SCHAR_MAX__ 127
   1431 // SPARC:#define __SHRT_MAX__ 32767
   1432 // SPARC:#define __SIG_ATOMIC_WIDTH__ 32
   1433 // SPARC:#define __SIZEOF_DOUBLE__ 8
   1434 // SPARC:#define __SIZEOF_FLOAT__ 4
   1435 // SPARC:#define __SIZEOF_INT__ 4
   1436 // SPARC:#define __SIZEOF_LONG_DOUBLE__ 8
   1437 // SPARC:#define __SIZEOF_LONG_LONG__ 8
   1438 // SPARC:#define __SIZEOF_LONG__ 4
   1439 // SPARC:#define __SIZEOF_POINTER__ 4
   1440 // SPARC:#define __SIZEOF_PTRDIFF_T__ 4
   1441 // SPARC:#define __SIZEOF_SHORT__ 2
   1442 // SPARC:#define __SIZEOF_SIZE_T__ 4
   1443 // SPARC:#define __SIZEOF_WCHAR_T__ 4
   1444 // SPARC:#define __SIZEOF_WINT_T__ 4
   1445 // SPARC:#define __SIZE_TYPE__ long unsigned int
   1446 // SPARC:#define __SIZE_WIDTH__ 32
   1447 // SPARC:#define __UINTMAX_TYPE__ long long unsigned int
   1448 // SPARC:#define __USER_LABEL_PREFIX__ _
   1449 // SPARC:#define __VERSION__ "4.2.1 Compatible
   1450 // SPARC:#define __WCHAR_MAX__ 2147483647
   1451 // SPARC:#define __WCHAR_TYPE__ int
   1452 // SPARC:#define __WCHAR_WIDTH__ 32
   1453 // SPARC:#define __WINT_TYPE__ int
   1454 // SPARC:#define __WINT_WIDTH__ 32
   1455 // SPARC:#define __sparc 1
   1456 // SPARC:#define __sparc__ 1
   1457 // SPARC:#define __sparcv8 1
   1458 // SPARC:#define sparc 1
   1459 //
   1460 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=tce-none-none < /dev/null | FileCheck -check-prefix TCE %s
   1461 //
   1462 // TCE:#define __CHAR16_TYPE__ unsigned short
   1463 // TCE:#define __CHAR32_TYPE__ unsigned int
   1464 // TCE:#define __CHAR_BIT__ 8
   1465 // TCE:#define __DBL_DENORM_MIN__ 1.40129846e-45F
   1466 // TCE:#define __DBL_DIG__ 6
   1467 // TCE:#define __DBL_EPSILON__ 1.19209290e-7F
   1468 // TCE:#define __DBL_HAS_DENORM__ 1
   1469 // TCE:#define __DBL_HAS_INFINITY__ 1
   1470 // TCE:#define __DBL_HAS_QUIET_NAN__ 1
   1471 // TCE:#define __DBL_MANT_DIG__ 24
   1472 // TCE:#define __DBL_MAX_10_EXP__ 38
   1473 // TCE:#define __DBL_MAX_EXP__ 128
   1474 // TCE:#define __DBL_MAX__ 3.40282347e+38F
   1475 // TCE:#define __DBL_MIN_10_EXP__ (-37)
   1476 // TCE:#define __DBL_MIN_EXP__ (-125)
   1477 // TCE:#define __DBL_MIN__ 1.17549435e-38F
   1478 // TCE:#define __DECIMAL_DIG__ -1
   1479 // TCE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1480 // TCE:#define __FLT_DIG__ 6
   1481 // TCE:#define __FLT_EPSILON__ 1.19209290e-7F
   1482 // TCE:#define __FLT_EVAL_METHOD__ 0
   1483 // TCE:#define __FLT_HAS_DENORM__ 1
   1484 // TCE:#define __FLT_HAS_INFINITY__ 1
   1485 // TCE:#define __FLT_HAS_QUIET_NAN__ 1
   1486 // TCE:#define __FLT_MANT_DIG__ 24
   1487 // TCE:#define __FLT_MAX_10_EXP__ 38
   1488 // TCE:#define __FLT_MAX_EXP__ 128
   1489 // TCE:#define __FLT_MAX__ 3.40282347e+38F
   1490 // TCE:#define __FLT_MIN_10_EXP__ (-37)
   1491 // TCE:#define __FLT_MIN_EXP__ (-125)
   1492 // TCE:#define __FLT_MIN__ 1.17549435e-38F
   1493 // TCE:#define __FLT_RADIX__ 2
   1494 // TCE:#define __INT16_TYPE__ short
   1495 // TCE:#define __INT32_TYPE__ int
   1496 // TCE:#define __INT8_TYPE__ char
   1497 // TCE:#define __INTMAX_MAX__ 2147483647L
   1498 // TCE:#define __INTMAX_TYPE__ long int
   1499 // TCE:#define __INTMAX_WIDTH__ 32
   1500 // TCE:#define __INTPTR_TYPE__ int
   1501 // TCE:#define __INTPTR_WIDTH__ 32
   1502 // TCE:#define __INT_MAX__ 2147483647
   1503 // TCE:#define __LDBL_DENORM_MIN__ 1.40129846e-45F
   1504 // TCE:#define __LDBL_DIG__ 6
   1505 // TCE:#define __LDBL_EPSILON__ 1.19209290e-7F
   1506 // TCE:#define __LDBL_HAS_DENORM__ 1
   1507 // TCE:#define __LDBL_HAS_INFINITY__ 1
   1508 // TCE:#define __LDBL_HAS_QUIET_NAN__ 1
   1509 // TCE:#define __LDBL_MANT_DIG__ 24
   1510 // TCE:#define __LDBL_MAX_10_EXP__ 38
   1511 // TCE:#define __LDBL_MAX_EXP__ 128
   1512 // TCE:#define __LDBL_MAX__ 3.40282347e+38F
   1513 // TCE:#define __LDBL_MIN_10_EXP__ (-37)
   1514 // TCE:#define __LDBL_MIN_EXP__ (-125)
   1515 // TCE:#define __LDBL_MIN__ 1.17549435e-38F
   1516 // TCE:#define __LONG_LONG_MAX__ 2147483647LL
   1517 // TCE:#define __LONG_MAX__ 2147483647L
   1518 // TCE:#define __NO_INLINE__ 1
   1519 // TCE:#define __POINTER_WIDTH__ 32
   1520 // TCE:#define __PTRDIFF_TYPE__ int
   1521 // TCE:#define __PTRDIFF_WIDTH__ 32
   1522 // TCE:#define __SCHAR_MAX__ 127
   1523 // TCE:#define __SHRT_MAX__ 32767
   1524 // TCE:#define __SIG_ATOMIC_WIDTH__ 32
   1525 // TCE:#define __SIZEOF_DOUBLE__ 4
   1526 // TCE:#define __SIZEOF_FLOAT__ 4
   1527 // TCE:#define __SIZEOF_INT__ 4
   1528 // TCE:#define __SIZEOF_LONG_DOUBLE__ 4
   1529 // TCE:#define __SIZEOF_LONG_LONG__ 4
   1530 // TCE:#define __SIZEOF_LONG__ 4
   1531 // TCE:#define __SIZEOF_POINTER__ 4
   1532 // TCE:#define __SIZEOF_PTRDIFF_T__ 4
   1533 // TCE:#define __SIZEOF_SHORT__ 2
   1534 // TCE:#define __SIZEOF_SIZE_T__ 4
   1535 // TCE:#define __SIZEOF_WCHAR_T__ 4
   1536 // TCE:#define __SIZEOF_WINT_T__ 4
   1537 // TCE:#define __SIZE_TYPE__ unsigned int
   1538 // TCE:#define __SIZE_WIDTH__ 32
   1539 // TCE:#define __TCE_V1__ 1
   1540 // TCE:#define __TCE__ 1
   1541 // TCE:#define __UINTMAX_TYPE__ long unsigned int
   1542 // TCE:#define __USER_LABEL_PREFIX__ _
   1543 // TCE:#define __WCHAR_MAX__ 2147483647
   1544 // TCE:#define __WCHAR_TYPE__ int
   1545 // TCE:#define __WCHAR_WIDTH__ 32
   1546 // TCE:#define __WINT_TYPE__ int
   1547 // TCE:#define __WINT_WIDTH__ 32
   1548 // TCE:#define __tce 1
   1549 // TCE:#define __tce__ 1
   1550 // TCE:#define tce 1
   1551 //
   1552 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-none-none < /dev/null | FileCheck -check-prefix X86_64 %s
   1553 //
   1554 // X86_64:#define _LP64 1
   1555 // X86_64:#define __CHAR16_TYPE__ unsigned short
   1556 // X86_64:#define __CHAR32_TYPE__ unsigned int
   1557 // X86_64:#define __CHAR_BIT__ 8
   1558 // X86_64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1559 // X86_64:#define __DBL_DIG__ 15
   1560 // X86_64:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1561 // X86_64:#define __DBL_HAS_DENORM__ 1
   1562 // X86_64:#define __DBL_HAS_INFINITY__ 1
   1563 // X86_64:#define __DBL_HAS_QUIET_NAN__ 1
   1564 // X86_64:#define __DBL_MANT_DIG__ 53
   1565 // X86_64:#define __DBL_MAX_10_EXP__ 308
   1566 // X86_64:#define __DBL_MAX_EXP__ 1024
   1567 // X86_64:#define __DBL_MAX__ 1.7976931348623157e+308
   1568 // X86_64:#define __DBL_MIN_10_EXP__ (-307)
   1569 // X86_64:#define __DBL_MIN_EXP__ (-1021)
   1570 // X86_64:#define __DBL_MIN__ 2.2250738585072014e-308
   1571 // X86_64:#define __DECIMAL_DIG__ 21
   1572 // X86_64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1573 // X86_64:#define __FLT_DIG__ 6
   1574 // X86_64:#define __FLT_EPSILON__ 1.19209290e-7F
   1575 // X86_64:#define __FLT_EVAL_METHOD__ 0
   1576 // X86_64:#define __FLT_HAS_DENORM__ 1
   1577 // X86_64:#define __FLT_HAS_INFINITY__ 1
   1578 // X86_64:#define __FLT_HAS_QUIET_NAN__ 1
   1579 // X86_64:#define __FLT_MANT_DIG__ 24
   1580 // X86_64:#define __FLT_MAX_10_EXP__ 38
   1581 // X86_64:#define __FLT_MAX_EXP__ 128
   1582 // X86_64:#define __FLT_MAX__ 3.40282347e+38F
   1583 // X86_64:#define __FLT_MIN_10_EXP__ (-37)
   1584 // X86_64:#define __FLT_MIN_EXP__ (-125)
   1585 // X86_64:#define __FLT_MIN__ 1.17549435e-38F
   1586 // X86_64:#define __FLT_RADIX__ 2
   1587 // X86_64:#define __INT16_TYPE__ short
   1588 // X86_64:#define __INT32_TYPE__ int
   1589 // X86_64:#define __INT64_C_SUFFIX__ L
   1590 // X86_64:#define __INT64_TYPE__ long int
   1591 // X86_64:#define __INT8_TYPE__ char
   1592 // X86_64:#define __INTMAX_MAX__ 9223372036854775807L
   1593 // X86_64:#define __INTMAX_TYPE__ long int
   1594 // X86_64:#define __INTMAX_WIDTH__ 64
   1595 // X86_64:#define __INTPTR_TYPE__ long int
   1596 // X86_64:#define __INTPTR_WIDTH__ 64
   1597 // X86_64:#define __INT_MAX__ 2147483647
   1598 // X86_64:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
   1599 // X86_64:#define __LDBL_DIG__ 18
   1600 // X86_64:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
   1601 // X86_64:#define __LDBL_HAS_DENORM__ 1
   1602 // X86_64:#define __LDBL_HAS_INFINITY__ 1
   1603 // X86_64:#define __LDBL_HAS_QUIET_NAN__ 1
   1604 // X86_64:#define __LDBL_MANT_DIG__ 64
   1605 // X86_64:#define __LDBL_MAX_10_EXP__ 4932
   1606 // X86_64:#define __LDBL_MAX_EXP__ 16384
   1607 // X86_64:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
   1608 // X86_64:#define __LDBL_MIN_10_EXP__ (-4931)
   1609 // X86_64:#define __LDBL_MIN_EXP__ (-16381)
   1610 // X86_64:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
   1611 // X86_64:#define __LITTLE_ENDIAN__ 1
   1612 // X86_64:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1613 // X86_64:#define __LONG_MAX__ 9223372036854775807L
   1614 // X86_64:#define __LP64__ 1
   1615 // X86_64:#define __MMX__ 1
   1616 // X86_64:#define __NO_INLINE__ 1
   1617 // X86_64:#define __NO_MATH_INLINES 1
   1618 // X86_64:#define __POINTER_WIDTH__ 64
   1619 // X86_64:#define __PTRDIFF_TYPE__ long int
   1620 // X86_64:#define __PTRDIFF_WIDTH__ 64
   1621 // X86_64:#define __REGISTER_PREFIX__
   1622 // X86_64:#define __SCHAR_MAX__ 127
   1623 // X86_64:#define __SHRT_MAX__ 32767
   1624 // X86_64:#define __SIG_ATOMIC_WIDTH__ 32
   1625 // X86_64:#define __SIZEOF_DOUBLE__ 8
   1626 // X86_64:#define __SIZEOF_FLOAT__ 4
   1627 // X86_64:#define __SIZEOF_INT__ 4
   1628 // X86_64:#define __SIZEOF_LONG_DOUBLE__ 16
   1629 // X86_64:#define __SIZEOF_LONG_LONG__ 8
   1630 // X86_64:#define __SIZEOF_LONG__ 8
   1631 // X86_64:#define __SIZEOF_POINTER__ 8
   1632 // X86_64:#define __SIZEOF_PTRDIFF_T__ 8
   1633 // X86_64:#define __SIZEOF_SHORT__ 2
   1634 // X86_64:#define __SIZEOF_SIZE_T__ 8
   1635 // X86_64:#define __SIZEOF_WCHAR_T__ 4
   1636 // X86_64:#define __SIZEOF_WINT_T__ 4
   1637 // X86_64:#define __SIZE_TYPE__ long unsigned int
   1638 // X86_64:#define __SIZE_WIDTH__ 64
   1639 // X86_64:#define __SSE2_MATH__ 1
   1640 // X86_64:#define __SSE2__ 1
   1641 // X86_64:#define __SSE_MATH__ 1
   1642 // X86_64:#define __SSE__ 1
   1643 // X86_64:#define __UINTMAX_TYPE__ long unsigned int
   1644 // X86_64:#define __USER_LABEL_PREFIX__ _
   1645 // X86_64:#define __WCHAR_MAX__ 2147483647
   1646 // X86_64:#define __WCHAR_TYPE__ int
   1647 // X86_64:#define __WCHAR_WIDTH__ 32
   1648 // X86_64:#define __WINT_TYPE__ int
   1649 // X86_64:#define __WINT_WIDTH__ 32
   1650 // X86_64:#define __amd64 1
   1651 // X86_64:#define __amd64__ 1
   1652 // X86_64:#define __x86_64 1
   1653 // X86_64:#define __x86_64__ 1
   1654 //
   1655 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=x86_64-pc-linux-gnu < /dev/null | FileCheck -check-prefix X86_64-LINUX %s
   1656 //
   1657 // X86_64-LINUX:#define _LP64 1
   1658 // X86_64-LINUX:#define __CHAR16_TYPE__ unsigned short
   1659 // X86_64-LINUX:#define __CHAR32_TYPE__ unsigned int
   1660 // X86_64-LINUX:#define __CHAR_BIT__ 8
   1661 // X86_64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   1662 // X86_64-LINUX:#define __DBL_DIG__ 15
   1663 // X86_64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
   1664 // X86_64-LINUX:#define __DBL_HAS_DENORM__ 1
   1665 // X86_64-LINUX:#define __DBL_HAS_INFINITY__ 1
   1666 // X86_64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
   1667 // X86_64-LINUX:#define __DBL_MANT_DIG__ 53
   1668 // X86_64-LINUX:#define __DBL_MAX_10_EXP__ 308
   1669 // X86_64-LINUX:#define __DBL_MAX_EXP__ 1024
   1670 // X86_64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
   1671 // X86_64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
   1672 // X86_64-LINUX:#define __DBL_MIN_EXP__ (-1021)
   1673 // X86_64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
   1674 // X86_64-LINUX:#define __DECIMAL_DIG__ 21
   1675 // X86_64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
   1676 // X86_64-LINUX:#define __FLT_DIG__ 6
   1677 // X86_64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
   1678 // X86_64-LINUX:#define __FLT_EVAL_METHOD__ 0
   1679 // X86_64-LINUX:#define __FLT_HAS_DENORM__ 1
   1680 // X86_64-LINUX:#define __FLT_HAS_INFINITY__ 1
   1681 // X86_64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
   1682 // X86_64-LINUX:#define __FLT_MANT_DIG__ 24
   1683 // X86_64-LINUX:#define __FLT_MAX_10_EXP__ 38
   1684 // X86_64-LINUX:#define __FLT_MAX_EXP__ 128
   1685 // X86_64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
   1686 // X86_64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
   1687 // X86_64-LINUX:#define __FLT_MIN_EXP__ (-125)
   1688 // X86_64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
   1689 // X86_64-LINUX:#define __FLT_RADIX__ 2
   1690 // X86_64-LINUX:#define __INT16_TYPE__ short
   1691 // X86_64-LINUX:#define __INT32_TYPE__ int
   1692 // X86_64-LINUX:#define __INT64_C_SUFFIX__ L
   1693 // X86_64-LINUX:#define __INT64_TYPE__ long int
   1694 // X86_64-LINUX:#define __INT8_TYPE__ char
   1695 // X86_64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
   1696 // X86_64-LINUX:#define __INTMAX_TYPE__ long int
   1697 // X86_64-LINUX:#define __INTMAX_WIDTH__ 64
   1698 // X86_64-LINUX:#define __INTPTR_TYPE__ long int
   1699 // X86_64-LINUX:#define __INTPTR_WIDTH__ 64
   1700 // X86_64-LINUX:#define __INT_MAX__ 2147483647
   1701 // X86_64-LINUX:#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
   1702 // X86_64-LINUX:#define __LDBL_DIG__ 18
   1703 // X86_64-LINUX:#define __LDBL_EPSILON__ 1.08420217248550443401e-19L
   1704 // X86_64-LINUX:#define __LDBL_HAS_DENORM__ 1
   1705 // X86_64-LINUX:#define __LDBL_HAS_INFINITY__ 1
   1706 // X86_64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
   1707 // X86_64-LINUX:#define __LDBL_MANT_DIG__ 64
   1708 // X86_64-LINUX:#define __LDBL_MAX_10_EXP__ 4932
   1709 // X86_64-LINUX:#define __LDBL_MAX_EXP__ 16384
   1710 // X86_64-LINUX:#define __LDBL_MAX__ 1.18973149535723176502e+4932L
   1711 // X86_64-LINUX:#define __LDBL_MIN_10_EXP__ (-4931)
   1712 // X86_64-LINUX:#define __LDBL_MIN_EXP__ (-16381)
   1713 // X86_64-LINUX:#define __LDBL_MIN__ 3.36210314311209350626e-4932L
   1714 // X86_64-LINUX:#define __LITTLE_ENDIAN__ 1
   1715 // X86_64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
   1716 // X86_64-LINUX:#define __LONG_MAX__ 9223372036854775807L
   1717 // X86_64-LINUX:#define __LP64__ 1
   1718 // X86_64-LINUX:#define __MMX__ 1
   1719 // X86_64-LINUX:#define __NO_INLINE__ 1
   1720 // X86_64-LINUX:#define __NO_MATH_INLINES 1
   1721 // X86_64-LINUX:#define __POINTER_WIDTH__ 64
   1722 // X86_64-LINUX:#define __PTRDIFF_TYPE__ long int
   1723 // X86_64-LINUX:#define __PTRDIFF_WIDTH__ 64
   1724 // X86_64-LINUX:#define __REGISTER_PREFIX__
   1725 // X86_64-LINUX:#define __SCHAR_MAX__ 127
   1726 // X86_64-LINUX:#define __SHRT_MAX__ 32767
   1727 // X86_64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
   1728 // X86_64-LINUX:#define __SIZEOF_DOUBLE__ 8
   1729 // X86_64-LINUX:#define __SIZEOF_FLOAT__ 4
   1730 // X86_64-LINUX:#define __SIZEOF_INT__ 4
   1731 // X86_64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
   1732 // X86_64-LINUX:#define __SIZEOF_LONG_LONG__ 8
   1733 // X86_64-LINUX:#define __SIZEOF_LONG__ 8
   1734 // X86_64-LINUX:#define __SIZEOF_POINTER__ 8
   1735 // X86_64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
   1736 // X86_64-LINUX:#define __SIZEOF_SHORT__ 2
   1737 // X86_64-LINUX:#define __SIZEOF_SIZE_T__ 8
   1738 // X86_64-LINUX:#define __SIZEOF_WCHAR_T__ 4
   1739 // X86_64-LINUX:#define __SIZEOF_WINT_T__ 4
   1740 // X86_64-LINUX:#define __SIZE_TYPE__ long unsigned int
   1741 // X86_64-LINUX:#define __SIZE_WIDTH__ 64
   1742 // X86_64-LINUX:#define __SSE2_MATH__ 1
   1743 // X86_64-LINUX:#define __SSE2__ 1
   1744 // X86_64-LINUX:#define __SSE_MATH__ 1
   1745 // X86_64-LINUX:#define __SSE__ 1
   1746 // X86_64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
   1747 // X86_64-LINUX:#define __USER_LABEL_PREFIX__
   1748 // X86_64-LINUX:#define __WCHAR_MAX__ 2147483647
   1749 // X86_64-LINUX:#define __WCHAR_TYPE__ int
   1750 // X86_64-LINUX:#define __WCHAR_WIDTH__ 32
   1751 // X86_64-LINUX:#define __WINT_TYPE__ unsigned int
   1752 // X86_64-LINUX:#define __WINT_WIDTH__ 32
   1753 // X86_64-LINUX:#define __amd64 1
   1754 // X86_64-LINUX:#define __amd64__ 1
   1755 // X86_64-LINUX:#define __x86_64 1
   1756 // X86_64-LINUX:#define __x86_64__ 1
   1757 //
   1758 // RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-fragile-abi -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
   1759 // GNUSOURCE:#define _GNU_SOURCE 1
   1760 //
   1761 // RUN: %clang_cc1 -x c++ -std=c++98 -fno-rtti -E -dM < /dev/null | FileCheck -check-prefix NORTTI %s
   1762 // NORTTI: __GXX_ABI_VERSION
   1763 // NORTTI-NOT:#define __GXX_RTTI
   1764 // NORTTI: __STDC__
   1765