stdint.c 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495
  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. #include <stdint.h>
  1424. INT8_MAX_ INT8_MAX
  1425. INT8_MIN_ INT8_MIN
  1426. UINT8_MAX_ UINT8_MAX
  1427. INT_LEAST8_MIN_ INT_LEAST8_MIN
  1428. INT_LEAST8_MAX_ INT_LEAST8_MAX
  1429. UINT_LEAST8_MAX_ UINT_LEAST8_MAX
  1430. INT_FAST8_MIN_ INT_FAST8_MIN
  1431. INT_FAST8_MAX_ INT_FAST8_MAX
  1432. UINT_FAST8_MAX_ UINT_FAST8_MAX
  1433. INT16_MAX_ INT16_MAX
  1434. INT16_MIN_ INT16_MIN
  1435. UINT16_MAX_ UINT16_MAX
  1436. INT_LEAST16_MIN_ INT_LEAST16_MIN
  1437. INT_LEAST16_MAX_ INT_LEAST16_MAX
  1438. UINT_LEAST16_MAX_ UINT_LEAST16_MAX
  1439. INT_FAST16_MIN_ INT_FAST16_MIN
  1440. INT_FAST16_MAX_ INT_FAST16_MAX
  1441. UINT_FAST16_MAX_ UINT_FAST16_MAX
  1442. INT32_MAX_ INT32_MAX
  1443. INT32_MIN_ INT32_MIN
  1444. UINT32_MAX_ UINT32_MAX
  1445. INT_LEAST32_MIN_ INT_LEAST32_MIN
  1446. INT_LEAST32_MAX_ INT_LEAST32_MAX
  1447. UINT_LEAST32_MAX_ UINT_LEAST32_MAX
  1448. INT_FAST32_MIN_ INT_FAST32_MIN
  1449. INT_FAST32_MAX_ INT_FAST32_MAX
  1450. UINT_FAST32_MAX_ UINT_FAST32_MAX
  1451. INT64_MAX_ INT64_MAX
  1452. INT64_MIN_ INT64_MIN
  1453. UINT64_MAX_ UINT64_MAX
  1454. INT_LEAST64_MIN_ INT_LEAST64_MIN
  1455. INT_LEAST64_MAX_ INT_LEAST64_MAX
  1456. UINT_LEAST64_MAX_ UINT_LEAST64_MAX
  1457. INT_FAST64_MIN_ INT_FAST64_MIN
  1458. INT_FAST64_MAX_ INT_FAST64_MAX
  1459. UINT_FAST64_MAX_ UINT_FAST64_MAX
  1460. INTPTR_MIN_ INTPTR_MIN
  1461. INTPTR_MAX_ INTPTR_MAX
  1462. UINTPTR_MAX_ UINTPTR_MAX
  1463. PTRDIFF_MIN_ PTRDIFF_MIN
  1464. PTRDIFF_MAX_ PTRDIFF_MAX
  1465. SIZE_MAX_ SIZE_MAX
  1466. INTMAX_MIN_ INTMAX_MIN
  1467. INTMAX_MAX_ INTMAX_MAX
  1468. UINTMAX_MAX_ UINTMAX_MAX
  1469. SIG_ATOMIC_MIN_ SIG_ATOMIC_MIN
  1470. SIG_ATOMIC_MAX_ SIG_ATOMIC_MAX
  1471. WINT_MIN_ WINT_MIN
  1472. WINT_MAX_ WINT_MAX
  1473. WCHAR_MAX_ WCHAR_MAX
  1474. WCHAR_MIN_ WCHAR_MIN
  1475. INT8_C_(0) INT8_C(0)
  1476. UINT8_C_(0) UINT8_C(0)
  1477. INT16_C_(0) INT16_C(0)
  1478. UINT16_C_(0) UINT16_C(0)
  1479. INT32_C_(0) INT32_C(0)
  1480. UINT32_C_(0) UINT32_C(0)
  1481. INT64_C_(0) INT64_C(0)
  1482. UINT64_C_(0) UINT64_C(0)
  1483. INTMAX_C_(0) INTMAX_C(0)
  1484. UINTMAX_C_(0) UINTMAX_C(0)