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 signed long long int int64_t;
      4 // ARM:typedef unsigned long long 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 signed 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 signed 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 signed long long int int64_t;
    112 // I386:typedef unsigned long long 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 signed 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 signed 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=msp430-none-none %s | FileCheck -check-prefix MSP430 %s
    217 //
    218 // MSP430:typedef signed long int int32_t;
    219 // MSP430:typedef unsigned long int uint32_t;
    220 // MSP430:typedef int32_t int_least32_t;
    221 // MSP430:typedef uint32_t uint_least32_t;
    222 // MSP430:typedef int32_t int_fast32_t;
    223 // MSP430:typedef uint32_t uint_fast32_t;
    224 //
    225 // MSP430:typedef signed short int16_t;
    226 // MSP430:typedef unsigned short uint16_t;
    227 // MSP430:typedef int16_t int_least16_t;
    228 // MSP430:typedef uint16_t uint_least16_t;
    229 // MSP430:typedef int16_t int_fast16_t;
    230 // MSP430:typedef uint16_t uint_fast16_t;
    231 //
    232 // MSP430:typedef signed char int8_t;
    233 // MSP430:typedef unsigned char uint8_t;
    234 // MSP430:typedef int8_t int_least8_t;
    235 // MSP430:typedef uint8_t uint_least8_t;
    236 // MSP430:typedef int8_t int_fast8_t;
    237 // MSP430:typedef uint8_t uint_fast8_t;
    238 //
    239 // MSP430:typedef int16_t intptr_t;
    240 // MSP430:typedef uint16_t uintptr_t;
    241 //
    242 // MSP430:typedef long long int intmax_t;
    243 // MSP430:typedef long long unsigned int uintmax_t;
    244 //
    245 // MSP430:INT8_MAX_ 127
    246 // MSP430:INT8_MIN_ (-127 -1)
    247 // MSP430:UINT8_MAX_ 255
    248 // MSP430:INT_LEAST8_MIN_ (-127 -1)
    249 // MSP430:INT_LEAST8_MAX_ 127
    250 // MSP430:UINT_LEAST8_MAX_ 255
    251 // MSP430:INT_FAST8_MIN_ (-127 -1)
    252 // MSP430:INT_FAST8_MAX_ 127
    253 // MSP430:UINT_FAST8_MAX_ 255
    254 //
    255 // MSP430:INT16_MAX_ 32767
    256 // MSP430:INT16_MIN_ (-32767 -1)
    257 // MSP430:UINT16_MAX_ 65535
    258 // MSP430:INT_LEAST16_MIN_ (-32767 -1)
    259 // MSP430:INT_LEAST16_MAX_ 32767
    260 // MSP430:UINT_LEAST16_MAX_ 65535
    261 // MSP430:INT_FAST16_MIN_ (-32767 -1)
    262 // MSP430:INT_FAST16_MAX_ 32767
    263 // MSP430:UINT_FAST16_MAX_ 65535
    264 //
    265 // MSP430:INT32_MAX_ 2147483647L
    266 // MSP430:INT32_MIN_ (-2147483647L -1)
    267 // MSP430:UINT32_MAX_ 4294967295UL
    268 // MSP430:INT_LEAST32_MIN_ (-2147483647L -1)
    269 // MSP430:INT_LEAST32_MAX_ 2147483647L
    270 // MSP430:UINT_LEAST32_MAX_ 4294967295UL
    271 // MSP430:INT_FAST32_MIN_ (-2147483647L -1)
    272 // MSP430:INT_FAST32_MAX_ 2147483647L
    273 // MSP430:UINT_FAST32_MAX_ 4294967295UL
    274 //
    275 // MSP430:INT64_MAX_ 9223372036854775807LL
    276 // MSP430:INT64_MIN_ (-9223372036854775807LL -1)
    277 // MSP430:UINT64_MAX_ 18446744073709551615ULL
    278 // MSP430:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    279 // MSP430:INT_LEAST64_MAX_ 9223372036854775807LL
    280 // MSP430:UINT_LEAST64_MAX_ 18446744073709551615ULL
    281 // MSP430:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    282 // MSP430:INT_FAST64_MAX_ 9223372036854775807LL
    283 // MSP430:UINT_FAST64_MAX_ 18446744073709551615ULL
    284 //
    285 // MSP430:INTPTR_MIN_ (-32767 -1)
    286 // MSP430:INTPTR_MAX_ 32767
    287 // MSP430:UINTPTR_MAX_ 65535
    288 // MSP430:PTRDIFF_MIN_ (-32767 -1)
    289 // MSP430:PTRDIFF_MAX_ 32767
    290 // MSP430:SIZE_MAX_ 65535
    291 //
    292 // MSP430:INTMAX_MIN_ (-9223372036854775807LL -1)
    293 // MSP430:INTMAX_MAX_ 9223372036854775807LL
    294 // MSP430:UINTMAX_MAX_ 18446744073709551615ULL
    295 //
    296 // MSP430:SIG_ATOMIC_MIN_ (-2147483647L -1)
    297 // MSP430:SIG_ATOMIC_MAX_ 2147483647L
    298 // MSP430:WINT_MIN_ (-32767 -1)
    299 // MSP430:WINT_MAX_ 32767
    300 //
    301 // MSP430:WCHAR_MAX_ 32767
    302 // MSP430:WCHAR_MIN_ (-32767 -1)
    303 //
    304 // MSP430:INT8_C_(0) 0
    305 // MSP430:UINT8_C_(0) 0U
    306 // MSP430:INT16_C_(0) 0
    307 // MSP430:UINT16_C_(0) 0U
    308 // MSP430:INT32_C_(0) 0L
    309 // MSP430:UINT32_C_(0) 0UL
    310 // MSP430:INT64_C_(0) 0LL
    311 // MSP430:UINT64_C_(0) 0ULL
    312 //
    313 // MSP430:INTMAX_C_(0) 0L
    314 // MSP430:UINTMAX_C_(0) 0UL
    315 //
    316 // RUN: %clang_cc1 -E -ffreestanding -triple=powerpc64-none-none %s | FileCheck -check-prefix PPC64 %s
    317 //
    318 // PPC64:typedef signed long int int64_t;
    319 // PPC64:typedef unsigned long int uint64_t;
    320 // PPC64:typedef int64_t int_least64_t;
    321 // PPC64:typedef uint64_t uint_least64_t;
    322 // PPC64:typedef int64_t int_fast64_t;
    323 // PPC64:typedef uint64_t uint_fast64_t;
    324 //
    325 // PPC64:typedef signed int int32_t;
    326 // PPC64:typedef unsigned int uint32_t;
    327 // PPC64:typedef int32_t int_least32_t;
    328 // PPC64:typedef uint32_t uint_least32_t;
    329 // PPC64:typedef int32_t int_fast32_t;
    330 // PPC64:typedef uint32_t uint_fast32_t;
    331 //
    332 // PPC64:typedef signed short int16_t;
    333 // PPC64:typedef unsigned short uint16_t;
    334 // PPC64:typedef int16_t int_least16_t;
    335 // PPC64:typedef uint16_t uint_least16_t;
    336 // PPC64:typedef int16_t int_fast16_t;
    337 // PPC64:typedef uint16_t uint_fast16_t;
    338 //
    339 // PPC64:typedef signed char int8_t;
    340 // PPC64:typedef unsigned char uint8_t;
    341 // PPC64:typedef int8_t int_least8_t;
    342 // PPC64:typedef uint8_t uint_least8_t;
    343 // PPC64:typedef int8_t int_fast8_t;
    344 // PPC64:typedef uint8_t uint_fast8_t;
    345 //
    346 // PPC64:typedef int64_t intptr_t;
    347 // PPC64:typedef uint64_t uintptr_t;
    348 //
    349 // PPC64:typedef long int intmax_t;
    350 // PPC64:typedef long unsigned int uintmax_t;
    351 //
    352 // PPC64:INT8_MAX_ 127
    353 // PPC64:INT8_MIN_ (-127 -1)
    354 // PPC64:UINT8_MAX_ 255
    355 // PPC64:INT_LEAST8_MIN_ (-127 -1)
    356 // PPC64:INT_LEAST8_MAX_ 127
    357 // PPC64:UINT_LEAST8_MAX_ 255
    358 // PPC64:INT_FAST8_MIN_ (-127 -1)
    359 // PPC64:INT_FAST8_MAX_ 127
    360 // PPC64:UINT_FAST8_MAX_ 255
    361 //
    362 // PPC64:INT16_MAX_ 32767
    363 // PPC64:INT16_MIN_ (-32767 -1)
    364 // PPC64:UINT16_MAX_ 65535
    365 // PPC64:INT_LEAST16_MIN_ (-32767 -1)
    366 // PPC64:INT_LEAST16_MAX_ 32767
    367 // PPC64:UINT_LEAST16_MAX_ 65535
    368 // PPC64:INT_FAST16_MIN_ (-32767 -1)
    369 // PPC64:INT_FAST16_MAX_ 32767
    370 // PPC64:UINT_FAST16_MAX_ 65535
    371 //
    372 // PPC64:INT32_MAX_ 2147483647
    373 // PPC64:INT32_MIN_ (-2147483647 -1)
    374 // PPC64:UINT32_MAX_ 4294967295U
    375 // PPC64:INT_LEAST32_MIN_ (-2147483647 -1)
    376 // PPC64:INT_LEAST32_MAX_ 2147483647
    377 // PPC64:UINT_LEAST32_MAX_ 4294967295U
    378 // PPC64:INT_FAST32_MIN_ (-2147483647 -1)
    379 // PPC64:INT_FAST32_MAX_ 2147483647
    380 // PPC64:UINT_FAST32_MAX_ 4294967295U
    381 //
    382 // PPC64:INT64_MAX_ 9223372036854775807L
    383 // PPC64:INT64_MIN_ (-9223372036854775807L -1)
    384 // PPC64:UINT64_MAX_ 18446744073709551615UL
    385 // PPC64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
    386 // PPC64:INT_LEAST64_MAX_ 9223372036854775807L
    387 // PPC64:UINT_LEAST64_MAX_ 18446744073709551615UL
    388 // PPC64:INT_FAST64_MIN_ (-9223372036854775807L -1)
    389 // PPC64:INT_FAST64_MAX_ 9223372036854775807L
    390 // PPC64:UINT_FAST64_MAX_ 18446744073709551615UL
    391 //
    392 // PPC64:INTPTR_MIN_ (-9223372036854775807L -1)
    393 // PPC64:INTPTR_MAX_ 9223372036854775807L
    394 // PPC64:UINTPTR_MAX_ 18446744073709551615UL
    395 // PPC64:PTRDIFF_MIN_ (-9223372036854775807L -1)
    396 // PPC64:PTRDIFF_MAX_ 9223372036854775807L
    397 // PPC64:SIZE_MAX_ 18446744073709551615UL
    398 //
    399 // PPC64:INTMAX_MIN_ (-9223372036854775807L -1)
    400 // PPC64:INTMAX_MAX_ 9223372036854775807L
    401 // PPC64:UINTMAX_MAX_ 18446744073709551615UL
    402 //
    403 // PPC64:SIG_ATOMIC_MIN_ (-2147483647 -1)
    404 // PPC64:SIG_ATOMIC_MAX_ 2147483647
    405 // PPC64:WINT_MIN_ (-2147483647 -1)
    406 // PPC64:WINT_MAX_ 2147483647
    407 //
    408 // PPC64:WCHAR_MAX_ 2147483647
    409 // PPC64:WCHAR_MIN_ (-2147483647 -1)
    410 //
    411 // PPC64:INT8_C_(0) 0
    412 // PPC64:UINT8_C_(0) 0U
    413 // PPC64:INT16_C_(0) 0
    414 // PPC64:UINT16_C_(0) 0U
    415 // PPC64:INT32_C_(0) 0
    416 // PPC64:UINT32_C_(0) 0U
    417 // PPC64:INT64_C_(0) 0L
    418 // PPC64:UINT64_C_(0) 0UL
    419 //
    420 // PPC64:INTMAX_C_(0) 0L
    421 // PPC64:UINTMAX_C_(0) 0UL
    422 //
    423 // RUN: %clang_cc1 -E -ffreestanding -triple=powerpc-none-none %s | FileCheck -check-prefix PPC %s
    424 //
    425 //
    426 // PPC:typedef signed long long int int64_t;
    427 // PPC:typedef unsigned long long int uint64_t;
    428 // PPC:typedef int64_t int_least64_t;
    429 // PPC:typedef uint64_t uint_least64_t;
    430 // PPC:typedef int64_t int_fast64_t;
    431 // PPC:typedef uint64_t uint_fast64_t;
    432 //
    433 // PPC:typedef signed int int32_t;
    434 // PPC:typedef unsigned int uint32_t;
    435 // PPC:typedef int32_t int_least32_t;
    436 // PPC:typedef uint32_t uint_least32_t;
    437 // PPC:typedef int32_t int_fast32_t;
    438 // PPC:typedef uint32_t uint_fast32_t;
    439 //
    440 // PPC:typedef signed short int16_t;
    441 // PPC:typedef unsigned short uint16_t;
    442 // PPC:typedef int16_t int_least16_t;
    443 // PPC:typedef uint16_t uint_least16_t;
    444 // PPC:typedef int16_t int_fast16_t;
    445 // PPC:typedef uint16_t uint_fast16_t;
    446 //
    447 // PPC:typedef signed char int8_t;
    448 // PPC:typedef unsigned char uint8_t;
    449 // PPC:typedef int8_t int_least8_t;
    450 // PPC:typedef uint8_t uint_least8_t;
    451 // PPC:typedef int8_t int_fast8_t;
    452 // PPC:typedef uint8_t uint_fast8_t;
    453 //
    454 // PPC:typedef int32_t intptr_t;
    455 // PPC:typedef uint32_t uintptr_t;
    456 //
    457 // PPC:typedef long long int intmax_t;
    458 // PPC:typedef long long unsigned int uintmax_t;
    459 //
    460 // PPC:INT8_MAX_ 127
    461 // PPC:INT8_MIN_ (-127 -1)
    462 // PPC:UINT8_MAX_ 255
    463 // PPC:INT_LEAST8_MIN_ (-127 -1)
    464 // PPC:INT_LEAST8_MAX_ 127
    465 // PPC:UINT_LEAST8_MAX_ 255
    466 // PPC:INT_FAST8_MIN_ (-127 -1)
    467 // PPC:INT_FAST8_MAX_ 127
    468 // PPC:UINT_FAST8_MAX_ 255
    469 //
    470 // PPC:INT16_MAX_ 32767
    471 // PPC:INT16_MIN_ (-32767 -1)
    472 // PPC:UINT16_MAX_ 65535
    473 // PPC:INT_LEAST16_MIN_ (-32767 -1)
    474 // PPC:INT_LEAST16_MAX_ 32767
    475 // PPC:UINT_LEAST16_MAX_ 65535
    476 // PPC:INT_FAST16_MIN_ (-32767 -1)
    477 // PPC:INT_FAST16_MAX_ 32767
    478 // PPC:UINT_FAST16_MAX_ 65535
    479 //
    480 // PPC:INT32_MAX_ 2147483647
    481 // PPC:INT32_MIN_ (-2147483647 -1)
    482 // PPC:UINT32_MAX_ 4294967295U
    483 // PPC:INT_LEAST32_MIN_ (-2147483647 -1)
    484 // PPC:INT_LEAST32_MAX_ 2147483647
    485 // PPC:UINT_LEAST32_MAX_ 4294967295U
    486 // PPC:INT_FAST32_MIN_ (-2147483647 -1)
    487 // PPC:INT_FAST32_MAX_ 2147483647
    488 // PPC:UINT_FAST32_MAX_ 4294967295U
    489 //
    490 // PPC:INT64_MAX_ 9223372036854775807LL
    491 // PPC:INT64_MIN_ (-9223372036854775807LL -1)
    492 // PPC:UINT64_MAX_ 18446744073709551615ULL
    493 // PPC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    494 // PPC:INT_LEAST64_MAX_ 9223372036854775807LL
    495 // PPC:UINT_LEAST64_MAX_ 18446744073709551615ULL
    496 // PPC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    497 // PPC:INT_FAST64_MAX_ 9223372036854775807LL
    498 // PPC:UINT_FAST64_MAX_ 18446744073709551615ULL
    499 //
    500 // PPC:INTPTR_MIN_ (-2147483647 -1)
    501 // PPC:INTPTR_MAX_ 2147483647
    502 // PPC:UINTPTR_MAX_ 4294967295U
    503 // PPC:PTRDIFF_MIN_ (-2147483647 -1)
    504 // PPC:PTRDIFF_MAX_ 2147483647
    505 // PPC:SIZE_MAX_ 4294967295U
    506 //
    507 // PPC:INTMAX_MIN_ (-9223372036854775807LL -1)
    508 // PPC:INTMAX_MAX_ 9223372036854775807LL
    509 // PPC:UINTMAX_MAX_ 18446744073709551615ULL
    510 //
    511 // PPC:SIG_ATOMIC_MIN_ (-2147483647 -1)
    512 // PPC:SIG_ATOMIC_MAX_ 2147483647
    513 // PPC:WINT_MIN_ (-2147483647 -1)
    514 // PPC:WINT_MAX_ 2147483647
    515 //
    516 // PPC:WCHAR_MAX_ 2147483647
    517 // PPC:WCHAR_MIN_ (-2147483647 -1)
    518 //
    519 // PPC:INT8_C_(0) 0
    520 // PPC:UINT8_C_(0) 0U
    521 // PPC:INT16_C_(0) 0
    522 // PPC:UINT16_C_(0) 0U
    523 // PPC:INT32_C_(0) 0
    524 // PPC:UINT32_C_(0) 0U
    525 // PPC:INT64_C_(0) 0LL
    526 // PPC:UINT64_C_(0) 0ULL
    527 //
    528 // PPC:INTMAX_C_(0) 0LL
    529 // PPC:UINTMAX_C_(0) 0ULL
    530 //
    531 // RUN: %clang_cc1 -E -ffreestanding -triple=s390x-none-none %s | FileCheck -check-prefix S390X %s
    532 //
    533 // S390X:typedef signed long long int int64_t;
    534 // S390X:typedef unsigned long long int uint64_t;
    535 // S390X:typedef int64_t int_least64_t;
    536 // S390X:typedef uint64_t uint_least64_t;
    537 // S390X:typedef int64_t int_fast64_t;
    538 // S390X:typedef uint64_t uint_fast64_t;
    539 //
    540 // S390X:typedef signed int int32_t;
    541 // S390X:typedef unsigned int uint32_t;
    542 // S390X:typedef int32_t int_least32_t;
    543 // S390X:typedef uint32_t uint_least32_t;
    544 // S390X:typedef int32_t int_fast32_t;
    545 // S390X:typedef uint32_t uint_fast32_t;
    546 //
    547 // S390X:typedef signed short int16_t;
    548 // S390X:typedef unsigned short uint16_t;
    549 // S390X:typedef int16_t int_least16_t;
    550 // S390X:typedef uint16_t uint_least16_t;
    551 // S390X:typedef int16_t int_fast16_t;
    552 // S390X:typedef uint16_t uint_fast16_t;
    553 //
    554 // S390X:typedef signed char int8_t;
    555 // S390X:typedef unsigned char uint8_t;
    556 // S390X:typedef int8_t int_least8_t;
    557 // S390X:typedef uint8_t uint_least8_t;
    558 // S390X:typedef int8_t int_fast8_t;
    559 // S390X:typedef uint8_t uint_fast8_t;
    560 //
    561 // S390X:typedef int64_t intptr_t;
    562 // S390X:typedef uint64_t uintptr_t;
    563 //
    564 // S390X:typedef long long int intmax_t;
    565 // S390X:typedef long long unsigned int uintmax_t;
    566 //
    567 // S390X:INT8_MAX_ 127
    568 // S390X:INT8_MIN_ (-127 -1)
    569 // S390X:UINT8_MAX_ 255
    570 // S390X:INT_LEAST8_MIN_ (-127 -1)
    571 // S390X:INT_LEAST8_MAX_ 127
    572 // S390X:UINT_LEAST8_MAX_ 255
    573 // S390X:INT_FAST8_MIN_ (-127 -1)
    574 // S390X:INT_FAST8_MAX_ 127
    575 // S390X:UINT_FAST8_MAX_ 255
    576 //
    577 // S390X:INT16_MAX_ 32767
    578 // S390X:INT16_MIN_ (-32767 -1)
    579 // S390X:UINT16_MAX_ 65535
    580 // S390X:INT_LEAST16_MIN_ (-32767 -1)
    581 // S390X:INT_LEAST16_MAX_ 32767
    582 // S390X:UINT_LEAST16_MAX_ 65535
    583 // S390X:INT_FAST16_MIN_ (-32767 -1)
    584 // S390X:INT_FAST16_MAX_ 32767
    585 // S390X:UINT_FAST16_MAX_ 65535
    586 //
    587 // S390X:INT32_MAX_ 2147483647
    588 // S390X:INT32_MIN_ (-2147483647 -1)
    589 // S390X:UINT32_MAX_ 4294967295U
    590 // S390X:INT_LEAST32_MIN_ (-2147483647 -1)
    591 // S390X:INT_LEAST32_MAX_ 2147483647
    592 // S390X:UINT_LEAST32_MAX_ 4294967295U
    593 // S390X:INT_FAST32_MIN_ (-2147483647 -1)
    594 // S390X:INT_FAST32_MAX_ 2147483647
    595 // S390X:UINT_FAST32_MAX_ 4294967295U
    596 //
    597 // S390X:INT64_MAX_ 9223372036854775807L
    598 // S390X:INT64_MIN_ (-9223372036854775807LL -1)
    599 // S390X:UINT64_MAX_ 18446744073709551615UL
    600 // S390X:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    601 // S390X:INT_LEAST64_MAX_ 9223372036854775807L
    602 // S390X:UINT_LEAST64_MAX_ 18446744073709551615UL
    603 // S390X:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    604 // S390X:INT_FAST64_MAX_ 9223372036854775807L
    605 // S390X:UINT_FAST64_MAX_ 18446744073709551615UL
    606 //
    607 // S390X:INTPTR_MIN_ (-9223372036854775807LL -1)
    608 // S390X:INTPTR_MAX_ 9223372036854775807L
    609 // S390X:UINTPTR_MAX_ 18446744073709551615UL
    610 // S390X:PTRDIFF_MIN_ (-9223372036854775807LL -1)
    611 // S390X:PTRDIFF_MAX_ 9223372036854775807L
    612 // S390X:SIZE_MAX_ 18446744073709551615UL
    613 //
    614 // S390X:INTMAX_MIN_ (-9223372036854775807LL -1)
    615 // S390X:INTMAX_MAX_ 9223372036854775807L
    616 // S390X:UINTMAX_MAX_ 18446744073709551615UL
    617 //
    618 // S390X:SIG_ATOMIC_MIN_ (-2147483647 -1)
    619 // S390X:SIG_ATOMIC_MAX_ 2147483647
    620 // S390X:WINT_MIN_ (-2147483647 -1)
    621 // S390X:WINT_MAX_ 2147483647
    622 //
    623 // S390X:WCHAR_MAX_ 2147483647
    624 // S390X:WCHAR_MIN_ (-2147483647 -1)
    625 //
    626 // S390X:INT8_C_(0) 0
    627 // S390X:UINT8_C_(0) 0U
    628 // S390X:INT16_C_(0) 0
    629 // S390X:UINT16_C_(0) 0U
    630 // S390X:INT32_C_(0) 0
    631 // S390X:UINT32_C_(0) 0U
    632 // S390X:INT64_C_(0) 0L
    633 // S390X:UINT64_C_(0) 0UL
    634 //
    635 // S390X:INTMAX_C_(0) 0L
    636 // S390X:UINTMAX_C_(0) 0UL
    637 //
    638 // RUN: %clang_cc1 -E -ffreestanding -triple=sparc-none-none %s | FileCheck -check-prefix SPARC %s
    639 //
    640 // SPARC:typedef signed long long int int64_t;
    641 // SPARC:typedef unsigned long long int uint64_t;
    642 // SPARC:typedef int64_t int_least64_t;
    643 // SPARC:typedef uint64_t uint_least64_t;
    644 // SPARC:typedef int64_t int_fast64_t;
    645 // SPARC:typedef uint64_t uint_fast64_t;
    646 //
    647 // SPARC:typedef signed int int32_t;
    648 // SPARC:typedef unsigned int uint32_t;
    649 // SPARC:typedef int32_t int_least32_t;
    650 // SPARC:typedef uint32_t uint_least32_t;
    651 // SPARC:typedef int32_t int_fast32_t;
    652 // SPARC:typedef uint32_t uint_fast32_t;
    653 //
    654 // SPARC:typedef signed short int16_t;
    655 // SPARC:typedef unsigned short uint16_t;
    656 // SPARC:typedef int16_t int_least16_t;
    657 // SPARC:typedef uint16_t uint_least16_t;
    658 // SPARC:typedef int16_t int_fast16_t;
    659 // SPARC:typedef uint16_t uint_fast16_t;
    660 //
    661 // SPARC:typedef signed char int8_t;
    662 // SPARC:typedef unsigned char uint8_t;
    663 // SPARC:typedef int8_t int_least8_t;
    664 // SPARC:typedef uint8_t uint_least8_t;
    665 // SPARC:typedef int8_t int_fast8_t;
    666 // SPARC:typedef uint8_t uint_fast8_t;
    667 //
    668 // SPARC:typedef int32_t intptr_t;
    669 // SPARC:typedef uint32_t uintptr_t;
    670 //
    671 // SPARC:typedef long long int intmax_t;
    672 // SPARC:typedef long long unsigned int uintmax_t;
    673 //
    674 // SPARC:INT8_MAX_ 127
    675 // SPARC:INT8_MIN_ (-127 -1)
    676 // SPARC:UINT8_MAX_ 255
    677 // SPARC:INT_LEAST8_MIN_ (-127 -1)
    678 // SPARC:INT_LEAST8_MAX_ 127
    679 // SPARC:UINT_LEAST8_MAX_ 255
    680 // SPARC:INT_FAST8_MIN_ (-127 -1)
    681 // SPARC:INT_FAST8_MAX_ 127
    682 // SPARC:UINT_FAST8_MAX_ 255
    683 //
    684 // SPARC:INT16_MAX_ 32767
    685 // SPARC:INT16_MIN_ (-32767 -1)
    686 // SPARC:UINT16_MAX_ 65535
    687 // SPARC:INT_LEAST16_MIN_ (-32767 -1)
    688 // SPARC:INT_LEAST16_MAX_ 32767
    689 // SPARC:UINT_LEAST16_MAX_ 65535
    690 // SPARC:INT_FAST16_MIN_ (-32767 -1)
    691 // SPARC:INT_FAST16_MAX_ 32767
    692 // SPARC:UINT_FAST16_MAX_ 65535
    693 //
    694 // SPARC:INT32_MAX_ 2147483647
    695 // SPARC:INT32_MIN_ (-2147483647 -1)
    696 // SPARC:UINT32_MAX_ 4294967295U
    697 // SPARC:INT_LEAST32_MIN_ (-2147483647 -1)
    698 // SPARC:INT_LEAST32_MAX_ 2147483647
    699 // SPARC:UINT_LEAST32_MAX_ 4294967295U
    700 // SPARC:INT_FAST32_MIN_ (-2147483647 -1)
    701 // SPARC:INT_FAST32_MAX_ 2147483647
    702 // SPARC:UINT_FAST32_MAX_ 4294967295U
    703 //
    704 // SPARC:INT64_MAX_ 9223372036854775807LL
    705 // SPARC:INT64_MIN_ (-9223372036854775807LL -1)
    706 // SPARC:UINT64_MAX_ 18446744073709551615ULL
    707 // SPARC:INT_LEAST64_MIN_ (-9223372036854775807LL -1)
    708 // SPARC:INT_LEAST64_MAX_ 9223372036854775807LL
    709 // SPARC:UINT_LEAST64_MAX_ 18446744073709551615ULL
    710 // SPARC:INT_FAST64_MIN_ (-9223372036854775807LL -1)
    711 // SPARC:INT_FAST64_MAX_ 9223372036854775807LL
    712 // SPARC:UINT_FAST64_MAX_ 18446744073709551615ULL
    713 //
    714 // SPARC:INTPTR_MIN_ (-2147483647 -1)
    715 // SPARC:INTPTR_MAX_ 2147483647
    716 // SPARC:UINTPTR_MAX_ 4294967295U
    717 // SPARC:PTRDIFF_MIN_ (-2147483647 -1)
    718 // SPARC:PTRDIFF_MAX_ 2147483647
    719 // SPARC:SIZE_MAX_ 4294967295U
    720 //
    721 // SPARC:INTMAX_MIN_ (-9223372036854775807LL -1)
    722 // SPARC:INTMAX_MAX_ 9223372036854775807LL
    723 // SPARC:UINTMAX_MAX_ 18446744073709551615ULL
    724 //
    725 // SPARC:SIG_ATOMIC_MIN_ (-2147483647 -1)
    726 // SPARC:SIG_ATOMIC_MAX_ 2147483647
    727 // SPARC:WINT_MIN_ (-2147483647 -1)
    728 // SPARC:WINT_MAX_ 2147483647
    729 //
    730 // SPARC:WCHAR_MAX_ 2147483647
    731 // SPARC:WCHAR_MIN_ (-2147483647 -1)
    732 //
    733 // SPARC:INT8_C_(0) 0
    734 // SPARC:UINT8_C_(0) 0U
    735 // SPARC:INT16_C_(0) 0
    736 // SPARC:UINT16_C_(0) 0U
    737 // SPARC:INT32_C_(0) 0
    738 // SPARC:UINT32_C_(0) 0U
    739 // SPARC:INT64_C_(0) 0LL
    740 // SPARC:UINT64_C_(0) 0ULL
    741 //
    742 // SPARC:INTMAX_C_(0) 0LL
    743 // SPARC:UINTMAX_C_(0) 0ULL
    744 //
    745 // RUN: %clang_cc1 -E -ffreestanding -triple=tce-none-none %s | FileCheck -check-prefix TCE %s
    746 //
    747 // TCE:typedef signed int int32_t;
    748 // TCE:typedef unsigned int uint32_t;
    749 // TCE:typedef int32_t int_least32_t;
    750 // TCE:typedef uint32_t uint_least32_t;
    751 // TCE:typedef int32_t int_fast32_t;
    752 // TCE:typedef uint32_t uint_fast32_t;
    753 //
    754 // TCE:typedef signed short int16_t;
    755 // TCE:typedef unsigned short uint16_t;
    756 // TCE:typedef int16_t int_least16_t;
    757 // TCE:typedef uint16_t uint_least16_t;
    758 // TCE:typedef int16_t int_fast16_t;
    759 // TCE:typedef uint16_t uint_fast16_t;
    760 //
    761 // TCE:typedef signed char int8_t;
    762 // TCE:typedef unsigned char uint8_t;
    763 // TCE:typedef int8_t int_least8_t;
    764 // TCE:typedef uint8_t uint_least8_t;
    765 // TCE:typedef int8_t int_fast8_t;
    766 // TCE:typedef uint8_t uint_fast8_t;
    767 //
    768 // TCE:typedef int32_t intptr_t;
    769 // TCE:typedef uint32_t uintptr_t;
    770 //
    771 // TCE:typedef long int intmax_t;
    772 // TCE:typedef long unsigned int uintmax_t;
    773 //
    774 // TCE:INT8_MAX_ 127
    775 // TCE:INT8_MIN_ (-127 -1)
    776 // TCE:UINT8_MAX_ 255
    777 // TCE:INT_LEAST8_MIN_ (-127 -1)
    778 // TCE:INT_LEAST8_MAX_ 127
    779 // TCE:UINT_LEAST8_MAX_ 255
    780 // TCE:INT_FAST8_MIN_ (-127 -1)
    781 // TCE:INT_FAST8_MAX_ 127
    782 // TCE:UINT_FAST8_MAX_ 255
    783 //
    784 // TCE:INT16_MAX_ 32767
    785 // TCE:INT16_MIN_ (-32767 -1)
    786 // TCE:UINT16_MAX_ 65535
    787 // TCE:INT_LEAST16_MIN_ (-32767 -1)
    788 // TCE:INT_LEAST16_MAX_ 32767
    789 // TCE:UINT_LEAST16_MAX_ 65535
    790 // TCE:INT_FAST16_MIN_ (-32767 -1)
    791 // TCE:INT_FAST16_MAX_ 32767
    792 // TCE:UINT_FAST16_MAX_ 65535
    793 //
    794 // TCE:INT32_MAX_ 2147483647
    795 // TCE:INT32_MIN_ (-2147483647 -1)
    796 // TCE:UINT32_MAX_ 4294967295U
    797 // TCE:INT_LEAST32_MIN_ (-2147483647 -1)
    798 // TCE:INT_LEAST32_MAX_ 2147483647
    799 // TCE:UINT_LEAST32_MAX_ 4294967295U
    800 // TCE:INT_FAST32_MIN_ (-2147483647 -1)
    801 // TCE:INT_FAST32_MAX_ 2147483647
    802 // TCE:UINT_FAST32_MAX_ 4294967295U
    803 //
    804 // TCE:INT64_MAX_ INT64_MAX
    805 // TCE:INT64_MIN_ INT64_MIN
    806 // TCE:UINT64_MAX_ UINT64_MAX
    807 // TCE:INT_LEAST64_MIN_ INT_LEAST64_MIN
    808 // TCE:INT_LEAST64_MAX_ INT_LEAST64_MAX
    809 // TCE:UINT_LEAST64_MAX_ UINT_LEAST64_MAX
    810 // TCE:INT_FAST64_MIN_ INT_FAST64_MIN
    811 // TCE:INT_FAST64_MAX_ INT_FAST64_MAX
    812 // TCE:UINT_FAST64_MAX_ UINT_FAST64_MAX
    813 //
    814 // TCE:INTPTR_MIN_ (-2147483647 -1)
    815 // TCE:INTPTR_MAX_ 2147483647
    816 // TCE:UINTPTR_MAX_ 4294967295U
    817 // TCE:PTRDIFF_MIN_ (-2147483647 -1)
    818 // TCE:PTRDIFF_MAX_ 2147483647
    819 // TCE:SIZE_MAX_ 4294967295U
    820 //
    821 // TCE:INTMAX_MIN_ (-2147483647 -1)
    822 // TCE:INTMAX_MAX_ 2147483647
    823 // TCE:UINTMAX_MAX_ 4294967295U
    824 //
    825 // TCE:SIG_ATOMIC_MIN_ (-2147483647 -1)
    826 // TCE:SIG_ATOMIC_MAX_ 2147483647
    827 // TCE:WINT_MIN_ (-2147483647 -1)
    828 // TCE:WINT_MAX_ 2147483647
    829 //
    830 // TCE:WCHAR_MAX_ 2147483647
    831 // TCE:WCHAR_MIN_ (-2147483647 -1)
    832 //
    833 // TCE:INT8_C_(0) 0
    834 // TCE:UINT8_C_(0) 0U
    835 // TCE:INT16_C_(0) 0
    836 // TCE:UINT16_C_(0) 0U
    837 // TCE:INT32_C_(0) 0
    838 // TCE:UINT32_C_(0) 0U
    839 // TCE:INT64_C_(0) INT64_C(0)
    840 // TCE:UINT64_C_(0) UINT64_C(0)
    841 //
    842 // TCE:INTMAX_C_(0) 0
    843 // TCE:UINTMAX_C_(0) 0U
    844 //
    845 // RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-none-none %s | FileCheck -check-prefix X86_64 %s
    846 //
    847 //
    848 // X86_64:typedef signed long int int64_t;
    849 // X86_64:typedef unsigned long int uint64_t;
    850 // X86_64:typedef int64_t int_least64_t;
    851 // X86_64:typedef uint64_t uint_least64_t;
    852 // X86_64:typedef int64_t int_fast64_t;
    853 // X86_64:typedef uint64_t uint_fast64_t;
    854 //
    855 // X86_64:typedef signed int int32_t;
    856 // X86_64:typedef unsigned int uint32_t;
    857 // X86_64:typedef int32_t int_least32_t;
    858 // X86_64:typedef uint32_t uint_least32_t;
    859 // X86_64:typedef int32_t int_fast32_t;
    860 // X86_64:typedef uint32_t uint_fast32_t;
    861 //
    862 // X86_64:typedef signed short int16_t;
    863 // X86_64:typedef unsigned short uint16_t;
    864 // X86_64:typedef int16_t int_least16_t;
    865 // X86_64:typedef uint16_t uint_least16_t;
    866 // X86_64:typedef int16_t int_fast16_t;
    867 // X86_64:typedef uint16_t uint_fast16_t;
    868 //
    869 // X86_64:typedef signed char int8_t;
    870 // X86_64:typedef unsigned char uint8_t;
    871 // X86_64:typedef int8_t int_least8_t;
    872 // X86_64:typedef uint8_t uint_least8_t;
    873 // X86_64:typedef int8_t int_fast8_t;
    874 // X86_64:typedef uint8_t uint_fast8_t;
    875 //
    876 // X86_64:typedef int64_t intptr_t;
    877 // X86_64:typedef uint64_t uintptr_t;
    878 //
    879 // X86_64:typedef long int intmax_t;
    880 // X86_64:typedef long unsigned int uintmax_t;
    881 //
    882 // X86_64:INT8_MAX_ 127
    883 // X86_64:INT8_MIN_ (-127 -1)
    884 // X86_64:UINT8_MAX_ 255
    885 // X86_64:INT_LEAST8_MIN_ (-127 -1)
    886 // X86_64:INT_LEAST8_MAX_ 127
    887 // X86_64:UINT_LEAST8_MAX_ 255
    888 // X86_64:INT_FAST8_MIN_ (-127 -1)
    889 // X86_64:INT_FAST8_MAX_ 127
    890 // X86_64:UINT_FAST8_MAX_ 255
    891 //
    892 // X86_64:INT16_MAX_ 32767
    893 // X86_64:INT16_MIN_ (-32767 -1)
    894 // X86_64:UINT16_MAX_ 65535
    895 // X86_64:INT_LEAST16_MIN_ (-32767 -1)
    896 // X86_64:INT_LEAST16_MAX_ 32767
    897 // X86_64:UINT_LEAST16_MAX_ 65535
    898 // X86_64:INT_FAST16_MIN_ (-32767 -1)
    899 // X86_64:INT_FAST16_MAX_ 32767
    900 // X86_64:UINT_FAST16_MAX_ 65535
    901 //
    902 // X86_64:INT32_MAX_ 2147483647
    903 // X86_64:INT32_MIN_ (-2147483647 -1)
    904 // X86_64:UINT32_MAX_ 4294967295U
    905 // X86_64:INT_LEAST32_MIN_ (-2147483647 -1)
    906 // X86_64:INT_LEAST32_MAX_ 2147483647
    907 // X86_64:UINT_LEAST32_MAX_ 4294967295U
    908 // X86_64:INT_FAST32_MIN_ (-2147483647 -1)
    909 // X86_64:INT_FAST32_MAX_ 2147483647
    910 // X86_64:UINT_FAST32_MAX_ 4294967295U
    911 //
    912 // X86_64:INT64_MAX_ 9223372036854775807L
    913 // X86_64:INT64_MIN_ (-9223372036854775807L -1)
    914 // X86_64:UINT64_MAX_ 18446744073709551615UL
    915 // X86_64:INT_LEAST64_MIN_ (-9223372036854775807L -1)
    916 // X86_64:INT_LEAST64_MAX_ 9223372036854775807L
    917 // X86_64:UINT_LEAST64_MAX_ 18446744073709551615UL
    918 // X86_64:INT_FAST64_MIN_ (-9223372036854775807L -1)
    919 // X86_64:INT_FAST64_MAX_ 9223372036854775807L
    920 // X86_64:UINT_FAST64_MAX_ 18446744073709551615UL
    921 //
    922 // X86_64:INTPTR_MIN_ (-9223372036854775807L -1)
    923 // X86_64:INTPTR_MAX_ 9223372036854775807L
    924 // X86_64:UINTPTR_MAX_ 18446744073709551615UL
    925 // X86_64:PTRDIFF_MIN_ (-9223372036854775807L -1)
    926 // X86_64:PTRDIFF_MAX_ 9223372036854775807L
    927 // X86_64:SIZE_MAX_ 18446744073709551615UL
    928 //
    929 // X86_64:INTMAX_MIN_ (-9223372036854775807L -1)
    930 // X86_64:INTMAX_MAX_ 9223372036854775807L
    931 // X86_64:UINTMAX_MAX_ 18446744073709551615UL
    932 //
    933 // X86_64:SIG_ATOMIC_MIN_ (-2147483647 -1)
    934 // X86_64:SIG_ATOMIC_MAX_ 2147483647
    935 // X86_64:WINT_MIN_ (-2147483647 -1)
    936 // X86_64:WINT_MAX_ 2147483647
    937 //
    938 // X86_64:WCHAR_MAX_ 2147483647
    939 // X86_64:WCHAR_MIN_ (-2147483647 -1)
    940 //
    941 // X86_64:INT8_C_(0) 0
    942 // X86_64:UINT8_C_(0) 0U
    943 // X86_64:INT16_C_(0) 0
    944 // X86_64:UINT16_C_(0) 0U
    945 // X86_64:INT32_C_(0) 0
    946 // X86_64:UINT32_C_(0) 0U
    947 // X86_64:INT64_C_(0) 0L
    948 // X86_64:UINT64_C_(0) 0UL
    949 //
    950 // X86_64:INTMAX_C_(0) 0L
    951 // X86_64:UINTMAX_C_(0) 0UL
    952 //
    953 //
    954 // RUN: %clang_cc1 -E -ffreestanding -triple=x86_64-pc-linux-gnu %s | FileCheck -check-prefix X86_64_LINUX %s
    955 //
    956 // X86_64_LINUX:WINT_MIN_ 0U
    957 // X86_64_LINUX:WINT_MAX_ 4294967295U
    958 //
    959 //
    960 // RUN: %clang_cc1 -E -ffreestanding -triple=i386-mingw32 %s | FileCheck -check-prefix I386_MINGW32 %s
    961 //
    962 // I386_MINGW32:WCHAR_MAX_ 65535U
    963 // I386_MINGW32:WCHAR_MIN_ 0U
    964 //
    965 //
    966 // stdint.h forms several macro definitions by pasting together identifiers
    967 // to form names (eg. int32_t is formed from int ## 32 ## _t). The following
    968 // case tests that these joining operations are performed correctly even if
    969 // the identifiers used in the operations (int, uint, _t, INT, UINT, _MIN,
    970 // _MAX, and _C(v)) are themselves macros.
    971 //
    972 // 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
    973 // JOIN:typedef int32_t intptr_t;
    974 // JOIN:typedef uint32_t uintptr_t;
    975 // JOIN:typedef __INTMAX_TYPE__ intmax_t;
    976 // JOIN:typedef __UINTMAX_TYPE__ uintmax_t;
    977 // JOIN:INTPTR_MIN_ (-2147483647 -1)
    978 // JOIN:INTPTR_MAX_ 2147483647
    979 // JOIN:UINTPTR_MAX_ 4294967295U
    980 // JOIN:PTRDIFF_MIN_ (-2147483647 -1)
    981 // JOIN:PTRDIFF_MAX_ 2147483647
    982 // JOIN:SIZE_MAX_ 4294967295U
    983 // JOIN:INTMAX_MIN_ (-9223372036854775807LL -1)
    984 // JOIN:INTMAX_MAX_ 9223372036854775807LL
    985 // JOIN:UINTMAX_MAX_ 18446744073709551615ULL
    986 // JOIN:SIG_ATOMIC_MIN_ (-2147483647 -1)
    987 // JOIN:SIG_ATOMIC_MAX_ 2147483647
    988 // JOIN:WINT_MIN_ (-2147483647 -1)
    989 // JOIN:WINT_MAX_ 2147483647
    990 // JOIN:WCHAR_MAX_ 2147483647
    991 // JOIN:WCHAR_MIN_ (-2147483647 -1)
    992 // JOIN:INTMAX_C_(0) 0LL
    993 // JOIN:UINTMAX_C_(0) 0ULL
    994 
    995 #include <stdint.h>
    996 
    997 INT8_MAX_ INT8_MAX
    998 INT8_MIN_ INT8_MIN
    999 UINT8_MAX_ UINT8_MAX
   1000 INT_LEAST8_MIN_ INT_LEAST8_MIN
   1001 INT_LEAST8_MAX_ INT_LEAST8_MAX
   1002 UINT_LEAST8_MAX_ UINT_LEAST8_MAX
   1003 INT_FAST8_MIN_ INT_FAST8_MIN
   1004 INT_FAST8_MAX_ INT_FAST8_MAX
   1005 UINT_FAST8_MAX_ UINT_FAST8_MAX
   1006 
   1007 INT16_MAX_ INT16_MAX
   1008 INT16_MIN_ INT16_MIN
   1009 UINT16_MAX_ UINT16_MAX
   1010 INT_LEAST16_MIN_ INT_LEAST16_MIN
   1011 INT_LEAST16_MAX_ INT_LEAST16_MAX
   1012 UINT_LEAST16_MAX_ UINT_LEAST16_MAX
   1013 INT_FAST16_MIN_ INT_FAST16_MIN
   1014 INT_FAST16_MAX_ INT_FAST16_MAX
   1015 UINT_FAST16_MAX_ UINT_FAST16_MAX
   1016 
   1017 INT32_MAX_ INT32_MAX
   1018 INT32_MIN_ INT32_MIN
   1019 UINT32_MAX_ UINT32_MAX
   1020 INT_LEAST32_MIN_ INT_LEAST32_MIN
   1021 INT_LEAST32_MAX_ INT_LEAST32_MAX
   1022 UINT_LEAST32_MAX_ UINT_LEAST32_MAX
   1023 INT_FAST32_MIN_ INT_FAST32_MIN
   1024 INT_FAST32_MAX_ INT_FAST32_MAX
   1025 UINT_FAST32_MAX_ UINT_FAST32_MAX
   1026 
   1027 INT64_MAX_ INT64_MAX
   1028 INT64_MIN_ INT64_MIN
   1029 UINT64_MAX_ UINT64_MAX
   1030 INT_LEAST64_MIN_ INT_LEAST64_MIN
   1031 INT_LEAST64_MAX_ INT_LEAST64_MAX
   1032 UINT_LEAST64_MAX_ UINT_LEAST64_MAX
   1033 INT_FAST64_MIN_ INT_FAST64_MIN
   1034 INT_FAST64_MAX_ INT_FAST64_MAX
   1035 UINT_FAST64_MAX_ UINT_FAST64_MAX
   1036 
   1037 INTPTR_MIN_ INTPTR_MIN
   1038 INTPTR_MAX_ INTPTR_MAX
   1039 UINTPTR_MAX_ UINTPTR_MAX
   1040 PTRDIFF_MIN_ PTRDIFF_MIN
   1041 PTRDIFF_MAX_ PTRDIFF_MAX
   1042 SIZE_MAX_ SIZE_MAX
   1043 
   1044 INTMAX_MIN_ INTMAX_MIN
   1045 INTMAX_MAX_ INTMAX_MAX
   1046 UINTMAX_MAX_ UINTMAX_MAX
   1047 
   1048 SIG_ATOMIC_MIN_ SIG_ATOMIC_MIN
   1049 SIG_ATOMIC_MAX_ SIG_ATOMIC_MAX
   1050 WINT_MIN_ WINT_MIN
   1051 WINT_MAX_ WINT_MAX
   1052 
   1053 WCHAR_MAX_ WCHAR_MAX
   1054 WCHAR_MIN_ WCHAR_MIN
   1055 
   1056 INT8_C_(0) INT8_C(0)
   1057 UINT8_C_(0) UINT8_C(0)
   1058 INT16_C_(0) INT16_C(0)
   1059 UINT16_C_(0) UINT16_C(0)
   1060 INT32_C_(0) INT32_C(0)
   1061 UINT32_C_(0) UINT32_C(0)
   1062 INT64_C_(0) INT64_C(0)
   1063 UINT64_C_(0) UINT64_C(0)
   1064 
   1065 INTMAX_C_(0) INTMAX_C(0)
   1066 UINTMAX_C_(0) UINTMAX_C(0)
   1067