1 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64 %s
2 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64 -check-prefix PPC64-CXX %s
3 //
4 // PPC64:#define _ARCH_PPC 1
5 // PPC64:#define _ARCH_PPC64 1
6 // PPC64:#define _ARCH_PPCGR 1
7 // PPC64:#define _ARCH_PPCSQ 1
8 // PPC64:#define _ARCH_PWR4 1
9 // PPC64:#define _ARCH_PWR5 1
10 // PPC64:#define _ARCH_PWR6 1
11 // PPC64:#define _ARCH_PWR7 1
12 // PPC64:#define _BIG_ENDIAN 1
13 // PPC64:#define _LP64 1
14 // PPC64:#define __BIGGEST_ALIGNMENT__ 16
15 // PPC64:#define __BIG_ENDIAN__ 1
16 // PPC64:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
17 // PPC64:#define __CHAR16_TYPE__ unsigned short
18 // PPC64:#define __CHAR32_TYPE__ unsigned int
19 // PPC64:#define __CHAR_BIT__ 8
20 // PPC64:#define __CHAR_UNSIGNED__ 1
21 // PPC64:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
22 // PPC64:#define __DBL_DIG__ 15
23 // PPC64:#define __DBL_EPSILON__ 2.2204460492503131e-16
24 // PPC64:#define __DBL_HAS_DENORM__ 1
25 // PPC64:#define __DBL_HAS_INFINITY__ 1
26 // PPC64:#define __DBL_HAS_QUIET_NAN__ 1
27 // PPC64:#define __DBL_MANT_DIG__ 53
28 // PPC64:#define __DBL_MAX_10_EXP__ 308
29 // PPC64:#define __DBL_MAX_EXP__ 1024
30 // PPC64:#define __DBL_MAX__ 1.7976931348623157e+308
31 // PPC64:#define __DBL_MIN_10_EXP__ (-307)
32 // PPC64:#define __DBL_MIN_EXP__ (-1021)
33 // PPC64:#define __DBL_MIN__ 2.2250738585072014e-308
34 // PPC64:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
35 // PPC64:#define __FLT_DENORM_MIN__ 1.40129846e-45F
36 // PPC64:#define __FLT_DIG__ 6
37 // PPC64:#define __FLT_EPSILON__ 1.19209290e-7F
38 // PPC64:#define __FLT_HAS_DENORM__ 1
39 // PPC64:#define __FLT_HAS_INFINITY__ 1
40 // PPC64:#define __FLT_HAS_QUIET_NAN__ 1
41 // PPC64:#define __FLT_MANT_DIG__ 24
42 // PPC64:#define __FLT_MAX_10_EXP__ 38
43 // PPC64:#define __FLT_MAX_EXP__ 128
44 // PPC64:#define __FLT_MAX__ 3.40282347e+38F
45 // PPC64:#define __FLT_MIN_10_EXP__ (-37)
46 // PPC64:#define __FLT_MIN_EXP__ (-125)
47 // PPC64:#define __FLT_MIN__ 1.17549435e-38F
48 // PPC64:#define __FLT_RADIX__ 2
49 // PPC64:#define __HAVE_BSWAP__ 1
50 // PPC64:#define __INT16_C_SUFFIX__
51 // PPC64:#define __INT16_FMTd__ "hd"
52 // PPC64:#define __INT16_FMTi__ "hi"
53 // PPC64:#define __INT16_MAX__ 32767
54 // PPC64:#define __INT16_TYPE__ short
55 // PPC64:#define __INT32_C_SUFFIX__
56 // PPC64:#define __INT32_FMTd__ "d"
57 // PPC64:#define __INT32_FMTi__ "i"
58 // PPC64:#define __INT32_MAX__ 2147483647
59 // PPC64:#define __INT32_TYPE__ int
60 // PPC64:#define __INT64_C_SUFFIX__ L
61 // PPC64:#define __INT64_FMTd__ "ld"
62 // PPC64:#define __INT64_FMTi__ "li"
63 // PPC64:#define __INT64_MAX__ 9223372036854775807L
64 // PPC64:#define __INT64_TYPE__ long int
65 // PPC64:#define __INT8_C_SUFFIX__
66 // PPC64:#define __INT8_FMTd__ "hhd"
67 // PPC64:#define __INT8_FMTi__ "hhi"
68 // PPC64:#define __INT8_MAX__ 127
69 // PPC64:#define __INT8_TYPE__ signed char
70 // PPC64:#define __INTMAX_C_SUFFIX__ L
71 // PPC64:#define __INTMAX_FMTd__ "ld"
72 // PPC64:#define __INTMAX_FMTi__ "li"
73 // PPC64:#define __INTMAX_MAX__ 9223372036854775807L
74 // PPC64:#define __INTMAX_TYPE__ long int
75 // PPC64:#define __INTMAX_WIDTH__ 64
76 // PPC64:#define __INTPTR_FMTd__ "ld"
77 // PPC64:#define __INTPTR_FMTi__ "li"
78 // PPC64:#define __INTPTR_MAX__ 9223372036854775807L
79 // PPC64:#define __INTPTR_TYPE__ long int
80 // PPC64:#define __INTPTR_WIDTH__ 64
81 // PPC64:#define __INT_FAST16_FMTd__ "hd"
82 // PPC64:#define __INT_FAST16_FMTi__ "hi"
83 // PPC64:#define __INT_FAST16_MAX__ 32767
84 // PPC64:#define __INT_FAST16_TYPE__ short
85 // PPC64:#define __INT_FAST32_FMTd__ "d"
86 // PPC64:#define __INT_FAST32_FMTi__ "i"
87 // PPC64:#define __INT_FAST32_MAX__ 2147483647
88 // PPC64:#define __INT_FAST32_TYPE__ int
89 // PPC64:#define __INT_FAST64_FMTd__ "ld"
90 // PPC64:#define __INT_FAST64_FMTi__ "li"
91 // PPC64:#define __INT_FAST64_MAX__ 9223372036854775807L
92 // PPC64:#define __INT_FAST64_TYPE__ long int
93 // PPC64:#define __INT_FAST8_FMTd__ "hhd"
94 // PPC64:#define __INT_FAST8_FMTi__ "hhi"
95 // PPC64:#define __INT_FAST8_MAX__ 127
96 // PPC64:#define __INT_FAST8_TYPE__ signed char
97 // PPC64:#define __INT_LEAST16_FMTd__ "hd"
98 // PPC64:#define __INT_LEAST16_FMTi__ "hi"
99 // PPC64:#define __INT_LEAST16_MAX__ 32767
100 // PPC64:#define __INT_LEAST16_TYPE__ short
101 // PPC64:#define __INT_LEAST32_FMTd__ "d"
102 // PPC64:#define __INT_LEAST32_FMTi__ "i"
103 // PPC64:#define __INT_LEAST32_MAX__ 2147483647
104 // PPC64:#define __INT_LEAST32_TYPE__ int
105 // PPC64:#define __INT_LEAST64_FMTd__ "ld"
106 // PPC64:#define __INT_LEAST64_FMTi__ "li"
107 // PPC64:#define __INT_LEAST64_MAX__ 9223372036854775807L
108 // PPC64:#define __INT_LEAST64_TYPE__ long int
109 // PPC64:#define __INT_LEAST8_FMTd__ "hhd"
110 // PPC64:#define __INT_LEAST8_FMTi__ "hhi"
111 // PPC64:#define __INT_LEAST8_MAX__ 127
112 // PPC64:#define __INT_LEAST8_TYPE__ signed char
113 // PPC64:#define __INT_MAX__ 2147483647
114 // PPC64:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
115 // PPC64:#define __LDBL_DIG__ 31
116 // PPC64:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
117 // PPC64:#define __LDBL_HAS_DENORM__ 1
118 // PPC64:#define __LDBL_HAS_INFINITY__ 1
119 // PPC64:#define __LDBL_HAS_QUIET_NAN__ 1
120 // PPC64:#define __LDBL_MANT_DIG__ 106
121 // PPC64:#define __LDBL_MAX_10_EXP__ 308
122 // PPC64:#define __LDBL_MAX_EXP__ 1024
123 // PPC64:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
124 // PPC64:#define __LDBL_MIN_10_EXP__ (-291)
125 // PPC64:#define __LDBL_MIN_EXP__ (-968)
126 // PPC64:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
127 // PPC64:#define __LONGDOUBLE128 1
128 // PPC64:#define __LONG_DOUBLE_128__ 1
129 // PPC64:#define __LONG_LONG_MAX__ 9223372036854775807LL
130 // PPC64:#define __LONG_MAX__ 9223372036854775807L
131 // PPC64:#define __LP64__ 1
132 // PPC64:#define __NATURAL_ALIGNMENT__ 1
133 // PPC64:#define __POINTER_WIDTH__ 64
134 // PPC64:#define __POWERPC__ 1
135 // PPC64:#define __PPC64__ 1
136 // PPC64:#define __PPC__ 1
137 // PPC64:#define __PTRDIFF_TYPE__ long int
138 // PPC64:#define __PTRDIFF_WIDTH__ 64
139 // PPC64:#define __REGISTER_PREFIX__
140 // PPC64:#define __SCHAR_MAX__ 127
141 // PPC64:#define __SHRT_MAX__ 32767
142 // PPC64:#define __SIG_ATOMIC_MAX__ 2147483647
143 // PPC64:#define __SIG_ATOMIC_WIDTH__ 32
144 // PPC64:#define __SIZEOF_DOUBLE__ 8
145 // PPC64:#define __SIZEOF_FLOAT__ 4
146 // PPC64:#define __SIZEOF_INT__ 4
147 // PPC64:#define __SIZEOF_LONG_DOUBLE__ 16
148 // PPC64:#define __SIZEOF_LONG_LONG__ 8
149 // PPC64:#define __SIZEOF_LONG__ 8
150 // PPC64:#define __SIZEOF_POINTER__ 8
151 // PPC64:#define __SIZEOF_PTRDIFF_T__ 8
152 // PPC64:#define __SIZEOF_SHORT__ 2
153 // PPC64:#define __SIZEOF_SIZE_T__ 8
154 // PPC64:#define __SIZEOF_WCHAR_T__ 4
155 // PPC64:#define __SIZEOF_WINT_T__ 4
156 // PPC64:#define __SIZE_MAX__ 18446744073709551615UL
157 // PPC64:#define __SIZE_TYPE__ long unsigned int
158 // PPC64:#define __SIZE_WIDTH__ 64
159 // PPC64-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
160 // PPC64:#define __UINT16_C_SUFFIX__
161 // PPC64:#define __UINT16_MAX__ 65535
162 // PPC64:#define __UINT16_TYPE__ unsigned short
163 // PPC64:#define __UINT32_C_SUFFIX__ U
164 // PPC64:#define __UINT32_MAX__ 4294967295U
165 // PPC64:#define __UINT32_TYPE__ unsigned int
166 // PPC64:#define __UINT64_C_SUFFIX__ UL
167 // PPC64:#define __UINT64_MAX__ 18446744073709551615UL
168 // PPC64:#define __UINT64_TYPE__ long unsigned int
169 // PPC64:#define __UINT8_C_SUFFIX__
170 // PPC64:#define __UINT8_MAX__ 255
171 // PPC64:#define __UINT8_TYPE__ unsigned char
172 // PPC64:#define __UINTMAX_C_SUFFIX__ UL
173 // PPC64:#define __UINTMAX_MAX__ 18446744073709551615UL
174 // PPC64:#define __UINTMAX_TYPE__ long unsigned int
175 // PPC64:#define __UINTMAX_WIDTH__ 64
176 // PPC64:#define __UINTPTR_MAX__ 18446744073709551615UL
177 // PPC64:#define __UINTPTR_TYPE__ long unsigned int
178 // PPC64:#define __UINTPTR_WIDTH__ 64
179 // PPC64:#define __UINT_FAST16_MAX__ 65535
180 // PPC64:#define __UINT_FAST16_TYPE__ unsigned short
181 // PPC64:#define __UINT_FAST32_MAX__ 4294967295U
182 // PPC64:#define __UINT_FAST32_TYPE__ unsigned int
183 // PPC64:#define __UINT_FAST64_MAX__ 18446744073709551615UL
184 // PPC64:#define __UINT_FAST64_TYPE__ long unsigned int
185 // PPC64:#define __UINT_FAST8_MAX__ 255
186 // PPC64:#define __UINT_FAST8_TYPE__ unsigned char
187 // PPC64:#define __UINT_LEAST16_MAX__ 65535
188 // PPC64:#define __UINT_LEAST16_TYPE__ unsigned short
189 // PPC64:#define __UINT_LEAST32_MAX__ 4294967295U
190 // PPC64:#define __UINT_LEAST32_TYPE__ unsigned int
191 // PPC64:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
192 // PPC64:#define __UINT_LEAST64_TYPE__ long unsigned int
193 // PPC64:#define __UINT_LEAST8_MAX__ 255
194 // PPC64:#define __UINT_LEAST8_TYPE__ unsigned char
195 // PPC64:#define __USER_LABEL_PREFIX__
196 // PPC64:#define __WCHAR_MAX__ 2147483647
197 // PPC64:#define __WCHAR_TYPE__ int
198 // PPC64:#define __WCHAR_WIDTH__ 32
199 // PPC64:#define __WINT_TYPE__ int
200 // PPC64:#define __WINT_WIDTH__ 32
201 // PPC64:#define __ppc64__ 1
202 // PPC64:#define __ppc__ 1
203 //
204 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64LE %s
205 //
206 // PPC64LE:#define _ARCH_PPC 1
207 // PPC64LE:#define _ARCH_PPC64 1
208 // PPC64LE:#define _ARCH_PPCGR 1
209 // PPC64LE:#define _ARCH_PPCSQ 1
210 // PPC64LE:#define _ARCH_PWR4 1
211 // PPC64LE:#define _ARCH_PWR5 1
212 // PPC64LE:#define _ARCH_PWR5X 1
213 // PPC64LE:#define _ARCH_PWR6 1
214 // PPC64LE-NOT:#define _ARCH_PWR6X 1
215 // PPC64LE:#define _ARCH_PWR7 1
216 // PPC64LE:#define _CALL_ELF 2
217 // PPC64LE:#define _LITTLE_ENDIAN 1
218 // PPC64LE:#define _LP64 1
219 // PPC64LE:#define __BIGGEST_ALIGNMENT__ 16
220 // PPC64LE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
221 // PPC64LE:#define __CHAR16_TYPE__ unsigned short
222 // PPC64LE:#define __CHAR32_TYPE__ unsigned int
223 // PPC64LE:#define __CHAR_BIT__ 8
224 // PPC64LE:#define __CHAR_UNSIGNED__ 1
225 // PPC64LE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
226 // PPC64LE:#define __DBL_DIG__ 15
227 // PPC64LE:#define __DBL_EPSILON__ 2.2204460492503131e-16
228 // PPC64LE:#define __DBL_HAS_DENORM__ 1
229 // PPC64LE:#define __DBL_HAS_INFINITY__ 1
230 // PPC64LE:#define __DBL_HAS_QUIET_NAN__ 1
231 // PPC64LE:#define __DBL_MANT_DIG__ 53
232 // PPC64LE:#define __DBL_MAX_10_EXP__ 308
233 // PPC64LE:#define __DBL_MAX_EXP__ 1024
234 // PPC64LE:#define __DBL_MAX__ 1.7976931348623157e+308
235 // PPC64LE:#define __DBL_MIN_10_EXP__ (-307)
236 // PPC64LE:#define __DBL_MIN_EXP__ (-1021)
237 // PPC64LE:#define __DBL_MIN__ 2.2250738585072014e-308
238 // PPC64LE:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
239 // PPC64LE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
240 // PPC64LE:#define __FLT_DIG__ 6
241 // PPC64LE:#define __FLT_EPSILON__ 1.19209290e-7F
242 // PPC64LE:#define __FLT_HAS_DENORM__ 1
243 // PPC64LE:#define __FLT_HAS_INFINITY__ 1
244 // PPC64LE:#define __FLT_HAS_QUIET_NAN__ 1
245 // PPC64LE:#define __FLT_MANT_DIG__ 24
246 // PPC64LE:#define __FLT_MAX_10_EXP__ 38
247 // PPC64LE:#define __FLT_MAX_EXP__ 128
248 // PPC64LE:#define __FLT_MAX__ 3.40282347e+38F
249 // PPC64LE:#define __FLT_MIN_10_EXP__ (-37)
250 // PPC64LE:#define __FLT_MIN_EXP__ (-125)
251 // PPC64LE:#define __FLT_MIN__ 1.17549435e-38F
252 // PPC64LE:#define __FLT_RADIX__ 2
253 // PPC64LE:#define __HAVE_BSWAP__ 1
254 // PPC64LE:#define __INT16_C_SUFFIX__
255 // PPC64LE:#define __INT16_FMTd__ "hd"
256 // PPC64LE:#define __INT16_FMTi__ "hi"
257 // PPC64LE:#define __INT16_MAX__ 32767
258 // PPC64LE:#define __INT16_TYPE__ short
259 // PPC64LE:#define __INT32_C_SUFFIX__
260 // PPC64LE:#define __INT32_FMTd__ "d"
261 // PPC64LE:#define __INT32_FMTi__ "i"
262 // PPC64LE:#define __INT32_MAX__ 2147483647
263 // PPC64LE:#define __INT32_TYPE__ int
264 // PPC64LE:#define __INT64_C_SUFFIX__ L
265 // PPC64LE:#define __INT64_FMTd__ "ld"
266 // PPC64LE:#define __INT64_FMTi__ "li"
267 // PPC64LE:#define __INT64_MAX__ 9223372036854775807L
268 // PPC64LE:#define __INT64_TYPE__ long int
269 // PPC64LE:#define __INT8_C_SUFFIX__
270 // PPC64LE:#define __INT8_FMTd__ "hhd"
271 // PPC64LE:#define __INT8_FMTi__ "hhi"
272 // PPC64LE:#define __INT8_MAX__ 127
273 // PPC64LE:#define __INT8_TYPE__ signed char
274 // PPC64LE:#define __INTMAX_C_SUFFIX__ L
275 // PPC64LE:#define __INTMAX_FMTd__ "ld"
276 // PPC64LE:#define __INTMAX_FMTi__ "li"
277 // PPC64LE:#define __INTMAX_MAX__ 9223372036854775807L
278 // PPC64LE:#define __INTMAX_TYPE__ long int
279 // PPC64LE:#define __INTMAX_WIDTH__ 64
280 // PPC64LE:#define __INTPTR_FMTd__ "ld"
281 // PPC64LE:#define __INTPTR_FMTi__ "li"
282 // PPC64LE:#define __INTPTR_MAX__ 9223372036854775807L
283 // PPC64LE:#define __INTPTR_TYPE__ long int
284 // PPC64LE:#define __INTPTR_WIDTH__ 64
285 // PPC64LE:#define __INT_FAST16_FMTd__ "hd"
286 // PPC64LE:#define __INT_FAST16_FMTi__ "hi"
287 // PPC64LE:#define __INT_FAST16_MAX__ 32767
288 // PPC64LE:#define __INT_FAST16_TYPE__ short
289 // PPC64LE:#define __INT_FAST32_FMTd__ "d"
290 // PPC64LE:#define __INT_FAST32_FMTi__ "i"
291 // PPC64LE:#define __INT_FAST32_MAX__ 2147483647
292 // PPC64LE:#define __INT_FAST32_TYPE__ int
293 // PPC64LE:#define __INT_FAST64_FMTd__ "ld"
294 // PPC64LE:#define __INT_FAST64_FMTi__ "li"
295 // PPC64LE:#define __INT_FAST64_MAX__ 9223372036854775807L
296 // PPC64LE:#define __INT_FAST64_TYPE__ long int
297 // PPC64LE:#define __INT_FAST8_FMTd__ "hhd"
298 // PPC64LE:#define __INT_FAST8_FMTi__ "hhi"
299 // PPC64LE:#define __INT_FAST8_MAX__ 127
300 // PPC64LE:#define __INT_FAST8_TYPE__ signed char
301 // PPC64LE:#define __INT_LEAST16_FMTd__ "hd"
302 // PPC64LE:#define __INT_LEAST16_FMTi__ "hi"
303 // PPC64LE:#define __INT_LEAST16_MAX__ 32767
304 // PPC64LE:#define __INT_LEAST16_TYPE__ short
305 // PPC64LE:#define __INT_LEAST32_FMTd__ "d"
306 // PPC64LE:#define __INT_LEAST32_FMTi__ "i"
307 // PPC64LE:#define __INT_LEAST32_MAX__ 2147483647
308 // PPC64LE:#define __INT_LEAST32_TYPE__ int
309 // PPC64LE:#define __INT_LEAST64_FMTd__ "ld"
310 // PPC64LE:#define __INT_LEAST64_FMTi__ "li"
311 // PPC64LE:#define __INT_LEAST64_MAX__ 9223372036854775807L
312 // PPC64LE:#define __INT_LEAST64_TYPE__ long int
313 // PPC64LE:#define __INT_LEAST8_FMTd__ "hhd"
314 // PPC64LE:#define __INT_LEAST8_FMTi__ "hhi"
315 // PPC64LE:#define __INT_LEAST8_MAX__ 127
316 // PPC64LE:#define __INT_LEAST8_TYPE__ signed char
317 // PPC64LE:#define __INT_MAX__ 2147483647
318 // PPC64LE:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
319 // PPC64LE:#define __LDBL_DIG__ 31
320 // PPC64LE:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
321 // PPC64LE:#define __LDBL_HAS_DENORM__ 1
322 // PPC64LE:#define __LDBL_HAS_INFINITY__ 1
323 // PPC64LE:#define __LDBL_HAS_QUIET_NAN__ 1
324 // PPC64LE:#define __LDBL_MANT_DIG__ 106
325 // PPC64LE:#define __LDBL_MAX_10_EXP__ 308
326 // PPC64LE:#define __LDBL_MAX_EXP__ 1024
327 // PPC64LE:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
328 // PPC64LE:#define __LDBL_MIN_10_EXP__ (-291)
329 // PPC64LE:#define __LDBL_MIN_EXP__ (-968)
330 // PPC64LE:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
331 // PPC64LE:#define __LITTLE_ENDIAN__ 1
332 // PPC64LE:#define __LONGDOUBLE128 1
333 // PPC64LE:#define __LONG_DOUBLE_128__ 1
334 // PPC64LE:#define __LONG_LONG_MAX__ 9223372036854775807LL
335 // PPC64LE:#define __LONG_MAX__ 9223372036854775807L
336 // PPC64LE:#define __LP64__ 1
337 // PPC64LE:#define __NATURAL_ALIGNMENT__ 1
338 // PPC64LE:#define __POINTER_WIDTH__ 64
339 // PPC64LE:#define __POWERPC__ 1
340 // PPC64LE:#define __PPC64__ 1
341 // PPC64LE:#define __PPC__ 1
342 // PPC64LE:#define __PTRDIFF_TYPE__ long int
343 // PPC64LE:#define __PTRDIFF_WIDTH__ 64
344 // PPC64LE:#define __REGISTER_PREFIX__
345 // PPC64LE:#define __SCHAR_MAX__ 127
346 // PPC64LE:#define __SHRT_MAX__ 32767
347 // PPC64LE:#define __SIG_ATOMIC_MAX__ 2147483647
348 // PPC64LE:#define __SIG_ATOMIC_WIDTH__ 32
349 // PPC64LE:#define __SIZEOF_DOUBLE__ 8
350 // PPC64LE:#define __SIZEOF_FLOAT__ 4
351 // PPC64LE:#define __SIZEOF_INT__ 4
352 // PPC64LE:#define __SIZEOF_LONG_DOUBLE__ 16
353 // PPC64LE:#define __SIZEOF_LONG_LONG__ 8
354 // PPC64LE:#define __SIZEOF_LONG__ 8
355 // PPC64LE:#define __SIZEOF_POINTER__ 8
356 // PPC64LE:#define __SIZEOF_PTRDIFF_T__ 8
357 // PPC64LE:#define __SIZEOF_SHORT__ 2
358 // PPC64LE:#define __SIZEOF_SIZE_T__ 8
359 // PPC64LE:#define __SIZEOF_WCHAR_T__ 4
360 // PPC64LE:#define __SIZEOF_WINT_T__ 4
361 // PPC64LE:#define __SIZE_MAX__ 18446744073709551615UL
362 // PPC64LE:#define __SIZE_TYPE__ long unsigned int
363 // PPC64LE:#define __SIZE_WIDTH__ 64
364 // PPC64LE:#define __STRUCT_PARM_ALIGN__ 16
365 // PPC64LE:#define __UINT16_C_SUFFIX__
366 // PPC64LE:#define __UINT16_MAX__ 65535
367 // PPC64LE:#define __UINT16_TYPE__ unsigned short
368 // PPC64LE:#define __UINT32_C_SUFFIX__ U
369 // PPC64LE:#define __UINT32_MAX__ 4294967295U
370 // PPC64LE:#define __UINT32_TYPE__ unsigned int
371 // PPC64LE:#define __UINT64_C_SUFFIX__ UL
372 // PPC64LE:#define __UINT64_MAX__ 18446744073709551615UL
373 // PPC64LE:#define __UINT64_TYPE__ long unsigned int
374 // PPC64LE:#define __UINT8_C_SUFFIX__
375 // PPC64LE:#define __UINT8_MAX__ 255
376 // PPC64LE:#define __UINT8_TYPE__ unsigned char
377 // PPC64LE:#define __UINTMAX_C_SUFFIX__ UL
378 // PPC64LE:#define __UINTMAX_MAX__ 18446744073709551615UL
379 // PPC64LE:#define __UINTMAX_TYPE__ long unsigned int
380 // PPC64LE:#define __UINTMAX_WIDTH__ 64
381 // PPC64LE:#define __UINTPTR_MAX__ 18446744073709551615UL
382 // PPC64LE:#define __UINTPTR_TYPE__ long unsigned int
383 // PPC64LE:#define __UINTPTR_WIDTH__ 64
384 // PPC64LE:#define __UINT_FAST16_MAX__ 65535
385 // PPC64LE:#define __UINT_FAST16_TYPE__ unsigned short
386 // PPC64LE:#define __UINT_FAST32_MAX__ 4294967295U
387 // PPC64LE:#define __UINT_FAST32_TYPE__ unsigned int
388 // PPC64LE:#define __UINT_FAST64_MAX__ 18446744073709551615UL
389 // PPC64LE:#define __UINT_FAST64_TYPE__ long unsigned int
390 // PPC64LE:#define __UINT_FAST8_MAX__ 255
391 // PPC64LE:#define __UINT_FAST8_TYPE__ unsigned char
392 // PPC64LE:#define __UINT_LEAST16_MAX__ 65535
393 // PPC64LE:#define __UINT_LEAST16_TYPE__ unsigned short
394 // PPC64LE:#define __UINT_LEAST32_MAX__ 4294967295U
395 // PPC64LE:#define __UINT_LEAST32_TYPE__ unsigned int
396 // PPC64LE:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
397 // PPC64LE:#define __UINT_LEAST64_TYPE__ long unsigned int
398 // PPC64LE:#define __UINT_LEAST8_MAX__ 255
399 // PPC64LE:#define __UINT_LEAST8_TYPE__ unsigned char
400 // PPC64LE:#define __USER_LABEL_PREFIX__
401 // PPC64LE:#define __WCHAR_MAX__ 2147483647
402 // PPC64LE:#define __WCHAR_TYPE__ int
403 // PPC64LE:#define __WCHAR_WIDTH__ 32
404 // PPC64LE:#define __WINT_TYPE__ int
405 // PPC64LE:#define __WINT_WIDTH__ 32
406 // PPC64LE:#define __ppc64__ 1
407 // PPC64LE:#define __ppc__ 1
408 //
409 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu 630 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC630 %s
410 //
411 // PPC630:#define _ARCH_630 1
412 // PPC630:#define _ARCH_PPC 1
413 // PPC630:#define _ARCH_PPC64 1
414 // PPC630:#define _ARCH_PPCGR 1
415 //
416 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr3 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR3 %s
417 //
418 // PPCPWR3:#define _ARCH_PPC 1
419 // PPCPWR3:#define _ARCH_PPC64 1
420 // PPCPWR3:#define _ARCH_PPCGR 1
421 //
422 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power3 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER3 %s
423 //
424 // PPCPOWER3:#define _ARCH_PPC 1
425 // PPCPOWER3:#define _ARCH_PPC64 1
426 // PPCPOWER3:#define _ARCH_PPCGR 1
427 //
428 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr4 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR4 %s
429 //
430 // PPCPWR4:#define _ARCH_PPC 1
431 // PPCPWR4:#define _ARCH_PPC64 1
432 // PPCPWR4:#define _ARCH_PPCGR 1
433 // PPCPWR4:#define _ARCH_PPCSQ 1
434 // PPCPWR4:#define _ARCH_PWR4 1
435 //
436 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power4 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER4 %s
437 //
438 // PPCPOWER4:#define _ARCH_PPC 1
439 // PPCPOWER4:#define _ARCH_PPC64 1
440 // PPCPOWER4:#define _ARCH_PPCGR 1
441 // PPCPOWER4:#define _ARCH_PPCSQ 1
442 // PPCPOWER4:#define _ARCH_PWR4 1
443 //
444 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR5 %s
445 //
446 // PPCPWR5:#define _ARCH_PPC 1
447 // PPCPWR5:#define _ARCH_PPC64 1
448 // PPCPWR5:#define _ARCH_PPCGR 1
449 // PPCPWR5:#define _ARCH_PPCSQ 1
450 // PPCPWR5:#define _ARCH_PWR4 1
451 // PPCPWR5:#define _ARCH_PWR5 1
452 //
453 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER5 %s
454 //
455 // PPCPOWER5:#define _ARCH_PPC 1
456 // PPCPOWER5:#define _ARCH_PPC64 1
457 // PPCPOWER5:#define _ARCH_PPCGR 1
458 // PPCPOWER5:#define _ARCH_PPCSQ 1
459 // PPCPOWER5:#define _ARCH_PWR4 1
460 // PPCPOWER5:#define _ARCH_PWR5 1
461 //
462 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr5x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR5X %s
463 //
464 // PPCPWR5X:#define _ARCH_PPC 1
465 // PPCPWR5X:#define _ARCH_PPC64 1
466 // PPCPWR5X:#define _ARCH_PPCGR 1
467 // PPCPWR5X:#define _ARCH_PPCSQ 1
468 // PPCPWR5X:#define _ARCH_PWR4 1
469 // PPCPWR5X:#define _ARCH_PWR5 1
470 // PPCPWR5X:#define _ARCH_PWR5X 1
471 //
472 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power5x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER5X %s
473 //
474 // PPCPOWER5X:#define _ARCH_PPC 1
475 // PPCPOWER5X:#define _ARCH_PPC64 1
476 // PPCPOWER5X:#define _ARCH_PPCGR 1
477 // PPCPOWER5X:#define _ARCH_PPCSQ 1
478 // PPCPOWER5X:#define _ARCH_PWR4 1
479 // PPCPOWER5X:#define _ARCH_PWR5 1
480 // PPCPOWER5X:#define _ARCH_PWR5X 1
481 //
482 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR6 %s
483 //
484 // PPCPWR6:#define _ARCH_PPC 1
485 // PPCPWR6:#define _ARCH_PPC64 1
486 // PPCPWR6:#define _ARCH_PPCGR 1
487 // PPCPWR6:#define _ARCH_PPCSQ 1
488 // PPCPWR6:#define _ARCH_PWR4 1
489 // PPCPWR6:#define _ARCH_PWR5 1
490 // PPCPWR6:#define _ARCH_PWR5X 1
491 // PPCPWR6:#define _ARCH_PWR6 1
492 //
493 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER6 %s
494 //
495 // PPCPOWER6:#define _ARCH_PPC 1
496 // PPCPOWER6:#define _ARCH_PPC64 1
497 // PPCPOWER6:#define _ARCH_PPCGR 1
498 // PPCPOWER6:#define _ARCH_PPCSQ 1
499 // PPCPOWER6:#define _ARCH_PWR4 1
500 // PPCPOWER6:#define _ARCH_PWR5 1
501 // PPCPOWER6:#define _ARCH_PWR5X 1
502 // PPCPOWER6:#define _ARCH_PWR6 1
503 //
504 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr6x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR6X %s
505 //
506 // PPCPWR6X:#define _ARCH_PPC 1
507 // PPCPWR6X:#define _ARCH_PPC64 1
508 // PPCPWR6X:#define _ARCH_PPCGR 1
509 // PPCPWR6X:#define _ARCH_PPCSQ 1
510 // PPCPWR6X:#define _ARCH_PWR4 1
511 // PPCPWR6X:#define _ARCH_PWR5 1
512 // PPCPWR6X:#define _ARCH_PWR5X 1
513 // PPCPWR6X:#define _ARCH_PWR6 1
514 // PPCPWR6X:#define _ARCH_PWR6X 1
515 //
516 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power6x -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER6X %s
517 //
518 // PPCPOWER6X:#define _ARCH_PPC 1
519 // PPCPOWER6X:#define _ARCH_PPC64 1
520 // PPCPOWER6X:#define _ARCH_PPCGR 1
521 // PPCPOWER6X:#define _ARCH_PPCSQ 1
522 // PPCPOWER6X:#define _ARCH_PWR4 1
523 // PPCPOWER6X:#define _ARCH_PWR5 1
524 // PPCPOWER6X:#define _ARCH_PWR5X 1
525 // PPCPOWER6X:#define _ARCH_PWR6 1
526 // PPCPOWER6X:#define _ARCH_PWR6X 1
527 //
528 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR7 %s
529 //
530 // PPCPWR7:#define _ARCH_PPC 1
531 // PPCPWR7:#define _ARCH_PPC64 1
532 // PPCPWR7:#define _ARCH_PPCGR 1
533 // PPCPWR7:#define _ARCH_PPCSQ 1
534 // PPCPWR7:#define _ARCH_PWR4 1
535 // PPCPWR7:#define _ARCH_PWR5 1
536 // PPCPWR7:#define _ARCH_PWR5X 1
537 // PPCPWR7:#define _ARCH_PWR6 1
538 // PPCPWR7-NOT:#define _ARCH_PWR6X 1
539 // PPCPWR7:#define _ARCH_PWR7 1
540 //
541 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power7 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER7 %s
542 //
543 // PPCPOWER7:#define _ARCH_PPC 1
544 // PPCPOWER7:#define _ARCH_PPC64 1
545 // PPCPOWER7:#define _ARCH_PPCGR 1
546 // PPCPOWER7:#define _ARCH_PPCSQ 1
547 // PPCPOWER7:#define _ARCH_PWR4 1
548 // PPCPOWER7:#define _ARCH_PWR5 1
549 // PPCPOWER7:#define _ARCH_PWR5X 1
550 // PPCPOWER7:#define _ARCH_PWR6 1
551 // PPCPOWER7-NOT:#define _ARCH_PWR6X 1
552 // PPCPOWER7:#define _ARCH_PWR7 1
553 //
554 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr8 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR8 %s
555 //
556 // PPCPWR8:#define _ARCH_PPC 1
557 // PPCPWR8:#define _ARCH_PPC64 1
558 // PPCPWR8:#define _ARCH_PPCGR 1
559 // PPCPWR8:#define _ARCH_PPCSQ 1
560 // PPCPWR8:#define _ARCH_PWR4 1
561 // PPCPWR8:#define _ARCH_PWR5 1
562 // PPCPWR8:#define _ARCH_PWR5X 1
563 // PPCPWR8:#define _ARCH_PWR6 1
564 // PPCPWR8-NOT:#define _ARCH_PWR6X 1
565 // PPCPWR8:#define _ARCH_PWR7 1
566 // PPCPWR8:#define _ARCH_PWR8 1
567 // PPCPWR8-NOT:#define __ROP_PROTECT__ 1
568 // PPCPWR8-NOT:#define __PRIVILEGED__ 1
569 //
570 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power8 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER8 %s
571 //
572 // ppc64le also defaults to power8.
573 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-none-none -target-cpu ppc64le -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER8 %s
574 //
575 // PPCPOWER8:#define _ARCH_PPC 1
576 // PPCPOWER8:#define _ARCH_PPC64 1
577 // PPCPOWER8:#define _ARCH_PPCGR 1
578 // PPCPOWER8:#define _ARCH_PPCSQ 1
579 // PPCPOWER8:#define _ARCH_PWR4 1
580 // PPCPOWER8:#define _ARCH_PWR5 1
581 // PPCPOWER8:#define _ARCH_PWR5X 1
582 // PPCPOWER8:#define _ARCH_PWR6 1
583 // PPCPOWER8-NOT:#define _ARCH_PWR6X 1
584 // PPCPOWER8:#define _ARCH_PWR7 1
585 // PPCPOWER8:#define _ARCH_PWR8 1
586 // PPCPOWER8-NOT:#define __ROP_PROTECT__ 1
587 // PPCPOWER8-NOT:#define __PRIVILEGED__ 1
588 //
589 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr9 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPWR9 %s
590 //
591 // PPCPWR9:#define _ARCH_PPC 1
592 // PPCPWR9:#define _ARCH_PPC64 1
593 // PPCPWR9:#define _ARCH_PPCGR 1
594 // PPCPWR9:#define _ARCH_PPCSQ 1
595 // PPCPWR9:#define _ARCH_PWR4 1
596 // PPCPWR9:#define _ARCH_PWR5 1
597 // PPCPWR9:#define _ARCH_PWR5X 1
598 // PPCPWR9:#define _ARCH_PWR6 1
599 // PPCPWR9-NOT:#define _ARCH_PWR6X 1
600 // PPCPWR9:#define _ARCH_PWR7 1
601 // PPCPWR9:#define _ARCH_PWR9 1
602 // PPCPWR9-NOT:#define __ROP_PROTECT__ 1
603 // PPCPWR9-NOT:#define __PRIVILEGED__ 1
604 //
605 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power9 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER9 %s
606 //
607 // PPCPOWER9:#define _ARCH_PPC 1
608 // PPCPOWER9:#define _ARCH_PPC64 1
609 // PPCPOWER9:#define _ARCH_PPCGR 1
610 // PPCPOWER9:#define _ARCH_PPCSQ 1
611 // PPCPOWER9:#define _ARCH_PWR4 1
612 // PPCPOWER9:#define _ARCH_PWR5 1
613 // PPCPOWER9:#define _ARCH_PWR5X 1
614 // PPCPOWER9:#define _ARCH_PWR6 1
615 // PPCPOWER9-NOT:#define _ARCH_PWR6X 1
616 // PPCPOWER9:#define _ARCH_PWR7 1
617 // PPCPOWER9:#define _ARCH_PWR9 1
618 // PPCPOWER9-NOT:#define __ROP_PROTECT__ 1
619 // PPCPOWER9-NOT:#define __PRIVILEGED__ 1
620 //
621 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu pwr10 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER10 %s
622 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu power10 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCPOWER10 %s
623 //
624 // PPCPOWER10:#define _ARCH_PPC 1
625 // PPCPOWER10:#define _ARCH_PPC64 1
626 // PPCPOWER10:#define _ARCH_PPCGR 1
627 // PPCPOWER10:#define _ARCH_PPCSQ 1
628 // PPCPOWER10:#define _ARCH_PWR10 1
629 // PPCPOWER10:#define _ARCH_PWR4 1
630 // PPCPOWER10:#define _ARCH_PWR5 1
631 // PPCPOWER10:#define _ARCH_PWR5X 1
632 // PPCPOWER10:#define _ARCH_PWR6 1
633 // PPCPOWER10-NOT:#define _ARCH_PWR6X 1
634 // PPCPOWER10:#define _ARCH_PWR7 1
635 // PPCPOWER10:#define _ARCH_PWR8 1
636 // PPCPOWER10:#define _ARCH_PWR9 1
637 // PPCPOWER10:#define __MMA__ 1
638 // PPCPOWER10:#define __PCREL__ 1
639 // PPCPOWER10-NOT:#define __ROP_PROTECT__ 1
640 // PPCPOWER10-NOT:#define __PRIVILEGED__ 1
641 //
642 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-cpu future -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPCFUTURE %s
643 //
644 // PPCFUTURE:#define _ARCH_PPC 1
645 // PPCFUTURE:#define _ARCH_PPC64 1
646 // PPCFUTURE:#define _ARCH_PPCGR 1
647 // PPCFUTURE:#define _ARCH_PPCSQ 1
648 // PPCFUTURE:#define _ARCH_PWR10 1
649 // PPCFUTURE:#define _ARCH_PWR4 1
650 // PPCFUTURE:#define _ARCH_PWR5 1
651 // PPCFUTURE:#define _ARCH_PWR5X 1
652 // PPCFUTURE:#define _ARCH_PWR6 1
653 // PPCFUTURE-NOT:#define _ARCH_PWR6X 1
654 // PPCFUTURE:#define _ARCH_PWR7 1
655 // PPCFUTURE:#define _ARCH_PWR8 1
656 // PPCFUTURE:#define _ARCH_PWR9 1
657 // PPCFUTURE:#define _ARCH_PWR_FUTURE 1
658 // PPCFUTURE:#define __MMA__ 1
659 // PPCFUTURE:#define __PCREL__ 1
660 // PPCFUTURE-NOT:#define __ROP_PROTECT__ 1
661 // PPCFUTURE-NOT:#define __PRIVILEGED__ 1
662 //
663 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +mma -target-cpu power10 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-MMA %s
664 // PPC-MMA:#define __MMA__ 1
665 //
666 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +rop-protect -target-cpu power10 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-ROP %s
667 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +rop-protect -target-cpu power9 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-ROP %s
668 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +rop-protect -target-cpu power8 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-ROP %s
669 // PPC-ROP:#define __ROP_PROTECT__ 1
670 //
671 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +privileged -target-cpu power10 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-PRIV %s
672 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +privileged -target-cpu power9 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-PRIV %s
673 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +privileged -target-cpu power8 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-PRIV %s
674 // PPC-PRIV:#define __PRIVILEGED__ 1
675 //
676 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-none-none -target-feature +float128 -target-cpu power9 -fno-signed-char < /dev/null | FileCheck -check-prefix PPC-FLOAT128 %s
677 // PPC-FLOAT128:#define __FLOAT128__ 1
678 //
679 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-ibm-aix7.1.0.0 -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-AIX %s
680 //
681 // PPC64-AIX:#define _AIX 1
682 // PPC64-AIX:#define _ARCH_PPC 1
683 // PPC64-AIX:#define _ARCH_PPC64 1
684 // PPC64-AIX:#define _BIG_ENDIAN 1
685 // PPC64-AIX:#define _IBMR2 1
686 // PPC64-AIX-NOT:#define _ILP32 1
687 // PPC64-AIX:#define _LONG_LONG 1
688 // PPC64-AIX:#define _LP64 1
689 // PPC64-AIX:#define _POWER 1
690 // PPC64-AIX:#define __64BIT__ 1
691 // PPC64-AIX:#define __BIGGEST_ALIGNMENT__ 16
692 // PPC64-AIX:#define __BIG_ENDIAN__ 1
693 // PPC64-AIX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
694 // PPC64-AIX:#define __CHAR16_TYPE__ unsigned short
695 // PPC64-AIX:#define __CHAR32_TYPE__ unsigned int
696 // PPC64-AIX:#define __CHAR_BIT__ 8
697 // PPC64-AIX:#define __CHAR_UNSIGNED__ 1
698 // PPC64-AIX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
699 // PPC64-AIX:#define __DBL_DIG__ 15
700 // PPC64-AIX:#define __DBL_EPSILON__ 2.2204460492503131e-16
701 // PPC64-AIX:#define __DBL_HAS_DENORM__ 1
702 // PPC64-AIX:#define __DBL_HAS_INFINITY__ 1
703 // PPC64-AIX:#define __DBL_HAS_QUIET_NAN__ 1
704 // PPC64-AIX:#define __DBL_MANT_DIG__ 53
705 // PPC64-AIX:#define __DBL_MAX_10_EXP__ 308
706 // PPC64-AIX:#define __DBL_MAX_EXP__ 1024
707 // PPC64-AIX:#define __DBL_MAX__ 1.7976931348623157e+308
708 // PPC64-AIX:#define __DBL_MIN_10_EXP__ (-307)
709 // PPC64-AIX:#define __DBL_MIN_EXP__ (-1021)
710 // PPC64-AIX:#define __DBL_MIN__ 2.2250738585072014e-308
711 // PPC64-AIX:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
712 // PPC64-AIX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
713 // PPC64-AIX:#define __FLT_DIG__ 6
714 // PPC64-AIX:#define __FLT_EPSILON__ 1.19209290e-7F
715 // PPC64-AIX:#define __FLT_HAS_DENORM__ 1
716 // PPC64-AIX:#define __FLT_HAS_INFINITY__ 1
717 // PPC64-AIX:#define __FLT_HAS_QUIET_NAN__ 1
718 // PPC64-AIX:#define __FLT_MANT_DIG__ 24
719 // PPC64-AIX:#define __FLT_MAX_10_EXP__ 38
720 // PPC64-AIX:#define __FLT_MAX_EXP__ 128
721 // PPC64-AIX:#define __FLT_MAX__ 3.40282347e+38F
722 // PPC64-AIX:#define __FLT_MIN_10_EXP__ (-37)
723 // PPC64-AIX:#define __FLT_MIN_EXP__ (-125)
724 // PPC64-AIX:#define __FLT_MIN__ 1.17549435e-38F
725 // PPC64-AIX:#define __FLT_RADIX__ 2
726 // PPC64-AIX-NOT:#define __ILP32__ 1
727 // PPC64-AIX:#define __INT16_C_SUFFIX__
728 // PPC64-AIX:#define __INT16_FMTd__ "hd"
729 // PPC64-AIX:#define __INT16_FMTi__ "hi"
730 // PPC64-AIX:#define __INT16_MAX__ 32767
731 // PPC64-AIX:#define __INT16_TYPE__ short
732 // PPC64-AIX:#define __INT32_C_SUFFIX__
733 // PPC64-AIX:#define __INT32_FMTd__ "d"
734 // PPC64-AIX:#define __INT32_FMTi__ "i"
735 // PPC64-AIX:#define __INT32_MAX__ 2147483647
736 // PPC64-AIX:#define __INT32_TYPE__ int
737 // PPC64-AIX:#define __INT64_C_SUFFIX__ L
738 // PPC64-AIX:#define __INT64_FMTd__ "ld"
739 // PPC64-AIX:#define __INT64_FMTi__ "li"
740 // PPC64-AIX:#define __INT64_MAX__ 9223372036854775807L
741 // PPC64-AIX:#define __INT64_TYPE__ long int
742 // PPC64-AIX:#define __INT8_C_SUFFIX__
743 // PPC64-AIX:#define __INT8_FMTd__ "hhd"
744 // PPC64-AIX:#define __INT8_FMTi__ "hhi"
745 // PPC64-AIX:#define __INT8_MAX__ 127
746 // PPC64-AIX:#define __INT8_TYPE__ signed char
747 // PPC64-AIX:#define __INTMAX_C_SUFFIX__ L
748 // PPC64-AIX:#define __INTMAX_FMTd__ "ld"
749 // PPC64-AIX:#define __INTMAX_FMTi__ "li"
750 // PPC64-AIX:#define __INTMAX_MAX__ 9223372036854775807L
751 // PPC64-AIX:#define __INTMAX_TYPE__ long int
752 // PPC64-AIX:#define __INTMAX_WIDTH__ 64
753 // PPC64-AIX:#define __INTPTR_FMTd__ "ld"
754 // PPC64-AIX:#define __INTPTR_FMTi__ "li"
755 // PPC64-AIX:#define __INTPTR_MAX__ 9223372036854775807L
756 // PPC64-AIX:#define __INTPTR_TYPE__ long int
757 // PPC64-AIX:#define __INTPTR_WIDTH__ 64
758 // PPC64-AIX:#define __INT_FAST16_FMTd__ "hd"
759 // PPC64-AIX:#define __INT_FAST16_FMTi__ "hi"
760 // PPC64-AIX:#define __INT_FAST16_MAX__ 32767
761 // PPC64-AIX:#define __INT_FAST16_TYPE__ short
762 // PPC64-AIX:#define __INT_FAST32_FMTd__ "d"
763 // PPC64-AIX:#define __INT_FAST32_FMTi__ "i"
764 // PPC64-AIX:#define __INT_FAST32_MAX__ 2147483647
765 // PPC64-AIX:#define __INT_FAST32_TYPE__ int
766 // PPC64-AIX:#define __INT_FAST64_FMTd__ "ld"
767 // PPC64-AIX:#define __INT_FAST64_FMTi__ "li"
768 // PPC64-AIX:#define __INT_FAST64_MAX__ 9223372036854775807L
769 // PPC64-AIX:#define __INT_FAST64_TYPE__ long int
770 // PPC64-AIX:#define __INT_FAST8_FMTd__ "hhd"
771 // PPC64-AIX:#define __INT_FAST8_FMTi__ "hhi"
772 // PPC64-AIX:#define __INT_FAST8_MAX__ 127
773 // PPC64-AIX:#define __INT_FAST8_TYPE__ signed char
774 // PPC64-AIX:#define __INT_LEAST16_FMTd__ "hd"
775 // PPC64-AIX:#define __INT_LEAST16_FMTi__ "hi"
776 // PPC64-AIX:#define __INT_LEAST16_MAX__ 32767
777 // PPC64-AIX:#define __INT_LEAST16_TYPE__ short
778 // PPC64-AIX:#define __INT_LEAST32_FMTd__ "d"
779 // PPC64-AIX:#define __INT_LEAST32_FMTi__ "i"
780 // PPC64-AIX:#define __INT_LEAST32_MAX__ 2147483647
781 // PPC64-AIX:#define __INT_LEAST32_TYPE__ int
782 // PPC64-AIX:#define __INT_LEAST64_FMTd__ "ld"
783 // PPC64-AIX:#define __INT_LEAST64_FMTi__ "li"
784 // PPC64-AIX:#define __INT_LEAST64_MAX__ 9223372036854775807L
785 // PPC64-AIX:#define __INT_LEAST64_TYPE__ long int
786 // PPC64-AIX:#define __INT_LEAST8_FMTd__ "hhd"
787 // PPC64-AIX:#define __INT_LEAST8_FMTi__ "hhi"
788 // PPC64-AIX:#define __INT_LEAST8_MAX__ 127
789 // PPC64-AIX:#define __INT_LEAST8_TYPE__ signed char
790 // PPC64-AIX:#define __INT_MAX__ 2147483647
791 // PPC64-AIX:#define __LDBL_DECIMAL_DIG__ 17
792 // PPC64-AIX:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
793 // PPC64-AIX:#define __LDBL_DIG__ 15
794 // PPC64-AIX:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
795 // PPC64-AIX:#define __LDBL_HAS_DENORM__ 1
796 // PPC64-AIX:#define __LDBL_HAS_INFINITY__ 1
797 // PPC64-AIX:#define __LDBL_HAS_QUIET_NAN__ 1
798 // PPC64-AIX:#define __LDBL_MANT_DIG__ 53
799 // PPC64-AIX:#define __LDBL_MAX_10_EXP__ 308
800 // PPC64-AIX:#define __LDBL_MAX_EXP__ 1024
801 // PPC64-AIX:#define __LDBL_MAX__ 1.7976931348623157e+308L
802 // PPC64-AIX:#define __LDBL_MIN_10_EXP__ (-307)
803 // PPC64-AIX:#define __LDBL_MIN_EXP__ (-1021)
804 // PPC64-AIX:#define __LDBL_MIN__ 2.2250738585072014e-308L
805 // PPC64-AIX:#define __LONG_LONG_MAX__ 9223372036854775807LL
806 // PPC64-AIX:#define __LONG_MAX__ 9223372036854775807L
807 // PPC64-AIX:#define __LP64__ 1
808 // PPC64-AIX-NOT:#define __NATURAL_ALIGNMENT__ 1
809 // PPC64-AIX:#define __POINTER_WIDTH__ 64
810 // PPC64-AIX:#define __POWERPC__ 1
811 // PPC64-AIX:#define __PPC64__ 1
812 // PPC64-AIX:#define __PPC__ 1
813 // PPC64-AIX:#define __PTRDIFF_TYPE__ long int
814 // PPC64-AIX:#define __PTRDIFF_WIDTH__ 64
815 // PPC64-AIX:#define __REGISTER_PREFIX__
816 // PPC64-AIX:#define __SCHAR_MAX__ 127
817 // PPC64-AIX:#define __SHRT_MAX__ 32767
818 // PPC64-AIX:#define __SIG_ATOMIC_MAX__ 2147483647
819 // PPC64-AIX:#define __SIG_ATOMIC_WIDTH__ 32
820 // PPC64-AIX:#define __SIZEOF_DOUBLE__ 8
821 // PPC64-AIX:#define __SIZEOF_FLOAT__ 4
822 // PPC64-AIX:#define __SIZEOF_INT__ 4
823 // PPC64-AIX:#define __SIZEOF_LONG_DOUBLE__ 8
824 // PPC64-AIX:#define __SIZEOF_LONG_LONG__ 8
825 // PPC64-AIX:#define __SIZEOF_LONG__ 8
826 // PPC64-AIX:#define __SIZEOF_POINTER__ 8
827 // PPC64-AIX:#define __SIZEOF_PTRDIFF_T__ 8
828 // PPC64-AIX:#define __SIZEOF_SHORT__ 2
829 // PPC64-AIX:#define __SIZEOF_SIZE_T__ 8
830 // PPC64-AIX:#define __SIZEOF_WCHAR_T__ 4
831 // PPC64-AIX:#define __SIZEOF_WINT_T__ 4
832 // PPC64-AIX:#define __SIZE_MAX__ 18446744073709551615UL
833 // PPC64-AIX:#define __SIZE_TYPE__ long unsigned int
834 // PPC64-AIX:#define __SIZE_WIDTH__ 64
835 // PPC64-AIX:#define __UINT16_C_SUFFIX__
836 // PPC64-AIX:#define __UINT16_MAX__ 65535
837 // PPC64-AIX:#define __UINT16_TYPE__ unsigned short
838 // PPC64-AIX:#define __UINT32_C_SUFFIX__ U
839 // PPC64-AIX:#define __UINT32_MAX__ 4294967295U
840 // PPC64-AIX:#define __UINT32_TYPE__ unsigned int
841 // PPC64-AIX:#define __UINT64_C_SUFFIX__ UL
842 // PPC64-AIX:#define __UINT64_MAX__ 18446744073709551615UL
843 // PPC64-AIX:#define __UINT64_TYPE__ long unsigned int
844 // PPC64-AIX:#define __UINT8_C_SUFFIX__
845 // PPC64-AIX:#define __UINT8_MAX__ 255
846 // PPC64-AIX:#define __UINT8_TYPE__ unsigned char
847 // PPC64-AIX:#define __UINTMAX_C_SUFFIX__ UL
848 // PPC64-AIX:#define __UINTMAX_MAX__ 18446744073709551615UL
849 // PPC64-AIX:#define __UINTMAX_TYPE__ long unsigned int
850 // PPC64-AIX:#define __UINTMAX_WIDTH__ 64
851 // PPC64-AIX:#define __UINTPTR_MAX__ 18446744073709551615UL
852 // PPC64-AIX:#define __UINTPTR_TYPE__ long unsigned int
853 // PPC64-AIX:#define __UINTPTR_WIDTH__ 64
854 // PPC64-AIX:#define __UINT_FAST16_MAX__ 65535
855 // PPC64-AIX:#define __UINT_FAST16_TYPE__ unsigned short
856 // PPC64-AIX:#define __UINT_FAST32_MAX__ 4294967295U
857 // PPC64-AIX:#define __UINT_FAST32_TYPE__ unsigned int
858 // PPC64-AIX:#define __UINT_FAST64_MAX__ 18446744073709551615UL
859 // PPC64-AIX:#define __UINT_FAST64_TYPE__ long unsigned int
860 // PPC64-AIX:#define __UINT_FAST8_MAX__ 255
861 // PPC64-AIX:#define __UINT_FAST8_TYPE__ unsigned char
862 // PPC64-AIX:#define __UINT_LEAST16_MAX__ 65535
863 // PPC64-AIX:#define __UINT_LEAST16_TYPE__ unsigned short
864 // PPC64-AIX:#define __UINT_LEAST32_MAX__ 4294967295U
865 // PPC64-AIX:#define __UINT_LEAST32_TYPE__ unsigned int
866 // PPC64-AIX:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
867 // PPC64-AIX:#define __UINT_LEAST64_TYPE__ long unsigned int
868 // PPC64-AIX:#define __UINT_LEAST8_MAX__ 255
869 // PPC64-AIX:#define __UINT_LEAST8_TYPE__ unsigned char
870 // PPC64-AIX:#define __USER_LABEL_PREFIX__
871 // PPC64-AIX:#define __WCHAR_MAX__ 4294967295U
872 // PPC64-AIX:#define __WCHAR_TYPE__ unsigned int
873 // PPC64-AIX:#define __WCHAR_WIDTH__ 32
874 // PPC64-AIX:#define __WINT_TYPE__ int
875 // PPC64-AIX:#define __WINT_WIDTH__ 32
876 // PPC64-AIX:#define __powerpc64__ 1
877 // PPC64-AIX:#define __powerpc__ 1
878 // PPC64-AIX:#define __ppc64__ 1
879 // PPC64-AIX:#define __ppc__ 1
880 //
881 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-linux-gnu -fno-signed-char < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-LINUX %s
882 //
883 // PPC64-LINUX:#define _ARCH_PPC 1
884 // PPC64-LINUX:#define _ARCH_PPC64 1
885 // PPC64-LINUX:#define _BIG_ENDIAN 1
886 // PPC64-LINUX:#define _CALL_LINUX 1
887 // PPC64-LINUX:#define _LP64 1
888 // PPC64-LINUX:#define __BIGGEST_ALIGNMENT__ 16
889 // PPC64-LINUX:#define __BIG_ENDIAN__ 1
890 // PPC64-LINUX:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
891 // PPC64-LINUX:#define __CHAR16_TYPE__ unsigned short
892 // PPC64-LINUX:#define __CHAR32_TYPE__ unsigned int
893 // PPC64-LINUX:#define __CHAR_BIT__ 8
894 // PPC64-LINUX:#define __CHAR_UNSIGNED__ 1
895 // PPC64-LINUX:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
896 // PPC64-LINUX:#define __DBL_DIG__ 15
897 // PPC64-LINUX:#define __DBL_EPSILON__ 2.2204460492503131e-16
898 // PPC64-LINUX:#define __DBL_HAS_DENORM__ 1
899 // PPC64-LINUX:#define __DBL_HAS_INFINITY__ 1
900 // PPC64-LINUX:#define __DBL_HAS_QUIET_NAN__ 1
901 // PPC64-LINUX:#define __DBL_MANT_DIG__ 53
902 // PPC64-LINUX:#define __DBL_MAX_10_EXP__ 308
903 // PPC64-LINUX:#define __DBL_MAX_EXP__ 1024
904 // PPC64-LINUX:#define __DBL_MAX__ 1.7976931348623157e+308
905 // PPC64-LINUX:#define __DBL_MIN_10_EXP__ (-307)
906 // PPC64-LINUX:#define __DBL_MIN_EXP__ (-1021)
907 // PPC64-LINUX:#define __DBL_MIN__ 2.2250738585072014e-308
908 // PPC64-LINUX:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
909 // PPC64-LINUX:#define __FLT_DENORM_MIN__ 1.40129846e-45F
910 // PPC64-LINUX:#define __FLT_DIG__ 6
911 // PPC64-LINUX:#define __FLT_EPSILON__ 1.19209290e-7F
912 // PPC64-LINUX:#define __FLT_HAS_DENORM__ 1
913 // PPC64-LINUX:#define __FLT_HAS_INFINITY__ 1
914 // PPC64-LINUX:#define __FLT_HAS_QUIET_NAN__ 1
915 // PPC64-LINUX:#define __FLT_MANT_DIG__ 24
916 // PPC64-LINUX:#define __FLT_MAX_10_EXP__ 38
917 // PPC64-LINUX:#define __FLT_MAX_EXP__ 128
918 // PPC64-LINUX:#define __FLT_MAX__ 3.40282347e+38F
919 // PPC64-LINUX:#define __FLT_MIN_10_EXP__ (-37)
920 // PPC64-LINUX:#define __FLT_MIN_EXP__ (-125)
921 // PPC64-LINUX:#define __FLT_MIN__ 1.17549435e-38F
922 // PPC64-LINUX:#define __FLT_RADIX__ 2
923 // PPC64-LINUX:#define __HAVE_BSWAP__ 1
924 // PPC64-LINUX:#define __INT16_C_SUFFIX__
925 // PPC64-LINUX:#define __INT16_FMTd__ "hd"
926 // PPC64-LINUX:#define __INT16_FMTi__ "hi"
927 // PPC64-LINUX:#define __INT16_MAX__ 32767
928 // PPC64-LINUX:#define __INT16_TYPE__ short
929 // PPC64-LINUX:#define __INT32_C_SUFFIX__
930 // PPC64-LINUX:#define __INT32_FMTd__ "d"
931 // PPC64-LINUX:#define __INT32_FMTi__ "i"
932 // PPC64-LINUX:#define __INT32_MAX__ 2147483647
933 // PPC64-LINUX:#define __INT32_TYPE__ int
934 // PPC64-LINUX:#define __INT64_C_SUFFIX__ L
935 // PPC64-LINUX:#define __INT64_FMTd__ "ld"
936 // PPC64-LINUX:#define __INT64_FMTi__ "li"
937 // PPC64-LINUX:#define __INT64_MAX__ 9223372036854775807L
938 // PPC64-LINUX:#define __INT64_TYPE__ long int
939 // PPC64-LINUX:#define __INT8_C_SUFFIX__
940 // PPC64-LINUX:#define __INT8_FMTd__ "hhd"
941 // PPC64-LINUX:#define __INT8_FMTi__ "hhi"
942 // PPC64-LINUX:#define __INT8_MAX__ 127
943 // PPC64-LINUX:#define __INT8_TYPE__ signed char
944 // PPC64-LINUX:#define __INTMAX_C_SUFFIX__ L
945 // PPC64-LINUX:#define __INTMAX_FMTd__ "ld"
946 // PPC64-LINUX:#define __INTMAX_FMTi__ "li"
947 // PPC64-LINUX:#define __INTMAX_MAX__ 9223372036854775807L
948 // PPC64-LINUX:#define __INTMAX_TYPE__ long int
949 // PPC64-LINUX:#define __INTMAX_WIDTH__ 64
950 // PPC64-LINUX:#define __INTPTR_FMTd__ "ld"
951 // PPC64-LINUX:#define __INTPTR_FMTi__ "li"
952 // PPC64-LINUX:#define __INTPTR_MAX__ 9223372036854775807L
953 // PPC64-LINUX:#define __INTPTR_TYPE__ long int
954 // PPC64-LINUX:#define __INTPTR_WIDTH__ 64
955 // PPC64-LINUX:#define __INT_FAST16_FMTd__ "hd"
956 // PPC64-LINUX:#define __INT_FAST16_FMTi__ "hi"
957 // PPC64-LINUX:#define __INT_FAST16_MAX__ 32767
958 // PPC64-LINUX:#define __INT_FAST16_TYPE__ short
959 // PPC64-LINUX:#define __INT_FAST32_FMTd__ "d"
960 // PPC64-LINUX:#define __INT_FAST32_FMTi__ "i"
961 // PPC64-LINUX:#define __INT_FAST32_MAX__ 2147483647
962 // PPC64-LINUX:#define __INT_FAST32_TYPE__ int
963 // PPC64-LINUX:#define __INT_FAST64_FMTd__ "ld"
964 // PPC64-LINUX:#define __INT_FAST64_FMTi__ "li"
965 // PPC64-LINUX:#define __INT_FAST64_MAX__ 9223372036854775807L
966 // PPC64-LINUX:#define __INT_FAST64_TYPE__ long int
967 // PPC64-LINUX:#define __INT_FAST8_FMTd__ "hhd"
968 // PPC64-LINUX:#define __INT_FAST8_FMTi__ "hhi"
969 // PPC64-LINUX:#define __INT_FAST8_MAX__ 127
970 // PPC64-LINUX:#define __INT_FAST8_TYPE__ signed char
971 // PPC64-LINUX:#define __INT_LEAST16_FMTd__ "hd"
972 // PPC64-LINUX:#define __INT_LEAST16_FMTi__ "hi"
973 // PPC64-LINUX:#define __INT_LEAST16_MAX__ 32767
974 // PPC64-LINUX:#define __INT_LEAST16_TYPE__ short
975 // PPC64-LINUX:#define __INT_LEAST32_FMTd__ "d"
976 // PPC64-LINUX:#define __INT_LEAST32_FMTi__ "i"
977 // PPC64-LINUX:#define __INT_LEAST32_MAX__ 2147483647
978 // PPC64-LINUX:#define __INT_LEAST32_TYPE__ int
979 // PPC64-LINUX:#define __INT_LEAST64_FMTd__ "ld"
980 // PPC64-LINUX:#define __INT_LEAST64_FMTi__ "li"
981 // PPC64-LINUX:#define __INT_LEAST64_MAX__ 9223372036854775807L
982 // PPC64-LINUX:#define __INT_LEAST64_TYPE__ long int
983 // PPC64-LINUX:#define __INT_LEAST8_FMTd__ "hhd"
984 // PPC64-LINUX:#define __INT_LEAST8_FMTi__ "hhi"
985 // PPC64-LINUX:#define __INT_LEAST8_MAX__ 127
986 // PPC64-LINUX:#define __INT_LEAST8_TYPE__ signed char
987 // PPC64-LINUX:#define __INT_MAX__ 2147483647
988 // PPC64-LINUX:#define __LDBL_DENORM_MIN__ 4.94065645841246544176568792868221e-324L
989 // PPC64-LINUX:#define __LDBL_DIG__ 31
990 // PPC64-LINUX:#define __LDBL_EPSILON__ 4.94065645841246544176568792868221e-324L
991 // PPC64-LINUX:#define __LDBL_HAS_DENORM__ 1
992 // PPC64-LINUX:#define __LDBL_HAS_INFINITY__ 1
993 // PPC64-LINUX:#define __LDBL_HAS_QUIET_NAN__ 1
994 // PPC64-LINUX:#define __LDBL_MANT_DIG__ 106
995 // PPC64-LINUX:#define __LDBL_MAX_10_EXP__ 308
996 // PPC64-LINUX:#define __LDBL_MAX_EXP__ 1024
997 // PPC64-LINUX:#define __LDBL_MAX__ 1.79769313486231580793728971405301e+308L
998 // PPC64-LINUX:#define __LDBL_MIN_10_EXP__ (-291)
999 // PPC64-LINUX:#define __LDBL_MIN_EXP__ (-968)
1000 // PPC64-LINUX:#define __LDBL_MIN__ 2.00416836000897277799610805135016e-292L
1001 // PPC64-LINUX:#define __LONGDOUBLE128 1
1002 // PPC64-LINUX:#define __LONG_DOUBLE_128__ 1
1003 // PPC64-LINUX:#define __LONG_LONG_MAX__ 9223372036854775807LL
1004 // PPC64-LINUX:#define __LONG_MAX__ 9223372036854775807L
1005 // PPC64-LINUX:#define __LP64__ 1
1006 // PPC64-LINUX:#define __NATURAL_ALIGNMENT__ 1
1007 // PPC64-LINUX:#define __POINTER_WIDTH__ 64
1008 // PPC64-LINUX:#define __POWERPC__ 1
1009 // PPC64-LINUX:#define __PPC64__ 1
1010 // PPC64-LINUX:#define __PPC__ 1
1011 // PPC64-LINUX:#define __PTRDIFF_TYPE__ long int
1012 // PPC64-LINUX:#define __PTRDIFF_WIDTH__ 64
1013 // PPC64-LINUX:#define __REGISTER_PREFIX__
1014 // PPC64-LINUX:#define __SCHAR_MAX__ 127
1015 // PPC64-LINUX:#define __SHRT_MAX__ 32767
1016 // PPC64-LINUX:#define __SIG_ATOMIC_MAX__ 2147483647
1017 // PPC64-LINUX:#define __SIG_ATOMIC_WIDTH__ 32
1018 // PPC64-LINUX:#define __SIZEOF_DOUBLE__ 8
1019 // PPC64-LINUX:#define __SIZEOF_FLOAT__ 4
1020 // PPC64-LINUX:#define __SIZEOF_INT__ 4
1021 // PPC64-LINUX:#define __SIZEOF_LONG_DOUBLE__ 16
1022 // PPC64-LINUX:#define __SIZEOF_LONG_LONG__ 8
1023 // PPC64-LINUX:#define __SIZEOF_LONG__ 8
1024 // PPC64-LINUX:#define __SIZEOF_POINTER__ 8
1025 // PPC64-LINUX:#define __SIZEOF_PTRDIFF_T__ 8
1026 // PPC64-LINUX:#define __SIZEOF_SHORT__ 2
1027 // PPC64-LINUX:#define __SIZEOF_SIZE_T__ 8
1028 // PPC64-LINUX:#define __SIZEOF_WCHAR_T__ 4
1029 // PPC64-LINUX:#define __SIZEOF_WINT_T__ 4
1030 // PPC64-LINUX:#define __SIZE_MAX__ 18446744073709551615UL
1031 // PPC64-LINUX:#define __SIZE_TYPE__ long unsigned int
1032 // PPC64-LINUX:#define __SIZE_WIDTH__ 64
1033 // PPC64-LINUX:#define __UINT16_C_SUFFIX__
1034 // PPC64-LINUX:#define __UINT16_MAX__ 65535
1035 // PPC64-LINUX:#define __UINT16_TYPE__ unsigned short
1036 // PPC64-LINUX:#define __UINT32_C_SUFFIX__ U
1037 // PPC64-LINUX:#define __UINT32_MAX__ 4294967295U
1038 // PPC64-LINUX:#define __UINT32_TYPE__ unsigned int
1039 // PPC64-LINUX:#define __UINT64_C_SUFFIX__ UL
1040 // PPC64-LINUX:#define __UINT64_MAX__ 18446744073709551615UL
1041 // PPC64-LINUX:#define __UINT64_TYPE__ long unsigned int
1042 // PPC64-LINUX:#define __UINT8_C_SUFFIX__
1043 // PPC64-LINUX:#define __UINT8_MAX__ 255
1044 // PPC64-LINUX:#define __UINT8_TYPE__ unsigned char
1045 // PPC64-LINUX:#define __UINTMAX_C_SUFFIX__ UL
1046 // PPC64-LINUX:#define __UINTMAX_MAX__ 18446744073709551615UL
1047 // PPC64-LINUX:#define __UINTMAX_TYPE__ long unsigned int
1048 // PPC64-LINUX:#define __UINTMAX_WIDTH__ 64
1049 // PPC64-LINUX:#define __UINTPTR_MAX__ 18446744073709551615UL
1050 // PPC64-LINUX:#define __UINTPTR_TYPE__ long unsigned int
1051 // PPC64-LINUX:#define __UINTPTR_WIDTH__ 64
1052 // PPC64-LINUX:#define __UINT_FAST16_MAX__ 65535
1053 // PPC64-LINUX:#define __UINT_FAST16_TYPE__ unsigned short
1054 // PPC64-LINUX:#define __UINT_FAST32_MAX__ 4294967295U
1055 // PPC64-LINUX:#define __UINT_FAST32_TYPE__ unsigned int
1056 // PPC64-LINUX:#define __UINT_FAST64_MAX__ 18446744073709551615UL
1057 // PPC64-LINUX:#define __UINT_FAST64_TYPE__ long unsigned int
1058 // PPC64-LINUX:#define __UINT_FAST8_MAX__ 255
1059 // PPC64-LINUX:#define __UINT_FAST8_TYPE__ unsigned char
1060 // PPC64-LINUX:#define __UINT_LEAST16_MAX__ 65535
1061 // PPC64-LINUX:#define __UINT_LEAST16_TYPE__ unsigned short
1062 // PPC64-LINUX:#define __UINT_LEAST32_MAX__ 4294967295U
1063 // PPC64-LINUX:#define __UINT_LEAST32_TYPE__ unsigned int
1064 // PPC64-LINUX:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
1065 // PPC64-LINUX:#define __UINT_LEAST64_TYPE__ long unsigned int
1066 // PPC64-LINUX:#define __UINT_LEAST8_MAX__ 255
1067 // PPC64-LINUX:#define __UINT_LEAST8_TYPE__ unsigned char
1068 // PPC64-LINUX:#define __USER_LABEL_PREFIX__
1069 // PPC64-LINUX:#define __WCHAR_MAX__ 2147483647
1070 // PPC64-LINUX:#define __WCHAR_TYPE__ int
1071 // PPC64-LINUX:#define __WCHAR_WIDTH__ 32
1072 // PPC64-LINUX:#define __WINT_TYPE__ unsigned int
1073 // PPC64-LINUX:#define __WINT_UNSIGNED__ 1
1074 // PPC64-LINUX:#define __WINT_WIDTH__ 32
1075 // PPC64-LINUX:#define __powerpc64__ 1
1076 // PPC64-LINUX:#define __powerpc__ 1
1077 // PPC64-LINUX:#define __ppc64__ 1
1078 // PPC64-LINUX:#define __ppc__ 1
1079 
1080 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=powerpc64-unknown-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
1081 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=powerpc64-unknown-linux-gnu -target-abi elfv1 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
1082 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=powerpc64-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s
1083 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=powerpc64le-unknown-linux-gnu < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s
1084 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=powerpc64le-unknown-linux-gnu -target-abi elfv1 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv1 %s
1085 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-ELFv2 %s
1086 
1087 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd11 -target-abi elfv1 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv1 %s
1088 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd12 -target-abi elfv1 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv1 %s
1089 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd13 -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1090 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-freebsd13 -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1091 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-openbsd -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1092 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-linux-musl -target-abi elfv2 -xc /dev/null | FileCheck --check-prefix=PPC64-ELFv2 %s
1093 
1094 // PPC64-ELFv1:#define _CALL_ELF 1
1095 // PPC64-ELFv2:#define _CALL_ELF 2
1096 //
1097 // Most of this is encompassed in other places.
1098 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-linux-gnu -target-abi elfv2 < /dev/null | FileCheck -match-full-lines -check-prefix PPC64LE-LINUX %s
1099 //
1100 // PPC64LE-LINUX:#define _CALL_LINUX 1
1101 
1102 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64-unknown-freebsd < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-FREEBSD %s
1103 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=powerpc64le-unknown-freebsd < /dev/null | FileCheck -match-full-lines -check-prefix PPC64-FREEBSD %s
1104 // PPC64-FREEBSD-NOT: #define __LONG_DOUBLE_128__ 1
1105