Home | History | Annotate | Download | only in Preprocessor
      1 // RUN: %clang_cc1 -E -ffreestanding -triple=arm-none-none %s | FileCheck -check-prefix ARM %s
      2 //
      3 // ARM:typedef long long int int64_t;
      4 // ARM:typedef long long unsigned int uint64_t;
      5 // ARM:typedef int64_t int_least64_t;
      6 // ARM:typedef uint64_t uint_least64_t;
      7 // ARM:typedef int64_t int_fast64_t;
      8 // ARM:typedef uint64_t uint_fast64_t;
      9 //
     10 // ARM:typedef int int32_t;
     11 // ARM:typedef unsigned int uint32_t;
     12 // ARM:typedef int32_t int_least32_t;
     13 // ARM:typedef uint32_t uint_least32_t;
     14 // ARM:typedef int32_t int_fast32_t;
     15 // ARM:typedef uint32_t uint_fast32_t;
     16 //
     17 // ARM:typedef short int16_t;
     18 // ARM:typedef unsigned short uint16_t;
     19 // ARM:typedef int16_t int_least16_t;
     20 // ARM:typedef uint16_t uint_least16_t;
     21 // ARM:typedef int16_t int_fast16_t;
     22 // ARM:typedef uint16_t uint_fast16_t;
     23 //
     24 // ARM:typedef signed char int8_t;
     25 // ARM:typedef unsigned char uint8_t;
     26 // ARM:typedef int8_t int_least8_t;
     27 // ARM:typedef uint8_t uint_least8_t;
     28 // ARM:typedef int8_t int_fast8_t;
     29 // ARM:typedef uint8_t uint_fast8_t;
     30 //
     31 // ARM:typedef int32_t intptr_t;
     32 // ARM:typedef uint32_t uintptr_t;
     33 //
     34 // ARM:typedef long long int intmax_t;
     35 // ARM:typedef long long unsigned int uintmax_t;
     36 //
     37 // ARM:INT8_MAX_ 127
     38 // ARM:INT8_MIN_ (-127 -1)
     39 // ARM:UINT8_MAX_ 255
     40 // ARM:INT_LEAST8_MIN_ (-127 -1)
     41 // ARM:INT_LEAST8_MAX_ 127
     42 // ARM:UINT_LEAST8_MAX_ 255
     43 // ARM:INT_FAST8_MIN_ (-127 -1)
     44 // ARM:INT_FAST8_MAX_ 127
     45 // ARM:UINT_FAST8_MAX_ 255
     46 //
     47 // ARM:INT16_MAX_ 32767
     48 // ARM:INT16_MIN_ (-32767 -1)
     49 // ARM:UINT16_MAX_ 65535
     50 // ARM:INT_LEAST16_MIN_ (-32767 -1)
     51 // ARM:INT_LEAST16_MAX_ 32767
     52 // ARM:UINT_LEAST16_MAX_ 65535
     53 // ARM:INT_FAST16_MIN_ (-32767 -1)
     54 // ARM:INT_FAST16_MAX_ 32767
     55 // ARM:UINT_FAST16_MAX_ 65535
     56 //
     57 // ARM:INT32_MAX_ 2147483647
     58 // ARM:INT32_MIN_ (-2147483647 -1)
     59 // ARM:UINT32_MAX_ 4294967295U
     60 // ARM:INT_LEAST32_MIN_ (-2147483647 -1)
     61 // ARM:INT_LEAST32_MAX_ 2147483647
     62 // ARM:UINT_LEAST32_MAX_ 4294967295U
     63 // ARM:INT_FAST32_MIN_ (-2147483647 -1)
     64 // ARM:INT_FAST32_MAX_ 2147483647
     65 // ARM:UINT_FAST32_MAX_ 4294967295U
     66 //
     67 // ARM:INT64_MAX_ 9223372036854775807LL
     68 // ARM:INT64_MIN_ (-9223372036854775807LL -1)
     69 // ARM:UINT64_MAX_ 18446744073709551615ULL
     70 // ARM:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
     71 // ARM:INT_LEAST64_MAX_ 9223372036854775807LL
     72 // ARM:UINT_LEAST64_MAX_ 18446744073709551615ULL
     73 // ARM:INT_FAST64_MIN_ (-9223372036854775807LL -1)
     74 // ARM:INT_FAST64_MAX_ 9223372036854775807LL
     75 // ARM:UINT_FAST64_MAX_ 18446744073709551615ULL
     76 //
     77 // ARM:INTPTR_MIN_ (-2147483647 -1)
     78 // ARM:INTPTR_MAX_ 2147483647
     79 // ARM:UINTPTR_MAX_ 4294967295U
     80 // ARM:PTRDIFF_MIN_ (-2147483647 -1)
     81 // ARM:PTRDIFF_MAX_ 2147483647
     82 // ARM:SIZE_MAX_ 4294967295U
     83 //
     84 // ARM:INTMAX_MIN_ (-9223372036854775807LL -1)
     85 // ARM:INTMAX_MAX_ 9223372036854775807LL
     86 // ARM:UINTMAX_MAX_ 18446744073709551615ULL
     87 //
     88 // ARM:SIG_ATOMIC_MIN_ (-2147483647 -1)
     89 // ARM:SIG_ATOMIC_MAX_ 2147483647
     90 // ARM:WINT_MIN_ (-2147483647 -1)
     91 // ARM:WINT_MAX_ 2147483647
     92 //
     93 // ARM:WCHAR_MAX_ 4294967295U
     94 // ARM:WCHAR_MIN_ 0U
     95 //
     96 // ARM:INT8_C_(0) 0
     97 // ARM:UINT8_C_(0) 0U
     98 // ARM:INT16_C_(0) 0
     99 // ARM:UINT16_C_(0) 0U
    100 // ARM:INT32_C_(0) 0
    101 // ARM:UINT32_C_(0) 0U
    102 // ARM:INT64_C_(0) 0LL
    103 // ARM:UINT64_C_(0) 0ULL
    104 //
    105 // ARM:INTMAX_C_(0) 0LL
    106 // ARM:UINTMAX_C_(0) 0ULL
    107 //
    108 //
    109 // RUN: %clang_cc1 -E -ffreestanding -triple=i386-none-none %s | FileCheck -check-prefix I386 %s
    110 //
    111 // I386:typedef long long int int64_t;
    112 // I386:typedef long long unsigned int uint64_t;
    113 // I386:typedef int64_t int_least64_t;
    114 // I386:typedef uint64_t uint_least64_t;
    115 // I386:typedef int64_t int_fast64_t;
    116 // I386:typedef uint64_t uint_fast64_t;
    117 //
    118 // I386:typedef int int32_t;
    119 // I386:typedef unsigned int uint32_t;
    120 // I386:typedef int32_t int_least32_t;
    121 // I386:typedef uint32_t uint_least32_t;
    122 // I386:typedef int32_t int_fast32_t;
    123 // I386:typedef uint32_t uint_fast32_t;
    124 //
    125 // I386:typedef short int16_t;
    126 // I386:typedef unsigned short uint16_t;
    127 // I386:typedef int16_t int_least16_t;
    128 // I386:typedef uint16_t uint_least16_t;
    129 // I386:typedef int16_t int_fast16_t;
    130 // I386:typedef uint16_t uint_fast16_t;
    131 //
    132 // I386:typedef signed char int8_t;
    133 // I386:typedef unsigned char uint8_t;
    134 // I386:typedef int8_t int_least8_t;
    135 // I386:typedef uint8_t uint_least8_t;
    136 // I386:typedef int8_t int_fast8_t;
    137 // I386:typedef uint8_t uint_fast8_t;
    138 //
    139 // I386:typedef int32_t intptr_t;
    140 // I386:typedef uint32_t uintptr_t;
    141 //
    142 // I386:typedef long long int intmax_t;
    143 // I386:typedef long long unsigned int uintmax_t;
    144 //
    145 // I386:INT8_MAX_ 127
    146 // I386:INT8_MIN_ (-127 -1)
    147 // I386:UINT8_MAX_ 255
    148 // I386:INT_LEAST8_MIN_ (-127 -1)
    149 // I386:INT_LEAST8_MAX_ 127
    150 // I386:UINT_LEAST8_MAX_ 255
    151 // I386:INT_FAST8_MIN_ (-127 -1)
    152 // I386:INT_FAST8_MAX_ 127
    153 // I386:UINT_FAST8_MAX_ 255
    154 //
    155 // I386:INT16_MAX_ 32767
    156 // I386:INT16_MIN_ (-32767 -1)
    157 // I386:UINT16_MAX_ 65535
    158 // I386:INT_LEAST16_MIN_ (-32767 -1)
    159 // I386:INT_LEAST16_MAX_ 32767
    160 // I386:UINT_LEAST16_MAX_ 65535
    161 // I386:INT_FAST16_MIN_ (-32767 -1)
    162 // I386:INT_FAST16_MAX_ 32767
    163 // I386:UINT_FAST16_MAX_ 65535
    164 //
    165 // I386:INT32_MAX_ 2147483647
    166 // I386:INT32_MIN_ (-2147483647 -1)
    167 // I386:UINT32_MAX_ 4294967295U
    168 // I386:INT_LEAST32_MIN_ (-2147483647 -1)
    169 // I386:INT_LEAST32_MAX_ 2147483647
    170 // I386:UINT_LEAST32_MAX_ 4294967295U
    171 // I386:INT_FAST32_MIN_ (-2147483647 -1)
    172 // I386:INT_FAST32_MAX_ 2147483647
    173 // I386:UINT_FAST32_MAX_ 4294967295U
    174 //
    175 // I386:INT64_MAX_ 9223372036854775807LL
    176 // I386:INT64_MIN_ (-9223372036854775807LL -1)
    177 // I386:UINT64_MAX_ 18446744073709551615ULL
    178 // I386:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    179 // I386:INT_LEAST64_MAX_ 9223372036854775807LL
    180 // I386:UINT_LEAST64_MAX_ 18446744073709551615ULL
    181 // I386:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    182 // I386:INT_FAST64_MAX_ 9223372036854775807LL
    183 // I386:UINT_FAST64_MAX_ 18446744073709551615ULL
    184 //
    185 // I386:INTPTR_MIN_ (-2147483647 -1)
    186 // I386:INTPTR_MAX_ 2147483647
    187 // I386:UINTPTR_MAX_ 4294967295U
    188 // I386:PTRDIFF_MIN_ (-2147483647 -1)
    189 // I386:PTRDIFF_MAX_ 2147483647
    190 // I386:SIZE_MAX_ 4294967295U
    191 //
    192 // I386:INTMAX_MIN_ (-9223372036854775807LL -1)
    193 // I386:INTMAX_MAX_ 9223372036854775807LL
    194 // I386:UINTMAX_MAX_ 18446744073709551615ULL
    195 //
    196 // I386:SIG_ATOMIC_MIN_ (-2147483647 -1)
    197 // I386:SIG_ATOMIC_MAX_ 2147483647
    198 // I386:WINT_MIN_ (-2147483647 -1)
    199 // I386:WINT_MAX_ 2147483647
    200 //
    201 // I386:WCHAR_MAX_ 2147483647
    202 // I386:WCHAR_MIN_ (-2147483647 -1)
    203 //
    204 // I386:INT8_C_(0) 0
    205 // I386:UINT8_C_(0) 0U
    206 // I386:INT16_C_(0) 0
    207 // I386:UINT16_C_(0) 0U
    208 // I386:INT32_C_(0) 0
    209 // I386:UINT32_C_(0) 0U
    210 // I386:INT64_C_(0) 0LL
    211 // I386:UINT64_C_(0) 0ULL
    212 //
    213 // I386:INTMAX_C_(0) 0LL
    214 // I386:UINTMAX_C_(0) 0ULL
    215 //
    216 // RUN: %clang_cc1 -E -ffreestanding -triple=mips-none-none %s | FileCheck -check-prefix MIPS %s
    217 //
    218 // MIPS:typedef long long int int64_t;
    219 // MIPS:typedef long long unsigned int uint64_t;
    220 // MIPS:typedef int64_t int_least64_t;
    221 // MIPS:typedef uint64_t uint_least64_t;
    222 // MIPS:typedef int64_t int_fast64_t;
    223 // MIPS:typedef uint64_t uint_fast64_t;
    224 //
    225 // MIPS:typedef int int32_t;
    226 // MIPS:typedef unsigned int uint32_t;
    227 // MIPS:typedef int32_t int_least32_t;
    228 // MIPS:typedef uint32_t uint_least32_t;
    229 // MIPS:typedef int32_t int_fast32_t;
    230 // MIPS:typedef uint32_t uint_fast32_t;
    231 //
    232 // MIPS:typedef short int16_t;
    233 // MIPS:typedef unsigned short uint16_t;
    234 // MIPS:typedef int16_t int_least16_t;
    235 // MIPS:typedef uint16_t uint_least16_t;
    236 // MIPS:typedef int16_t int_fast16_t;
    237 // MIPS:typedef uint16_t uint_fast16_t;
    238 //
    239 // MIPS:typedef signed char int8_t;
    240 // MIPS:typedef unsigned char uint8_t;
    241 // MIPS:typedef int8_t int_least8_t;
    242 // MIPS:typedef uint8_t uint_least8_t;
    243 // MIPS:typedef int8_t int_fast8_t;
    244 // MIPS:typedef uint8_t uint_fast8_t;
    245 //
    246 // MIPS:typedef int32_t intptr_t;
    247 // MIPS:typedef uint32_t uintptr_t;
    248 //
    249 // MIPS:typedef long long int intmax_t;
    250 // MIPS:typedef long long unsigned int uintmax_t;
    251 //
    252 // MIPS:INT8_MAX_ 127
    253 // MIPS:INT8_MIN_ (-127 -1)
    254 // MIPS:UINT8_MAX_ 255
    255 // MIPS:INT_LEAST8_MIN_ (-127 -1)
    256 // MIPS:INT_LEAST8_MAX_ 127
    257 // MIPS:UINT_LEAST8_MAX_ 255
    258 // MIPS:INT_FAST8_MIN_ (-127 -1)
    259 // MIPS:INT_FAST8_MAX_ 127
    260 // MIPS:UINT_FAST8_MAX_ 255
    261 //
    262 // MIPS:INT16_MAX_ 32767
    263 // MIPS:INT16_MIN_ (-32767 -1)
    264 // MIPS:UINT16_MAX_ 65535
    265 // MIPS:INT_LEAST16_MIN_ (-32767 -1)
    266 // MIPS:INT_LEAST16_MAX_ 32767
    267 // MIPS:UINT_LEAST16_MAX_ 65535
    268 // MIPS:INT_FAST16_MIN_ (-32767 -1)
    269 // MIPS:INT_FAST16_MAX_ 32767
    270 // MIPS:UINT_FAST16_MAX_ 65535
    271 //
    272 // MIPS:INT32_MAX_ 2147483647
    273 // MIPS:INT32_MIN_ (-2147483647 -1)
    274 // MIPS:UINT32_MAX_ 4294967295U
    275 // MIPS:INT_LEAST32_MIN_ (-2147483647 -1)
    276 // MIPS:INT_LEAST32_MAX_ 2147483647
    277 // MIPS:UINT_LEAST32_MAX_ 4294967295U
    278 // MIPS:INT_FAST32_MIN_ (-2147483647 -1)
    279 // MIPS:INT_FAST32_MAX_ 2147483647
    280 // MIPS:UINT_FAST32_MAX_ 4294967295U
    281 //
    282 // MIPS:INT64_MAX_ 9223372036854775807LL
    283 // MIPS:INT64_MIN_ (-9223372036854775807LL -1)
    284 // MIPS:UINT64_MAX_ 18446744073709551615ULL
    285 // MIPS:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    286 // MIPS:INT_LEAST64_MAX_ 9223372036854775807LL
    287 // MIPS:UINT_LEAST64_MAX_ 18446744073709551615ULL
    288 // MIPS:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    289 // MIPS:INT_FAST64_MAX_ 9223372036854775807LL
    290 // MIPS:UINT_FAST64_MAX_ 18446744073709551615ULL
    291 //
    292 // MIPS:INTPTR_MIN_ (-2147483647 -1)
    293 // MIPS:INTPTR_MAX_ 2147483647
    294 // MIPS:UINTPTR_MAX_ 4294967295U
    295 // MIPS:PTRDIFF_MIN_ (-2147483647 -1)
    296 // MIPS:PTRDIFF_MAX_ 2147483647
    297 // MIPS:SIZE_MAX_ 4294967295U
    298 //
    299 // MIPS:INTMAX_MIN_ (-9223372036854775807LL -1)
    300 // MIPS:INTMAX_MAX_ 9223372036854775807LL
    301 // MIPS:UINTMAX_MAX_ 18446744073709551615ULL
    302 //
    303 // MIPS:SIG_ATOMIC_MIN_ (-2147483647 -1)
    304 // MIPS:SIG_ATOMIC_MAX_ 2147483647
    305 // MIPS:WINT_MIN_ (-2147483647 -1)
    306 // MIPS:WINT_MAX_ 2147483647
    307 //
    308 // MIPS:WCHAR_MAX_ 2147483647
    309 // MIPS:WCHAR_MIN_ (-2147483647 -1)
    310 //
    311 // MIPS:INT8_C_(0) 0
    312 // MIPS:UINT8_C_(0) 0U
    313 // MIPS:INT16_C_(0) 0
    314 // MIPS:UINT16_C_(0) 0U
    315 // MIPS:INT32_C_(0) 0
    316 // MIPS:UINT32_C_(0) 0U
    317 // MIPS:INT64_C_(0) 0LL
    318 // MIPS:UINT64_C_(0) 0ULL
    319 //
    320 // MIPS:INTMAX_C_(0) 0LL
    321 // MIPS:UINTMAX_C_(0) 0ULL
    322 //
    323 // RUN: %clang_cc1 -E -ffreestanding -triple=mips64-none-none %s | FileCheck -check-prefix MIPS64 %s
    324 //
    325 // MIPS64:typedef long int int64_t;
    326 // MIPS64:typedef long unsigned int uint64_t;
    327 // MIPS64:typedef int64_t int_least64_t;
    328 // MIPS64:typedef uint64_t uint_least64_t;
    329 // MIPS64:typedef int64_t int_fast64_t;
    330 // MIPS64:typedef uint64_t uint_fast64_t;
    331 //
    332 // MIPS64:typedef int int32_t;
    333 // MIPS64:typedef unsigned int uint32_t;
    334 // MIPS64:typedef int32_t int_least32_t;
    335 // MIPS64:typedef uint32_t uint_least32_t;
    336 // MIPS64:typedef int32_t int_fast32_t;
    337 // MIPS64:typedef uint32_t uint_fast32_t;
    338 //
    339 // MIPS64:typedef short int16_t;
    340 // MIPS64:typedef unsigned short uint16_t;
    341 // MIPS64:typedef int16_t int_least16_t;
    342 // MIPS64:typedef uint16_t uint_least16_t;
    343 // MIPS64:typedef int16_t int_fast16_t;
    344 // MIPS64:typedef uint16_t uint_fast16_t;
    345 //
    346 // MIPS64:typedef signed char int8_t;
    347 // MIPS64:typedef unsigned char uint8_t;
    348 // MIPS64:typedef int8_t int_least8_t;
    349 // MIPS64:typedef uint8_t uint_least8_t;
    350 // MIPS64:typedef int8_t int_fast8_t;
    351 // MIPS64:typedef uint8_t uint_fast8_t;
    352 //
    353 // MIPS64:typedef int64_t intptr_t;
    354 // MIPS64:typedef uint64_t uintptr_t;
    355 //
    356 // MIPS64:typedef long int intmax_t;
    357 // MIPS64:typedef long unsigned int uintmax_t;
    358 //
    359 // MIPS64:INT8_MAX_ 127
    360 // MIPS64:INT8_MIN_ (-127 -1)
    361 // MIPS64:UINT8_MAX_ 255
    362 // MIPS64:INT_LEAST8_MIN_ (-127 -1)
    363 // MIPS64:INT_LEAST8_MAX_ 127
    364 // MIPS64:UINT_LEAST8_MAX_ 255
    365 // MIPS64:INT_FAST8_MIN_ (-127 -1)
    366 // MIPS64:INT_FAST8_MAX_ 127
    367 // MIPS64:UINT_FAST8_MAX_ 255
    368 //
    369 // MIPS64:INT16_MAX_ 32767
    370 // MIPS64:INT16_MIN_ (-32767 -1)
    371 // MIPS64:UINT16_MAX_ 65535
    372 // MIPS64:INT_LEAST16_MIN_ (-32767 -1)
    373 // MIPS64:INT_LEAST16_MAX_ 32767
    374 // MIPS64:UINT_LEAST16_MAX_ 65535
    375 // MIPS64:INT_FAST16_MIN_ (-32767 -1)
    376 // MIPS64:INT_FAST16_MAX_ 32767
    377 // MIPS64:UINT_FAST16_MAX_ 65535
    378 //
    379 // MIPS64:INT32_MAX_ 2147483647
    380 // MIPS64:INT32_MIN_ (-2147483647 -1)
    381 // MIPS64:UINT32_MAX_ 4294967295U
    382 // MIPS64:INT_LEAST32_MIN_ (-2147483647 -1)
    383 // MIPS64:INT_LEAST32_MAX_ 2147483647
    384 // MIPS64:UINT_LEAST32_MAX_ 4294967295U
    385 // MIPS64:INT_FAST32_MIN_ (-2147483647 -1)
    386 // MIPS64:INT_FAST32_MAX_ 2147483647
    387 // MIPS64:UINT_FAST32_MAX_ 4294967295U
    388 //
    389 // MIPS64:INT64_MAX_ 9223372036854775807L
    390 // MIPS64:INT64_MIN_ (-9223372036854775807L -1)
    391 // MIPS64:UINT64_MAX_ 18446744073709551615UL
    392 // MIPS64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
    393 // MIPS64:INT_LEAST64_MAX_ 9223372036854775807L
    394 // MIPS64:UINT_LEAST64_MAX_ 18446744073709551615UL
    395 // MIPS64:INT_FAST64_MIN_ (-9223372036854775807L -1)
    396 // MIPS64:INT_FAST64_MAX_ 9223372036854775807L
    397 // MIPS64:UINT_FAST64_MAX_ 18446744073709551615UL
    398 //
    399 // MIPS64:INTPTR_MIN_ (-9223372036854775807L -1)
    400 // MIPS64:INTPTR_MAX_ 9223372036854775807L
    401 // MIPS64:UINTPTR_MAX_ 18446744073709551615UL
    402 // MIPS64:PTRDIFF_MIN_ (-9223372036854775807L -1)
    403 // MIPS64:PTRDIFF_MAX_ 9223372036854775807L
    404 // MIPS64:SIZE_MAX_ 18446744073709551615UL
    405 //
    406 // MIPS64:INTMAX_MIN_ (-9223372036854775807L -1)
    407 // MIPS64:INTMAX_MAX_ 9223372036854775807L
    408 // MIPS64:UINTMAX_MAX_ 18446744073709551615UL
    409 //
    410 // MIPS64:SIG_ATOMIC_MIN_ (-2147483647 -1)
    411 // MIPS64:SIG_ATOMIC_MAX_ 2147483647
    412 // MIPS64:WINT_MIN_ (-2147483647 -1)
    413 // MIPS64:WINT_MAX_ 2147483647
    414 //
    415 // MIPS64:WCHAR_MAX_ 2147483647
    416 // MIPS64:WCHAR_MIN_ (-2147483647 -1)
    417 //
    418 // MIPS64:INT8_C_(0) 0
    419 // MIPS64:UINT8_C_(0) 0U
    420 // MIPS64:INT16_C_(0) 0
    421 // MIPS64:UINT16_C_(0) 0U
    422 // MIPS64:INT32_C_(0) 0
    423 // MIPS64:UINT32_C_(0) 0U
    424 // MIPS64:INT64_C_(0) 0L
    425 // MIPS64:UINT64_C_(0) 0UL
    426 //
    427 // MIPS64:INTMAX_C_(0) 0L
    428 // MIPS64:UINTMAX_C_(0) 0UL
    429 //
    430 // RUN: %clang_cc1 -E -ffreestanding -triple=msp430-none-none %s | FileCheck -check-prefix MSP430 %s
    431 //
    432 // MSP430:typedef long int int32_t;
    433 // MSP430:typedef long unsigned int uint32_t;
    434 // MSP430:typedef int32_t int_least32_t;
    435 // MSP430:typedef uint32_t uint_least32_t;
    436 // MSP430:typedef int32_t int_fast32_t;
    437 // MSP430:typedef uint32_t uint_fast32_t;
    438 //
    439 // MSP430:typedef short int16_t;
    440 // MSP430:typedef unsigned short uint16_t;
    441 // MSP430:typedef int16_t int_least16_t;
    442 // MSP430:typedef uint16_t uint_least16_t;
    443 // MSP430:typedef int16_t int_fast16_t;
    444 // MSP430:typedef uint16_t uint_fast16_t;
    445 //
    446 // MSP430:typedef signed char int8_t;
    447 // MSP430:typedef unsigned char uint8_t;
    448 // MSP430:typedef int8_t int_least8_t;
    449 // MSP430:typedef uint8_t uint_least8_t;
    450 // MSP430:typedef int8_t int_fast8_t;
    451 // MSP430:typedef uint8_t uint_fast8_t;
    452 //
    453 // MSP430:typedef int16_t intptr_t;
    454 // MSP430:typedef uint16_t uintptr_t;
    455 //
    456 // MSP430:typedef long long int intmax_t;
    457 // MSP430:typedef long long unsigned int uintmax_t;
    458 //
    459 // MSP430:INT8_MAX_ 127
    460 // MSP430:INT8_MIN_ (-127 -1)
    461 // MSP430:UINT8_MAX_ 255
    462 // MSP430:INT_LEAST8_MIN_ (-127 -1)
    463 // MSP430:INT_LEAST8_MAX_ 127
    464 // MSP430:UINT_LEAST8_MAX_ 255
    465 // MSP430:INT_FAST8_MIN_ (-127 -1)
    466 // MSP430:INT_FAST8_MAX_ 127
    467 // MSP430:UINT_FAST8_MAX_ 255
    468 //
    469 // MSP430:INT16_MAX_ 32767
    470 // MSP430:INT16_MIN_ (-32767 -1)
    471 // MSP430:UINT16_MAX_ 65535
    472 // MSP430:INT_LEAST16_MIN_ (-32767 -1)
    473 // MSP430:INT_LEAST16_MAX_ 32767
    474 // MSP430:UINT_LEAST16_MAX_ 65535
    475 // MSP430:INT_FAST16_MIN_ (-32767 -1)
    476 // MSP430:INT_FAST16_MAX_ 32767
    477 // MSP430:UINT_FAST16_MAX_ 65535
    478 //
    479 // MSP430:INT32_MAX_ 2147483647L
    480 // MSP430:INT32_MIN_ (-2147483647L -1)
    481 // MSP430:UINT32_MAX_ 4294967295UL
    482 // MSP430:INT_LEAST32_MIN_ (-2147483647L -1)
    483 // MSP430:INT_LEAST32_MAX_ 2147483647L
    484 // MSP430:UINT_LEAST32_MAX_ 4294967295UL
    485 // MSP430:INT_FAST32_MIN_ (-2147483647L -1)
    486 // MSP430:INT_FAST32_MAX_ 2147483647L
    487 // MSP430:UINT_FAST32_MAX_ 4294967295UL
    488 //
    489 // MSP430:INT64_MAX_ 9223372036854775807LL
    490 // MSP430:INT64_MIN_ (-9223372036854775807LL -1)
    491 // MSP430:UINT64_MAX_ 18446744073709551615ULL
    492 // MSP430:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    493 // MSP430:INT_LEAST64_MAX_ 9223372036854775807LL
    494 // MSP430:UINT_LEAST64_MAX_ 18446744073709551615ULL
    495 // MSP430:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    496 // MSP430:INT_FAST64_MAX_ 9223372036854775807LL
    497 // MSP430:UINT_FAST64_MAX_ 18446744073709551615ULL
    498 //
    499 // MSP430:INTPTR_MIN_ (-32767 -1)
    500 // MSP430:INTPTR_MAX_ 32767
    501 // MSP430:UINTPTR_MAX_ 65535
    502 // MSP430:PTRDIFF_MIN_ (-32767 -1)
    503 // MSP430:PTRDIFF_MAX_ 32767
    504 // MSP430:SIZE_MAX_ 65535
    505 //
    506 // MSP430:INTMAX_MIN_ (-9223372036854775807LL -1)
    507 // MSP430:INTMAX_MAX_ 9223372036854775807LL
    508 // MSP430:UINTMAX_MAX_ 18446744073709551615ULL
    509 //
    510 // MSP430:SIG_ATOMIC_MIN_ (-2147483647L -1)
    511 // MSP430:SIG_ATOMIC_MAX_ 2147483647L
    512 // MSP430:WINT_MIN_ (-32767 -1)
    513 // MSP430:WINT_MAX_ 32767
    514 //
    515 // MSP430:WCHAR_MAX_ 32767
    516 // MSP430:WCHAR_MIN_ (-32767 -1)
    517 //
    518 // MSP430:INT8_C_(0) 0
    519 // MSP430:UINT8_C_(0) 0U
    520 // MSP430:INT16_C_(0) 0
    521 // MSP430:UINT16_C_(0) 0U
    522 // MSP430:INT32_C_(0) 0L
    523 // MSP430:UINT32_C_(0) 0UL
    524 // MSP430:INT64_C_(0) 0LL
    525 // MSP430:UINT64_C_(0) 0ULL
    526 //
    527 // MSP430:INTMAX_C_(0) 0L
    528 // MSP430:UINTMAX_C_(0) 0UL
    529 //
    530 // RUN: %clang_cc1 -E -ffreestanding -triple=powerpc64-none-none %s | FileCheck -check-prefix PPC64 %s
    531 //
    532 // PPC64:typedef long int int64_t;
    533 // PPC64:typedef long unsigned int uint64_t;
    534 // PPC64:typedef int64_t int_least64_t;
    535 // PPC64:typedef uint64_t uint_least64_t;
    536 // PPC64:typedef int64_t int_fast64_t;
    537 // PPC64:typedef uint64_t uint_fast64_t;
    538 //
    539 // PPC64:typedef int int32_t;
    540 // PPC64:typedef unsigned int uint32_t;
    541 // PPC64:typedef int32_t int_least32_t;
    542 // PPC64:typedef uint32_t uint_least32_t;
    543 // PPC64:typedef int32_t int_fast32_t;
    544 // PPC64:typedef uint32_t uint_fast32_t;
    545 //
    546 // PPC64:typedef short int16_t;
    547 // PPC64:typedef unsigned short uint16_t;
    548 // PPC64:typedef int16_t int_least16_t;
    549 // PPC64:typedef uint16_t uint_least16_t;
    550 // PPC64:typedef int16_t int_fast16_t;
    551 // PPC64:typedef uint16_t uint_fast16_t;
    552 //
    553 // PPC64:typedef signed char int8_t;
    554 // PPC64:typedef unsigned char uint8_t;
    555 // PPC64:typedef int8_t int_least8_t;
    556 // PPC64:typedef uint8_t uint_least8_t;
    557 // PPC64:typedef int8_t int_fast8_t;
    558 // PPC64:typedef uint8_t uint_fast8_t;
    559 //
    560 // PPC64:typedef int64_t intptr_t;
    561 // PPC64:typedef uint64_t uintptr_t;
    562 //
    563 // PPC64:typedef long int intmax_t;
    564 // PPC64:typedef long unsigned int uintmax_t;
    565 //
    566 // PPC64:INT8_MAX_ 127
    567 // PPC64:INT8_MIN_ (-127 -1)
    568 // PPC64:UINT8_MAX_ 255
    569 // PPC64:INT_LEAST8_MIN_ (-127 -1)
    570 // PPC64:INT_LEAST8_MAX_ 127
    571 // PPC64:UINT_LEAST8_MAX_ 255
    572 // PPC64:INT_FAST8_MIN_ (-127 -1)
    573 // PPC64:INT_FAST8_MAX_ 127
    574 // PPC64:UINT_FAST8_MAX_ 255
    575 //
    576 // PPC64:INT16_MAX_ 32767
    577 // PPC64:INT16_MIN_ (-32767 -1)
    578 // PPC64:UINT16_MAX_ 65535
    579 // PPC64:INT_LEAST16_MIN_ (-32767 -1)
    580 // PPC64:INT_LEAST16_MAX_ 32767
    581 // PPC64:UINT_LEAST16_MAX_ 65535
    582 // PPC64:INT_FAST16_MIN_ (-32767 -1)
    583 // PPC64:INT_FAST16_MAX_ 32767
    584 // PPC64:UINT_FAST16_MAX_ 65535
    585 //
    586 // PPC64:INT32_MAX_ 2147483647
    587 // PPC64:INT32_MIN_ (-2147483647 -1)
    588 // PPC64:UINT32_MAX_ 4294967295U
    589 // PPC64:INT_LEAST32_MIN_ (-2147483647 -1)
    590 // PPC64:INT_LEAST32_MAX_ 2147483647
    591 // PPC64:UINT_LEAST32_MAX_ 4294967295U
    592 // PPC64:INT_FAST32_MIN_ (-2147483647 -1)
    593 // PPC64:INT_FAST32_MAX_ 2147483647
    594 // PPC64:UINT_FAST32_MAX_ 4294967295U
    595 //
    596 // PPC64:INT64_MAX_ 9223372036854775807L
    597 // PPC64:INT64_MIN_ (-9223372036854775807L -1)
    598 // PPC64:UINT64_MAX_ 18446744073709551615UL
    599 // PPC64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
    600 // PPC64:INT_LEAST64_MAX_ 9223372036854775807L
    601 // PPC64:UINT_LEAST64_MAX_ 18446744073709551615UL
    602 // PPC64:INT_FAST64_MIN_ (-9223372036854775807L -1)
    603 // PPC64:INT_FAST64_MAX_ 9223372036854775807L
    604 // PPC64:UINT_FAST64_MAX_ 18446744073709551615UL
    605 //
    606 // PPC64:INTPTR_MIN_ (-9223372036854775807L -1)
    607 // PPC64:INTPTR_MAX_ 9223372036854775807L
    608 // PPC64:UINTPTR_MAX_ 18446744073709551615UL
    609 // PPC64:PTRDIFF_MIN_ (-9223372036854775807L -1)
    610 // PPC64:PTRDIFF_MAX_ 9223372036854775807L
    611 // PPC64:SIZE_MAX_ 18446744073709551615UL
    612 //
    613 // PPC64:INTMAX_MIN_ (-9223372036854775807L -1)
    614 // PPC64:INTMAX_MAX_ 9223372036854775807L
    615 // PPC64:UINTMAX_MAX_ 18446744073709551615UL
    616 //
    617 // PPC64:SIG_ATOMIC_MIN_ (-2147483647 -1)
    618 // PPC64:SIG_ATOMIC_MAX_ 2147483647
    619 // PPC64:WINT_MIN_ (-2147483647 -1)
    620 // PPC64:WINT_MAX_ 2147483647
    621 //
    622 // PPC64:WCHAR_MAX_ 2147483647
    623 // PPC64:WCHAR_MIN_ (-2147483647 -1)
    624 //
    625 // PPC64:INT8_C_(0) 0
    626 // PPC64:UINT8_C_(0) 0U
    627 // PPC64:INT16_C_(0) 0
    628 // PPC64:UINT16_C_(0) 0U
    629 // PPC64:INT32_C_(0) 0
    630 // PPC64:UINT32_C_(0) 0U
    631 // PPC64:INT64_C_(0) 0L
    632 // PPC64:UINT64_C_(0) 0UL
    633 //
    634 // PPC64:INTMAX_C_(0) 0L
    635 // PPC64:UINTMAX_C_(0) 0UL
    636 //
    637 // RUN: %clang_cc1 -E -ffreestanding -triple=powerpc64-none-netbsd %s | FileCheck -check-prefix PPC64-NETBSD %s
    638 //
    639 // PPC64-NETBSD:typedef long long int int64_t;
    640 // PPC64-NETBSD:typedef long long unsigned int uint64_t;
    641 // PPC64-NETBSD:typedef int64_t int_least64_t;
    642 // PPC64-NETBSD:typedef uint64_t uint_least64_t;
    643 // PPC64-NETBSD:typedef int64_t int_fast64_t;
    644 // PPC64-NETBSD:typedef uint64_t uint_fast64_t;
    645 //
    646 // PPC64-NETBSD:typedef int int32_t;
    647 // PPC64-NETBSD:typedef unsigned int uint32_t;
    648 // PPC64-NETBSD:typedef int32_t int_least32_t;
    649 // PPC64-NETBSD:typedef uint32_t uint_least32_t;
    650 // PPC64-NETBSD:typedef int32_t int_fast32_t;
    651 // PPC64-NETBSD:typedef uint32_t uint_fast32_t;
    652 //
    653 // PPC64-NETBSD:typedef short int16_t;
    654 // PPC64-NETBSD:typedef unsigned short uint16_t;
    655 // PPC64-NETBSD:typedef int16_t int_least16_t;
    656 // PPC64-NETBSD:typedef uint16_t uint_least16_t;
    657 // PPC64-NETBSD:typedef int16_t int_fast16_t;
    658 // PPC64-NETBSD:typedef uint16_t uint_fast16_t;
    659 //
    660 // PPC64-NETBSD:typedef signed char int8_t;
    661 // PPC64-NETBSD:typedef unsigned char uint8_t;
    662 // PPC64-NETBSD:typedef int8_t int_least8_t;
    663 // PPC64-NETBSD:typedef uint8_t uint_least8_t;
    664 // PPC64-NETBSD:typedef int8_t int_fast8_t;
    665 // PPC64-NETBSD:typedef uint8_t uint_fast8_t;
    666 //
    667 // PPC64-NETBSD:typedef int64_t intptr_t;
    668 // PPC64-NETBSD:typedef uint64_t uintptr_t;
    669 //
    670 // PPC64-NETBSD:typedef long long int intmax_t;
    671 // PPC64-NETBSD:typedef long long unsigned int uintmax_t;
    672 //
    673 // PPC64-NETBSD:INT8_MAX_ 127
    674 // PPC64-NETBSD:INT8_MIN_ (-127 -1)
    675 // PPC64-NETBSD:UINT8_MAX_ 255
    676 // PPC64-NETBSD:INT_LEAST8_MIN_ (-127 -1)
    677 // PPC64-NETBSD:INT_LEAST8_MAX_ 127
    678 // PPC64-NETBSD:UINT_LEAST8_MAX_ 255
    679 // PPC64-NETBSD:INT_FAST8_MIN_ (-127 -1)
    680 // PPC64-NETBSD:INT_FAST8_MAX_ 127
    681 // PPC64-NETBSD:UINT_FAST8_MAX_ 255
    682 //
    683 // PPC64-NETBSD:INT16_MAX_ 32767
    684 // PPC64-NETBSD:INT16_MIN_ (-32767 -1)
    685 // PPC64-NETBSD:UINT16_MAX_ 65535
    686 // PPC64-NETBSD:INT_LEAST16_MIN_ (-32767 -1)
    687 // PPC64-NETBSD:INT_LEAST16_MAX_ 32767
    688 // PPC64-NETBSD:UINT_LEAST16_MAX_ 65535
    689 // PPC64-NETBSD:INT_FAST16_MIN_ (-32767 -1)
    690 // PPC64-NETBSD:INT_FAST16_MAX_ 32767
    691 // PPC64-NETBSD:UINT_FAST16_MAX_ 65535
    692 //
    693 // PPC64-NETBSD:INT32_MAX_ 2147483647
    694 // PPC64-NETBSD:INT32_MIN_ (-2147483647 -1)
    695 // PPC64-NETBSD:UINT32_MAX_ 4294967295U
    696 // PPC64-NETBSD:INT_LEAST32_MIN_ (-2147483647 -1)
    697 // PPC64-NETBSD:INT_LEAST32_MAX_ 2147483647
    698 // PPC64-NETBSD:UINT_LEAST32_MAX_ 4294967295U
    699 // PPC64-NETBSD:INT_FAST32_MIN_ (-2147483647 -1)
    700 // PPC64-NETBSD:INT_FAST32_MAX_ 2147483647
    701 // PPC64-NETBSD:UINT_FAST32_MAX_ 4294967295U
    702 //
    703 // PPC64-NETBSD:INT64_MAX_ 9223372036854775807LL
    704 // PPC64-NETBSD:INT64_MIN_ (-9223372036854775807LL -1)
    705 // PPC64-NETBSD:UINT64_MAX_ 18446744073709551615ULL
    706 // PPC64-NETBSD:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    707 // PPC64-NETBSD:INT_LEAST64_MAX_ 9223372036854775807LL
    708 // PPC64-NETBSD:UINT_LEAST64_MAX_ 18446744073709551615ULL
    709 // PPC64-NETBSD:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    710 // PPC64-NETBSD:INT_FAST64_MAX_ 9223372036854775807LL
    711 // PPC64-NETBSD:UINT_FAST64_MAX_ 18446744073709551615ULL
    712 //
    713 // PPC64-NETBSD:INTPTR_MIN_ (-9223372036854775807LL -1)
    714 // PPC64-NETBSD:INTPTR_MAX_ 9223372036854775807LL
    715 // PPC64-NETBSD:UINTPTR_MAX_ 18446744073709551615ULL
    716 // PPC64-NETBSD:PTRDIFF_MIN_ (-9223372036854775807LL -1)
    717 // PPC64-NETBSD:PTRDIFF_MAX_ 9223372036854775807LL
    718 // PPC64-NETBSD:SIZE_MAX_ 18446744073709551615ULL
    719 //
    720 // PPC64-NETBSD:INTMAX_MIN_ (-9223372036854775807LL -1)
    721 // PPC64-NETBSD:INTMAX_MAX_ 9223372036854775807LL
    722 // PPC64-NETBSD:UINTMAX_MAX_ 18446744073709551615ULL
    723 //
    724 // PPC64-NETBSD:SIG_ATOMIC_MIN_ (-2147483647 -1)
    725 // PPC64-NETBSD:SIG_ATOMIC_MAX_ 2147483647
    726 // PPC64-NETBSD:WINT_MIN_ (-2147483647 -1)
    727 // PPC64-NETBSD:WINT_MAX_ 2147483647
    728 //
    729 // PPC64-NETBSD:WCHAR_MAX_ 2147483647
    730 // PPC64-NETBSD:WCHAR_MIN_ (-2147483647 -1)
    731 //
    732 // PPC64-NETBSD:INT8_C_(0) 0
    733 // PPC64-NETBSD:UINT8_C_(0) 0U
    734 // PPC64-NETBSD:INT16_C_(0) 0
    735 // PPC64-NETBSD:UINT16_C_(0) 0U
    736 // PPC64-NETBSD:INT32_C_(0) 0
    737 // PPC64-NETBSD:UINT32_C_(0) 0U
    738 // PPC64-NETBSD:INT64_C_(0) 0LL
    739 // PPC64-NETBSD:UINT64_C_(0) 0ULL
    740 //
    741 // PPC64-NETBSD:INTMAX_C_(0) 0LL
    742 // PPC64-NETBSD:UINTMAX_C_(0) 0ULL
    743 //
    744 // RUN: %clang_cc1 -E -ffreestanding -triple=powerpc-none-none %s | FileCheck -check-prefix PPC %s
    745 //
    746 //
    747 // PPC:typedef long long int int64_t;
    748 // PPC:typedef long long unsigned int uint64_t;
    749 // PPC:typedef int64_t int_least64_t;
    750 // PPC:typedef uint64_t uint_least64_t;
    751 // PPC:typedef int64_t int_fast64_t;
    752 // PPC:typedef uint64_t uint_fast64_t;
    753 //
    754 // PPC:typedef int int32_t;
    755 // PPC:typedef unsigned int uint32_t;
    756 // PPC:typedef int32_t int_least32_t;
    757 // PPC:typedef uint32_t uint_least32_t;
    758 // PPC:typedef int32_t int_fast32_t;
    759 // PPC:typedef uint32_t uint_fast32_t;
    760 //
    761 // PPC:typedef short int16_t;
    762 // PPC:typedef unsigned short uint16_t;
    763 // PPC:typedef int16_t int_least16_t;
    764 // PPC:typedef uint16_t uint_least16_t;
    765 // PPC:typedef int16_t int_fast16_t;
    766 // PPC:typedef uint16_t uint_fast16_t;
    767 //
    768 // PPC:typedef signed char int8_t;
    769 // PPC:typedef unsigned char uint8_t;
    770 // PPC:typedef int8_t int_least8_t;
    771 // PPC:typedef uint8_t uint_least8_t;
    772 // PPC:typedef int8_t int_fast8_t;
    773 // PPC:typedef uint8_t uint_fast8_t;
    774 //
    775 // PPC:typedef int32_t intptr_t;
    776 // PPC:typedef uint32_t uintptr_t;
    777 //
    778 // PPC:typedef long long int intmax_t;
    779 // PPC:typedef long long unsigned int uintmax_t;
    780 //
    781 // PPC:INT8_MAX_ 127
    782 // PPC:INT8_MIN_ (-127 -1)
    783 // PPC:UINT8_MAX_ 255
    784 // PPC:INT_LEAST8_MIN_ (-127 -1)
    785 // PPC:INT_LEAST8_MAX_ 127
    786 // PPC:UINT_LEAST8_MAX_ 255
    787 // PPC:INT_FAST8_MIN_ (-127 -1)
    788 // PPC:INT_FAST8_MAX_ 127
    789 // PPC:UINT_FAST8_MAX_ 255
    790 //
    791 // PPC:INT16_MAX_ 32767
    792 // PPC:INT16_MIN_ (-32767 -1)
    793 // PPC:UINT16_MAX_ 65535
    794 // PPC:INT_LEAST16_MIN_ (-32767 -1)
    795 // PPC:INT_LEAST16_MAX_ 32767
    796 // PPC:UINT_LEAST16_MAX_ 65535
    797 // PPC:INT_FAST16_MIN_ (-32767 -1)
    798 // PPC:INT_FAST16_MAX_ 32767
    799 // PPC:UINT_FAST16_MAX_ 65535
    800 //
    801 // PPC:INT32_MAX_ 2147483647
    802 // PPC:INT32_MIN_ (-2147483647 -1)
    803 // PPC:UINT32_MAX_ 4294967295U
    804 // PPC:INT_LEAST32_MIN_ (-2147483647 -1)
    805 // PPC:INT_LEAST32_MAX_ 2147483647
    806 // PPC:UINT_LEAST32_MAX_ 4294967295U
    807 // PPC:INT_FAST32_MIN_ (-2147483647 -1)
    808 // PPC:INT_FAST32_MAX_ 2147483647
    809 // PPC:UINT_FAST32_MAX_ 4294967295U
    810 //
    811 // PPC:INT64_MAX_ 9223372036854775807LL
    812 // PPC:INT64_MIN_ (-9223372036854775807LL -1)
    813 // PPC:UINT64_MAX_ 18446744073709551615ULL
    814 // PPC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    815 // PPC:INT_LEAST64_MAX_ 9223372036854775807LL
    816 // PPC:UINT_LEAST64_MAX_ 18446744073709551615ULL
    817 // PPC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    818 // PPC:INT_FAST64_MAX_ 9223372036854775807LL
    819 // PPC:UINT_FAST64_MAX_ 18446744073709551615ULL
    820 //
    821 // PPC:INTPTR_MIN_ (-2147483647 -1)
    822 // PPC:INTPTR_MAX_ 2147483647
    823 // PPC:UINTPTR_MAX_ 4294967295U
    824 // PPC:PTRDIFF_MIN_ (-2147483647 -1)
    825 // PPC:PTRDIFF_MAX_ 2147483647
    826 // PPC:SIZE_MAX_ 4294967295U
    827 //
    828 // PPC:INTMAX_MIN_ (-9223372036854775807LL -1)
    829 // PPC:INTMAX_MAX_ 9223372036854775807LL
    830 // PPC:UINTMAX_MAX_ 18446744073709551615ULL
    831 //
    832 // PPC:SIG_ATOMIC_MIN_ (-2147483647 -1)
    833 // PPC:SIG_ATOMIC_MAX_ 2147483647
    834 // PPC:WINT_MIN_ (-2147483647 -1)
    835 // PPC:WINT_MAX_ 2147483647
    836 //
    837 // PPC:WCHAR_MAX_ 2147483647
    838 // PPC:WCHAR_MIN_ (-2147483647 -1)
    839 //
    840 // PPC:INT8_C_(0) 0
    841 // PPC:UINT8_C_(0) 0U
    842 // PPC:INT16_C_(0) 0
    843 // PPC:UINT16_C_(0) 0U
    844 // PPC:INT32_C_(0) 0
    845 // PPC:UINT32_C_(0) 0U
    846 // PPC:INT64_C_(0) 0LL
    847 // PPC:UINT64_C_(0) 0ULL
    848 //
    849 // PPC:INTMAX_C_(0) 0LL
    850 // PPC:UINTMAX_C_(0) 0ULL
    851 //
    852 // RUN: %clang_cc1 -E -ffreestanding -triple=s390x-none-none %s | FileCheck -check-prefix S390X %s
    853 //
    854 // S390X:typedef long int int64_t;
    855 // S390X:typedef long unsigned int uint64_t;
    856 // S390X:typedef int64_t int_least64_t;
    857 // S390X:typedef uint64_t uint_least64_t;
    858 // S390X:typedef int64_t int_fast64_t;
    859 // S390X:typedef uint64_t uint_fast64_t;
    860 //
    861 // S390X:typedef int int32_t;
    862 // S390X:typedef unsigned int uint32_t;
    863 // S390X:typedef int32_t int_least32_t;
    864 // S390X:typedef uint32_t uint_least32_t;
    865 // S390X:typedef int32_t int_fast32_t;
    866 // S390X:typedef uint32_t uint_fast32_t;
    867 //
    868 // S390X:typedef short int16_t;
    869 // S390X:typedef unsigned short uint16_t;
    870 // S390X:typedef int16_t int_least16_t;
    871 // S390X:typedef uint16_t uint_least16_t;
    872 // S390X:typedef int16_t int_fast16_t;
    873 // S390X:typedef uint16_t uint_fast16_t;
    874 //
    875 // S390X:typedef signed char int8_t;
    876 // S390X:typedef unsigned char uint8_t;
    877 // S390X:typedef int8_t int_least8_t;
    878 // S390X:typedef uint8_t uint_least8_t;
    879 // S390X:typedef int8_t int_fast8_t;
    880 // S390X:typedef uint8_t uint_fast8_t;
    881 //
    882 // S390X:typedef int64_t intptr_t;
    883 // S390X:typedef uint64_t uintptr_t;
    884 //
    885 // S390X:typedef long int intmax_t;
    886 // S390X:typedef long unsigned int uintmax_t;
    887 //
    888 // S390X:INT8_MAX_ 127
    889 // S390X:INT8_MIN_ (-127 -1)
    890 // S390X:UINT8_MAX_ 255
    891 // S390X:INT_LEAST8_MIN_ (-127 -1)
    892 // S390X:INT_LEAST8_MAX_ 127
    893 // S390X:UINT_LEAST8_MAX_ 255
    894 // S390X:INT_FAST8_MIN_ (-127 -1)
    895 // S390X:INT_FAST8_MAX_ 127
    896 // S390X:UINT_FAST8_MAX_ 255
    897 //
    898 // S390X:INT16_MAX_ 32767
    899 // S390X:INT16_MIN_ (-32767 -1)
    900 // S390X:UINT16_MAX_ 65535
    901 // S390X:INT_LEAST16_MIN_ (-32767 -1)
    902 // S390X:INT_LEAST16_MAX_ 32767
    903 // S390X:UINT_LEAST16_MAX_ 65535
    904 // S390X:INT_FAST16_MIN_ (-32767 -1)
    905 // S390X:INT_FAST16_MAX_ 32767
    906 // S390X:UINT_FAST16_MAX_ 65535
    907 //
    908 // S390X:INT32_MAX_ 2147483647
    909 // S390X:INT32_MIN_ (-2147483647 -1)
    910 // S390X:UINT32_MAX_ 4294967295U
    911 // S390X:INT_LEAST32_MIN_ (-2147483647 -1)
    912 // S390X:INT_LEAST32_MAX_ 2147483647
    913 // S390X:UINT_LEAST32_MAX_ 4294967295U
    914 // S390X:INT_FAST32_MIN_ (-2147483647 -1)
    915 // S390X:INT_FAST32_MAX_ 2147483647
    916 // S390X:UINT_FAST32_MAX_ 4294967295U
    917 //
    918 // S390X:INT64_MAX_ 9223372036854775807L
    919 // S390X:INT64_MIN_ (-9223372036854775807L -1)
    920 // S390X:UINT64_MAX_ 18446744073709551615UL
    921 // S390X:INT_LEAST64_MIN_ (-9223372036854775807L -1)
    922 // S390X:INT_LEAST64_MAX_ 9223372036854775807L
    923 // S390X:UINT_LEAST64_MAX_ 18446744073709551615UL
    924 // S390X:INT_FAST64_MIN_ (-9223372036854775807L -1)
    925 // S390X:INT_FAST64_MAX_ 9223372036854775807L
    926 // S390X:UINT_FAST64_MAX_ 18446744073709551615UL
    927 //
    928 // S390X:INTPTR_MIN_ (-9223372036854775807L -1)
    929 // S390X:INTPTR_MAX_ 9223372036854775807L
    930 // S390X:UINTPTR_MAX_ 18446744073709551615UL
    931 // S390X:PTRDIFF_MIN_ (-9223372036854775807L -1)
    932 // S390X:PTRDIFF_MAX_ 9223372036854775807L
    933 // S390X:SIZE_MAX_ 18446744073709551615UL
    934 //
    935 // S390X:INTMAX_MIN_ (-9223372036854775807L -1)
    936 // S390X:INTMAX_MAX_ 9223372036854775807L
    937 // S390X:UINTMAX_MAX_ 18446744073709551615UL
    938 //
    939 // S390X:SIG_ATOMIC_MIN_ (-2147483647 -1)
    940 // S390X:SIG_ATOMIC_MAX_ 2147483647
    941 // S390X:WINT_MIN_ (-2147483647 -1)
    942 // S390X:WINT_MAX_ 2147483647
    943 //
    944 // S390X:WCHAR_MAX_ 2147483647
    945 // S390X:WCHAR_MIN_ (-2147483647 -1)
    946 //
    947 // S390X:INT8_C_(0) 0
    948 // S390X:UINT8_C_(0) 0U
    949 // S390X:INT16_C_(0) 0
    950 // S390X:UINT16_C_(0) 0U
    951 // S390X:INT32_C_(0) 0
    952 // S390X:UINT32_C_(0) 0U
    953 // S390X:INT64_C_(0) 0L
    954 // S390X:UINT64_C_(0) 0UL
    955 //
    956 // S390X:INTMAX_C_(0) 0L
    957 // S390X:UINTMAX_C_(0) 0UL
    958 //
    959 // RUN: %clang_cc1 -E -ffreestanding -triple=sparc-none-none %s | FileCheck -check-prefix SPARC %s
    960 //
    961 // SPARC:typedef long long int int64_t;
    962 // SPARC:typedef long long unsigned int uint64_t;
    963 // SPARC:typedef int64_t int_least64_t;
    964 // SPARC:typedef uint64_t uint_least64_t;
    965 // SPARC:typedef int64_t int_fast64_t;
    966 // SPARC:typedef uint64_t uint_fast64_t;
    967 //
    968 // SPARC:typedef int int32_t;
    969 // SPARC:typedef unsigned int uint32_t;
    970 // SPARC:typedef int32_t int_least32_t;
    971 // SPARC:typedef uint32_t uint_least32_t;
    972 // SPARC:typedef int32_t int_fast32_t;
    973 // SPARC:typedef uint32_t uint_fast32_t;
    974 //
    975 // SPARC:typedef short int16_t;
    976 // SPARC:typedef unsigned short uint16_t;
    977 // SPARC:typedef int16_t int_least16_t;
    978 // SPARC:typedef uint16_t uint_least16_t;
    979 // SPARC:typedef int16_t int_fast16_t;
    980 // SPARC:typedef uint16_t uint_fast16_t;
    981 //
    982 // SPARC:typedef signed char int8_t;
    983 // SPARC:typedef unsigned char uint8_t;
    984 // SPARC:typedef int8_t int_least8_t;
    985 // SPARC:typedef uint8_t uint_least8_t;
    986 // SPARC:typedef int8_t int_fast8_t;
    987 // SPARC:typedef uint8_t uint_fast8_t;
    988 //
    989 // SPARC:typedef int32_t intptr_t;
    990 // SPARC:typedef uint32_t uintptr_t;
    991 //
    992 // SPARC:typedef long long int intmax_t;
    993 // SPARC:typedef long long unsigned int uintmax_t;
    994 //
    995 // SPARC:INT8_MAX_ 127
    996 // SPARC:INT8_MIN_ (-127 -1)
    997 // SPARC:UINT8_MAX_ 255
    998 // SPARC:INT_LEAST8_MIN_ (-127 -1)
    999 // SPARC:INT_LEAST8_MAX_ 127
   1000 // SPARC:UINT_LEAST8_MAX_ 255
   1001 // SPARC:INT_FAST8_MIN_ (-127 -1)
   1002 // SPARC:INT_FAST8_MAX_ 127
   1003 // SPARC:UINT_FAST8_MAX_ 255
   1004 //
   1005 // SPARC:INT16_MAX_ 32767
   1006 // SPARC:INT16_MIN_ (-32767 -1)
   1007 // SPARC:UINT16_MAX_ 65535
   1008 // SPARC:INT_LEAST16_MIN_ (-32767 -1)
   1009 // SPARC:INT_LEAST16_MAX_ 32767
   1010 // SPARC:UINT_LEAST16_MAX_ 65535
   1011 // SPARC:INT_FAST16_MIN_ (-32767 -1)
   1012 // SPARC:INT_FAST16_MAX_ 32767
   1013 // SPARC:UINT_FAST16_MAX_ 65535
   1014 //
   1015 // SPARC:INT32_MAX_ 2147483647
   1016 // SPARC:INT32_MIN_ (-2147483647 -1)
   1017 // SPARC:UINT32_MAX_ 4294967295U
   1018 // SPARC:INT_LEAST32_MIN_ (-2147483647 -1)
   1019 // SPARC:INT_LEAST32_MAX_ 2147483647
   1020 // SPARC:UINT_LEAST32_MAX_ 4294967295U
   1021 // SPARC:INT_FAST32_MIN_ (-2147483647 -1)
   1022 // SPARC:INT_FAST32_MAX_ 2147483647
   1023 // SPARC:UINT_FAST32_MAX_ 4294967295U
   1024 //
   1025 // SPARC:INT64_MAX_ 9223372036854775807LL
   1026 // SPARC:INT64_MIN_ (-9223372036854775807LL -1)
   1027 // SPARC:UINT64_MAX_ 18446744073709551615ULL
   1028 // SPARC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
   1029 // SPARC:INT_LEAST64_MAX_ 9223372036854775807LL
   1030 // SPARC:UINT_LEAST64_MAX_ 18446744073709551615ULL
   1031 // SPARC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
   1032 // SPARC:INT_FAST64_MAX_ 9223372036854775807LL
   1033 // SPARC:UINT_FAST64_MAX_ 18446744073709551615ULL
   1034 //
   1035 // SPARC:INTPTR_MIN_ (-2147483647 -1)
   1036 // SPARC:INTPTR_MAX_ 2147483647
   1037 // SPARC:UINTPTR_MAX_ 4294967295U
   1038 // SPARC:PTRDIFF_MIN_ (-2147483647 -1)
   1039 // SPARC:PTRDIFF_MAX_ 2147483647
   1040 // SPARC:SIZE_MAX_ 4294967295U
   1041 //
   1042 // SPARC:INTMAX_MIN_ (-9223372036854775807LL -1)
   1043 // SPARC:INTMAX_MAX_ 9223372036854775807LL
   1044 // SPARC:UINTMAX_MAX_ 18446744073709551615ULL
   1045 //
   1046 // SPARC:SIG_ATOMIC_MIN_ (-2147483647 -1)
   1047 // SPARC:SIG_ATOMIC_MAX_ 2147483647
   1048 // SPARC:WINT_MIN_ (-2147483647 -1)
   1049 // SPARC:WINT_MAX_ 2147483647
   1050 //
   1051 // SPARC:WCHAR_MAX_ 2147483647
   1052 // SPARC:WCHAR_MIN_ (-2147483647 -1)
   1053 //
   1054 // SPARC:INT8_C_(0) 0
   1055 // SPARC:UINT8_C_(0) 0U
   1056 // SPARC:INT16_C_(0) 0
   1057 // SPARC:UINT16_C_(0) 0U
   1058 // SPARC:INT32_C_(0) 0
   1059 // SPARC:UINT32_C_(0) 0U
   1060 // SPARC:INT64_C_(0) 0LL
   1061 // SPARC:UINT64_C_(0) 0ULL
   1062 //
   1063 // SPARC:INTMAX_C_(0) 0LL
   1064 // SPARC:UINTMAX_C_(0) 0ULL
   1065 //
   1066 // RUN: %clang_cc1 -E -ffreestanding -triple=tce-none-none %s | FileCheck -check-prefix TCE %s
   1067 //
   1068 // TCE:typedef int int32_t;
   1069 // TCE:typedef unsigned int uint32_t;
   1070 // TCE:typedef int32_t int_least32_t;
   1071 // TCE:typedef uint32_t uint_least32_t;
   1072 // TCE:typedef int32_t int_fast32_t;
   1073 // TCE:typedef uint32_t uint_fast32_t;
   1074 //
   1075 // TCE:typedef short int16_t;
   1076 // TCE:typedef unsigned short uint16_t;
   1077 // TCE:typedef int16_t int_least16_t;
   1078 // TCE:typedef uint16_t uint_least16_t;
   1079 // TCE:typedef int16_t int_fast16_t;
   1080 // TCE:typedef uint16_t uint_fast16_t;
   1081 //
   1082 // TCE:typedef signed char int8_t;
   1083 // TCE:typedef unsigned char uint8_t;
   1084 // TCE:typedef int8_t int_least8_t;
   1085 // TCE:typedef uint8_t uint_least8_t;
   1086 // TCE:typedef int8_t int_fast8_t;
   1087 // TCE:typedef uint8_t uint_fast8_t;
   1088 //
   1089 // TCE:typedef int32_t intptr_t;
   1090 // TCE:typedef uint32_t uintptr_t;
   1091 //
   1092 // TCE:typedef long int intmax_t;
   1093 // TCE:typedef long unsigned int uintmax_t;
   1094 //
   1095 // TCE:INT8_MAX_ 127
   1096 // TCE:INT8_MIN_ (-127 -1)
   1097 // TCE:UINT8_MAX_ 255
   1098 // TCE:INT_LEAST8_MIN_ (-127 -1)
   1099 // TCE:INT_LEAST8_MAX_ 127
   1100 // TCE:UINT_LEAST8_MAX_ 255
   1101 // TCE:INT_FAST8_MIN_ (-127 -1)
   1102 // TCE:INT_FAST8_MAX_ 127
   1103 // TCE:UINT_FAST8_MAX_ 255
   1104 //
   1105 // TCE:INT16_MAX_ 32767
   1106 // TCE:INT16_MIN_ (-32767 -1)
   1107 // TCE:UINT16_MAX_ 65535
   1108 // TCE:INT_LEAST16_MIN_ (-32767 -1)
   1109 // TCE:INT_LEAST16_MAX_ 32767
   1110 // TCE:UINT_LEAST16_MAX_ 65535
   1111 // TCE:INT_FAST16_MIN_ (-32767 -1)
   1112 // TCE:INT_FAST16_MAX_ 32767
   1113 // TCE:UINT_FAST16_MAX_ 65535
   1114 //
   1115 // TCE:INT32_MAX_ 2147483647
   1116 // TCE:INT32_MIN_ (-2147483647 -1)
   1117 // TCE:UINT32_MAX_ 4294967295U
   1118 // TCE:INT_LEAST32_MIN_ (-2147483647 -1)
   1119 // TCE:INT_LEAST32_MAX_ 2147483647
   1120 // TCE:UINT_LEAST32_MAX_ 4294967295U
   1121 // TCE:INT_FAST32_MIN_ (-2147483647 -1)
   1122 // TCE:INT_FAST32_MAX_ 2147483647
   1123 // TCE:UINT_FAST32_MAX_ 4294967295U
   1124 //
   1125 // TCE:INT64_MAX_ INT64_MAX
   1126 // TCE:INT64_MIN_ INT64_MIN
   1127 // TCE:UINT64_MAX_ UINT64_MAX
   1128 // TCE:INT_LEAST64_MIN_ INT_LEAST64_MIN
   1129 // TCE:INT_LEAST64_MAX_ INT_LEAST64_MAX
   1130 // TCE:UINT_LEAST64_MAX_ UINT_LEAST64_MAX
   1131 // TCE:INT_FAST64_MIN_ INT_FAST64_MIN
   1132 // TCE:INT_FAST64_MAX_ INT_FAST64_MAX
   1133 // TCE:UINT_FAST64_MAX_ UINT_FAST64_MAX
   1134 //
   1135 // TCE:INTPTR_MIN_ (-2147483647 -1)
   1136 // TCE:INTPTR_MAX_ 2147483647
   1137 // TCE:UINTPTR_MAX_ 4294967295U
   1138 // TCE:PTRDIFF_MIN_ (-2147483647 -1)
   1139 // TCE:PTRDIFF_MAX_ 2147483647
   1140 // TCE:SIZE_MAX_ 4294967295U
   1141 //
   1142 // TCE:INTMAX_MIN_ (-2147483647 -1)
   1143 // TCE:INTMAX_MAX_ 2147483647
   1144 // TCE:UINTMAX_MAX_ 4294967295U
   1145 //
   1146 // TCE:SIG_ATOMIC_MIN_ (-2147483647 -1)
   1147 // TCE:SIG_ATOMIC_MAX_ 2147483647
   1148 // TCE:WINT_MIN_ (-2147483647 -1)
   1149 // TCE:WINT_MAX_ 2147483647
   1150 //
   1151 // TCE:WCHAR_MAX_ 2147483647
   1152 // TCE:WCHAR_MIN_ (-2147483647 -1)
   1153 //
   1154 // TCE:INT8_C_(0) 0
   1155 // TCE:UINT8_C_(0) 0U
   1156 // TCE:INT16_C_(0) 0
   1157 // TCE:UINT16_C_(0) 0U
   1158 // TCE:INT32_C_(0) 0
   1159 // TCE:UINT32_C_(0) 0U
   1160 // TCE:INT64_C_(0) INT64_C(0)
   1161 // TCE:UINT64_C_(0) UINT64_C(0)
   1162 //
   1163 // TCE:INTMAX_C_(0) 0
   1164 // TCE:UINTMAX_C_(0) 0U
   1165 //
   1166 // RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-none-none %s | FileCheck -check-prefix X86_64 %s
   1167 //
   1168 //
   1169 // X86_64:typedef long int int64_t;
   1170 // X86_64:typedef long unsigned int uint64_t;
   1171 // X86_64:typedef int64_t int_least64_t;
   1172 // X86_64:typedef uint64_t uint_least64_t;
   1173 // X86_64:typedef int64_t int_fast64_t;
   1174 // X86_64:typedef uint64_t uint_fast64_t;
   1175 //
   1176 // X86_64:typedef int int32_t;
   1177 // X86_64:typedef unsigned int uint32_t;
   1178 // X86_64:typedef int32_t int_least32_t;
   1179 // X86_64:typedef uint32_t uint_least32_t;
   1180 // X86_64:typedef int32_t int_fast32_t;
   1181 // X86_64:typedef uint32_t uint_fast32_t;
   1182 //
   1183 // X86_64:typedef short int16_t;
   1184 // X86_64:typedef unsigned short uint16_t;
   1185 // X86_64:typedef int16_t int_least16_t;
   1186 // X86_64:typedef uint16_t uint_least16_t;
   1187 // X86_64:typedef int16_t int_fast16_t;
   1188 // X86_64:typedef uint16_t uint_fast16_t;
   1189 //
   1190 // X86_64:typedef signed char int8_t;
   1191 // X86_64:typedef unsigned char uint8_t;
   1192 // X86_64:typedef int8_t int_least8_t;
   1193 // X86_64:typedef uint8_t uint_least8_t;
   1194 // X86_64:typedef int8_t int_fast8_t;
   1195 // X86_64:typedef uint8_t uint_fast8_t;
   1196 //
   1197 // X86_64:typedef int64_t intptr_t;
   1198 // X86_64:typedef uint64_t uintptr_t;
   1199 //
   1200 // X86_64:typedef long int intmax_t;
   1201 // X86_64:typedef long unsigned int uintmax_t;
   1202 //
   1203 // X86_64:INT8_MAX_ 127
   1204 // X86_64:INT8_MIN_ (-127 -1)
   1205 // X86_64:UINT8_MAX_ 255
   1206 // X86_64:INT_LEAST8_MIN_ (-127 -1)
   1207 // X86_64:INT_LEAST8_MAX_ 127
   1208 // X86_64:UINT_LEAST8_MAX_ 255
   1209 // X86_64:INT_FAST8_MIN_ (-127 -1)
   1210 // X86_64:INT_FAST8_MAX_ 127
   1211 // X86_64:UINT_FAST8_MAX_ 255
   1212 //
   1213 // X86_64:INT16_MAX_ 32767
   1214 // X86_64:INT16_MIN_ (-32767 -1)
   1215 // X86_64:UINT16_MAX_ 65535
   1216 // X86_64:INT_LEAST16_MIN_ (-32767 -1)
   1217 // X86_64:INT_LEAST16_MAX_ 32767
   1218 // X86_64:UINT_LEAST16_MAX_ 65535
   1219 // X86_64:INT_FAST16_MIN_ (-32767 -1)
   1220 // X86_64:INT_FAST16_MAX_ 32767
   1221 // X86_64:UINT_FAST16_MAX_ 65535
   1222 //
   1223 // X86_64:INT32_MAX_ 2147483647
   1224 // X86_64:INT32_MIN_ (-2147483647 -1)
   1225 // X86_64:UINT32_MAX_ 4294967295U
   1226 // X86_64:INT_LEAST32_MIN_ (-2147483647 -1)
   1227 // X86_64:INT_LEAST32_MAX_ 2147483647
   1228 // X86_64:UINT_LEAST32_MAX_ 4294967295U
   1229 // X86_64:INT_FAST32_MIN_ (-2147483647 -1)
   1230 // X86_64:INT_FAST32_MAX_ 2147483647
   1231 // X86_64:UINT_FAST32_MAX_ 4294967295U
   1232 //
   1233 // X86_64:INT64_MAX_ 9223372036854775807L
   1234 // X86_64:INT64_MIN_ (-9223372036854775807L -1)
   1235 // X86_64:UINT64_MAX_ 18446744073709551615UL
   1236 // X86_64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
   1237 // X86_64:INT_LEAST64_MAX_ 9223372036854775807L
   1238 // X86_64:UINT_LEAST64_MAX_ 18446744073709551615UL
   1239 // X86_64:INT_FAST64_MIN_ (-9223372036854775807L -1)
   1240 // X86_64:INT_FAST64_MAX_ 9223372036854775807L
   1241 // X86_64:UINT_FAST64_MAX_ 18446744073709551615UL
   1242 //
   1243 // X86_64:INTPTR_MIN_ (-9223372036854775807L -1)
   1244 // X86_64:INTPTR_MAX_ 9223372036854775807L
   1245 // X86_64:UINTPTR_MAX_ 18446744073709551615UL
   1246 // X86_64:PTRDIFF_MIN_ (-9223372036854775807L -1)
   1247 // X86_64:PTRDIFF_MAX_ 9223372036854775807L
   1248 // X86_64:SIZE_MAX_ 18446744073709551615UL
   1249 //
   1250 // X86_64:INTMAX_MIN_ (-9223372036854775807L -1)
   1251 // X86_64:INTMAX_MAX_ 9223372036854775807L
   1252 // X86_64:UINTMAX_MAX_ 18446744073709551615UL
   1253 //
   1254 // X86_64:SIG_ATOMIC_MIN_ (-2147483647 -1)
   1255 // X86_64:SIG_ATOMIC_MAX_ 2147483647
   1256 // X86_64:WINT_MIN_ (-2147483647 -1)
   1257 // X86_64:WINT_MAX_ 2147483647
   1258 //
   1259 // X86_64:WCHAR_MAX_ 2147483647
   1260 // X86_64:WCHAR_MIN_ (-2147483647 -1)
   1261 //
   1262 // X86_64:INT8_C_(0) 0
   1263 // X86_64:UINT8_C_(0) 0U
   1264 // X86_64:INT16_C_(0) 0
   1265 // X86_64:UINT16_C_(0) 0U
   1266 // X86_64:INT32_C_(0) 0
   1267 // X86_64:UINT32_C_(0) 0U
   1268 // X86_64:INT64_C_(0) 0L
   1269 // X86_64:UINT64_C_(0) 0UL
   1270 //
   1271 // X86_64:INTMAX_C_(0) 0L
   1272 // X86_64:UINTMAX_C_(0) 0UL
   1273 //
   1274 //
   1275 // RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-pc-linux-gnu %s | FileCheck -check-prefix X86_64_LINUX %s
   1276 //
   1277 // X86_64_LINUX:WINT_MIN_ 0U
   1278 // X86_64_LINUX:WINT_MAX_ 4294967295U
   1279 //
   1280 //
   1281 // RUN: %clang_cc1 -E -ffreestanding -triple=i386-mingw32 %s | FileCheck -check-prefix I386_MINGW32 %s
   1282 //
   1283 // I386_MINGW32:WCHAR_MAX_ 65535
   1284 // I386_MINGW32:WCHAR_MIN_ 0
   1285 //
   1286 //
   1287 // RUN: %clang_cc1 -E -ffreestanding -triple=xcore-none-none %s | FileCheck -check-prefix XCORE %s
   1288 //
   1289 // XCORE:typedef long long int int64_t;
   1290 // XCORE:typedef long long unsigned int uint64_t;
   1291 // XCORE:typedef int64_t int_least64_t;
   1292 // XCORE:typedef uint64_t uint_least64_t;
   1293 // XCORE:typedef int64_t int_fast64_t;
   1294 // XCORE:typedef uint64_t uint_fast64_t;
   1295 //
   1296 // XCORE:typedef int int32_t;
   1297 // XCORE:typedef unsigned int uint32_t;
   1298 // XCORE:typedef int32_t int_least32_t;
   1299 // XCORE:typedef uint32_t uint_least32_t;
   1300 // XCORE:typedef int32_t int_fast32_t;
   1301 // XCORE:typedef uint32_t uint_fast32_t;
   1302 //
   1303 // XCORE:typedef short int16_t;
   1304 // XCORE:typedef unsigned short uint16_t;
   1305 // XCORE:typedef int16_t int_least16_t;
   1306 // XCORE:typedef uint16_t uint_least16_t;
   1307 // XCORE:typedef int16_t int_fast16_t;
   1308 // XCORE:typedef uint16_t uint_fast16_t;
   1309 //
   1310 // XCORE:typedef signed char int8_t;
   1311 // XCORE:typedef unsigned char uint8_t;
   1312 // XCORE:typedef int8_t int_least8_t;
   1313 // XCORE:typedef uint8_t uint_least8_t;
   1314 // XCORE:typedef int8_t int_fast8_t;
   1315 // XCORE:typedef uint8_t uint_fast8_t;
   1316 //
   1317 // XCORE:typedef int32_t intptr_t;
   1318 // XCORE:typedef uint32_t uintptr_t;
   1319 //
   1320 // XCORE:typedef long long int intmax_t;
   1321 // XCORE:typedef long long unsigned int uintmax_t;
   1322 //
   1323 // XCORE:INT8_MAX_ 127
   1324 // XCORE:INT8_MIN_ (-127 -1)
   1325 // XCORE:UINT8_MAX_ 255
   1326 // XCORE:INT_LEAST8_MIN_ (-127 -1)
   1327 // XCORE:INT_LEAST8_MAX_ 127
   1328 // XCORE:UINT_LEAST8_MAX_ 255
   1329 // XCORE:INT_FAST8_MIN_ (-127 -1)
   1330 // XCORE:INT_FAST8_MAX_ 127
   1331 // XCORE:UINT_FAST8_MAX_ 255
   1332 //
   1333 // XCORE:INT16_MAX_ 32767
   1334 // XCORE:INT16_MIN_ (-32767 -1)
   1335 // XCORE:UINT16_MAX_ 65535
   1336 // XCORE:INT_LEAST16_MIN_ (-32767 -1)
   1337 // XCORE:INT_LEAST16_MAX_ 32767
   1338 // XCORE:UINT_LEAST16_MAX_ 65535
   1339 // XCORE:INT_FAST16_MIN_ (-32767 -1)
   1340 // XCORE:INT_FAST16_MAX_ 32767
   1341 // XCORE:UINT_FAST16_MAX_ 65535
   1342 //
   1343 // XCORE:INT32_MAX_ 2147483647
   1344 // XCORE:INT32_MIN_ (-2147483647 -1)
   1345 // XCORE:UINT32_MAX_ 4294967295U
   1346 // XCORE:INT_LEAST32_MIN_ (-2147483647 -1)
   1347 // XCORE:INT_LEAST32_MAX_ 2147483647
   1348 // XCORE:UINT_LEAST32_MAX_ 4294967295U
   1349 // XCORE:INT_FAST32_MIN_ (-2147483647 -1)
   1350 // XCORE:INT_FAST32_MAX_ 2147483647
   1351 // XCORE:UINT_FAST32_MAX_ 4294967295U
   1352 //
   1353 // XCORE:INT64_MAX_ 9223372036854775807LL
   1354 // XCORE:INT64_MIN_ (-9223372036854775807LL -1)
   1355 // XCORE:UINT64_MAX_ 18446744073709551615ULL
   1356 // XCORE:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
   1357 // XCORE:INT_LEAST64_MAX_ 9223372036854775807LL
   1358 // XCORE:UINT_LEAST64_MAX_ 18446744073709551615ULL
   1359 // XCORE:INT_FAST64_MIN_ (-9223372036854775807LL -1)
   1360 // XCORE:INT_FAST64_MAX_ 9223372036854775807LL
   1361 // XCORE:UINT_FAST64_MAX_ 18446744073709551615ULL
   1362 //
   1363 // XCORE:INTPTR_MIN_ (-2147483647 -1)
   1364 // XCORE:INTPTR_MAX_ 2147483647
   1365 // XCORE:UINTPTR_MAX_ 4294967295U
   1366 // XCORE:PTRDIFF_MIN_ (-2147483647 -1)
   1367 // XCORE:PTRDIFF_MAX_ 2147483647
   1368 // XCORE:SIZE_MAX_ 4294967295U
   1369 //
   1370 // XCORE:INTMAX_MIN_ (-9223372036854775807LL -1)
   1371 // XCORE:INTMAX_MAX_ 9223372036854775807LL
   1372 // XCORE:UINTMAX_MAX_ 18446744073709551615ULL
   1373 //
   1374 // XCORE:SIG_ATOMIC_MIN_ (-2147483647 -1)
   1375 // XCORE:SIG_ATOMIC_MAX_ 2147483647
   1376 // XCORE:WINT_MIN_ 0U
   1377 // XCORE:WINT_MAX_ 4294967295U
   1378 //
   1379 // XCORE:WCHAR_MAX_ 255
   1380 // XCORE:WCHAR_MIN_ 0
   1381 //
   1382 // XCORE:INT8_C_(0) 0
   1383 // XCORE:UINT8_C_(0) 0U
   1384 // XCORE:INT16_C_(0) 0
   1385 // XCORE:UINT16_C_(0) 0U
   1386 // XCORE:INT32_C_(0) 0
   1387 // XCORE:UINT32_C_(0) 0U
   1388 // XCORE:INT64_C_(0) 0LL
   1389 // XCORE:UINT64_C_(0) 0ULL
   1390 //
   1391 // XCORE:INTMAX_C_(0) 0LL
   1392 // XCORE:UINTMAX_C_(0) 0ULL
   1393 //
   1394 //
   1395 // stdint.h forms several macro definitions by pasting together identifiers
   1396 // to form names (eg. int32_t is formed from int ## 32 ## _t). The following
   1397 // case tests that these joining operations are performed correctly even if
   1398 // the identifiers used in the operations (int, uint, _t, INT, UINT, _MIN,
   1399 // _MAX, and _C(v)) are themselves macros.
   1400 //
   1401 // RUN: %clang_cc1 -E -ffreestanding -U__UINTMAX_TYPE__ -U__INTMAX_TYPE__ -Dint=a -Duint=b -D_t=c -DINT=d -DUINT=e -D_MIN=f -D_MAX=g '-D_C(v)=h' -triple=i386-none-none %s | FileCheck -check-prefix JOIN %s
   1402 // JOIN:typedef int32_t intptr_t;
   1403 // JOIN:typedef uint32_t uintptr_t;
   1404 // JOIN:typedef __INTMAX_TYPE__ intmax_t;
   1405 // JOIN:typedef __UINTMAX_TYPE__ uintmax_t;
   1406 // JOIN:INTPTR_MIN_ (-2147483647 -1)
   1407 // JOIN:INTPTR_MAX_ 2147483647
   1408 // JOIN:UINTPTR_MAX_ 4294967295U
   1409 // JOIN:PTRDIFF_MIN_ (-2147483647 -1)
   1410 // JOIN:PTRDIFF_MAX_ 2147483647
   1411 // JOIN:SIZE_MAX_ 4294967295U
   1412 // JOIN:INTMAX_MIN_ (-9223372036854775807LL -1)
   1413 // JOIN:INTMAX_MAX_ 9223372036854775807LL
   1414 // JOIN:UINTMAX_MAX_ 18446744073709551615ULL
   1415 // JOIN:SIG_ATOMIC_MIN_ (-2147483647 -1)
   1416 // JOIN:SIG_ATOMIC_MAX_ 2147483647
   1417 // JOIN:WINT_MIN_ (-2147483647 -1)
   1418 // JOIN:WINT_MAX_ 2147483647
   1419 // JOIN:WCHAR_MAX_ 2147483647
   1420 // JOIN:WCHAR_MIN_ (-2147483647 -1)
   1421 // JOIN:INTMAX_C_(0) 0LL
   1422 // JOIN:UINTMAX_C_(0) 0ULL
   1423 
   1424 #include <stdint.h>
   1425 
   1426 INT8_MAX_ INT8_MAX
   1427 INT8_MIN_ INT8_MIN
   1428 UINT8_MAX_ UINT8_MAX
   1429 INT_LEAST8_MIN_ INT_LEAST8_MIN
   1430 INT_LEAST8_MAX_ INT_LEAST8_MAX
   1431 UINT_LEAST8_MAX_ UINT_LEAST8_MAX
   1432 INT_FAST8_MIN_ INT_FAST8_MIN
   1433 INT_FAST8_MAX_ INT_FAST8_MAX
   1434 UINT_FAST8_MAX_ UINT_FAST8_MAX
   1435 
   1436 INT16_MAX_ INT16_MAX
   1437 INT16_MIN_ INT16_MIN
   1438 UINT16_MAX_ UINT16_MAX
   1439 INT_LEAST16_MIN_ INT_LEAST16_MIN
   1440 INT_LEAST16_MAX_ INT_LEAST16_MAX
   1441 UINT_LEAST16_MAX_ UINT_LEAST16_MAX
   1442 INT_FAST16_MIN_ INT_FAST16_MIN
   1443 INT_FAST16_MAX_ INT_FAST16_MAX
   1444 UINT_FAST16_MAX_ UINT_FAST16_MAX
   1445 
   1446 INT32_MAX_ INT32_MAX
   1447 INT32_MIN_ INT32_MIN
   1448 UINT32_MAX_ UINT32_MAX
   1449 INT_LEAST32_MIN_ INT_LEAST32_MIN
   1450 INT_LEAST32_MAX_ INT_LEAST32_MAX
   1451 UINT_LEAST32_MAX_ UINT_LEAST32_MAX
   1452 INT_FAST32_MIN_ INT_FAST32_MIN
   1453 INT_FAST32_MAX_ INT_FAST32_MAX
   1454 UINT_FAST32_MAX_ UINT_FAST32_MAX
   1455 
   1456 INT64_MAX_ INT64_MAX
   1457 INT64_MIN_ INT64_MIN
   1458 UINT64_MAX_ UINT64_MAX
   1459 INT_LEAST64_MIN_ INT_LEAST64_MIN
   1460 INT_LEAST64_MAX_ INT_LEAST64_MAX
   1461 UINT_LEAST64_MAX_ UINT_LEAST64_MAX
   1462 INT_FAST64_MIN_ INT_FAST64_MIN
   1463 INT_FAST64_MAX_ INT_FAST64_MAX
   1464 UINT_FAST64_MAX_ UINT_FAST64_MAX
   1465 
   1466 INTPTR_MIN_ INTPTR_MIN
   1467 INTPTR_MAX_ INTPTR_MAX
   1468 UINTPTR_MAX_ UINTPTR_MAX
   1469 PTRDIFF_MIN_ PTRDIFF_MIN
   1470 PTRDIFF_MAX_ PTRDIFF_MAX
   1471 SIZE_MAX_ SIZE_MAX
   1472 
   1473 INTMAX_MIN_ INTMAX_MIN
   1474 INTMAX_MAX_ INTMAX_MAX
   1475 UINTMAX_MAX_ UINTMAX_MAX
   1476 
   1477 SIG_ATOMIC_MIN_ SIG_ATOMIC_MIN
   1478 SIG_ATOMIC_MAX_ SIG_ATOMIC_MAX
   1479 WINT_MIN_ WINT_MIN
   1480 WINT_MAX_ WINT_MAX
   1481 
   1482 WCHAR_MAX_ WCHAR_MAX
   1483 WCHAR_MIN_ WCHAR_MIN
   1484 
   1485 INT8_C_(0) INT8_C(0)
   1486 UINT8_C_(0) UINT8_C(0)
   1487 INT16_C_(0) INT16_C(0)
   1488 UINT16_C_(0) UINT16_C(0)
   1489 INT32_C_(0) INT32_C(0)
   1490 UINT32_C_(0) UINT32_C(0)
   1491 INT64_C_(0) INT64_C(0)
   1492 UINT64_C_(0) UINT64_C(0)
   1493 
   1494 INTMAX_C_(0) INTMAX_C(0)
   1495 UINTMAX_C_(0) UINTMAX_C(0)
   1496