1 //
2 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=mips-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS32BE -check-prefix MIPS32BE-C %s
3 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=mips-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS32BE -check-prefix MIPS32BE-CXX %s
4 //
5 // MIPS32BE:#define MIPSEB 1
6 // MIPS32BE:#define _ABIO32 1
7 // MIPS32BE-NOT:#define _LP64
8 // MIPS32BE:#define _MIPSEB 1
9 // MIPS32BE:#define _MIPS_ARCH "mips32r2"
10 // MIPS32BE:#define _MIPS_ARCH_MIPS32R2 1
11 // MIPS32BE:#define _MIPS_FPSET 16
12 // MIPS32BE:#define _MIPS_SIM _ABIO32
13 // MIPS32BE:#define _MIPS_SZINT 32
14 // MIPS32BE:#define _MIPS_SZLONG 32
15 // MIPS32BE:#define _MIPS_SZPTR 32
16 // MIPS32BE:#define __BIGGEST_ALIGNMENT__ 8
17 // MIPS32BE:#define __BIG_ENDIAN__ 1
18 // MIPS32BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
19 // MIPS32BE:#define __CHAR16_TYPE__ unsigned short
20 // MIPS32BE:#define __CHAR32_TYPE__ unsigned int
21 // MIPS32BE:#define __CHAR_BIT__ 8
22 // MIPS32BE:#define __CONSTANT_CFSTRINGS__ 1
23 // MIPS32BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
24 // MIPS32BE:#define __DBL_DIG__ 15
25 // MIPS32BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
26 // MIPS32BE:#define __DBL_HAS_DENORM__ 1
27 // MIPS32BE:#define __DBL_HAS_INFINITY__ 1
28 // MIPS32BE:#define __DBL_HAS_QUIET_NAN__ 1
29 // MIPS32BE:#define __DBL_MANT_DIG__ 53
30 // MIPS32BE:#define __DBL_MAX_10_EXP__ 308
31 // MIPS32BE:#define __DBL_MAX_EXP__ 1024
32 // MIPS32BE:#define __DBL_MAX__ 1.7976931348623157e+308
33 // MIPS32BE:#define __DBL_MIN_10_EXP__ (-307)
34 // MIPS32BE:#define __DBL_MIN_EXP__ (-1021)
35 // MIPS32BE:#define __DBL_MIN__ 2.2250738585072014e-308
36 // MIPS32BE:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
37 // MIPS32BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
38 // MIPS32BE:#define __FLT_DIG__ 6
39 // MIPS32BE:#define __FLT_EPSILON__ 1.19209290e-7F
40 // MIPS32BE:#define __FLT_EVAL_METHOD__ 0
41 // MIPS32BE:#define __FLT_HAS_DENORM__ 1
42 // MIPS32BE:#define __FLT_HAS_INFINITY__ 1
43 // MIPS32BE:#define __FLT_HAS_QUIET_NAN__ 1
44 // MIPS32BE:#define __FLT_MANT_DIG__ 24
45 // MIPS32BE:#define __FLT_MAX_10_EXP__ 38
46 // MIPS32BE:#define __FLT_MAX_EXP__ 128
47 // MIPS32BE:#define __FLT_MAX__ 3.40282347e+38F
48 // MIPS32BE:#define __FLT_MIN_10_EXP__ (-37)
49 // MIPS32BE:#define __FLT_MIN_EXP__ (-125)
50 // MIPS32BE:#define __FLT_MIN__ 1.17549435e-38F
51 // MIPS32BE:#define __FLT_RADIX__ 2
52 // MIPS32BE:#define __INT16_C_SUFFIX__
53 // MIPS32BE:#define __INT16_FMTd__ "hd"
54 // MIPS32BE:#define __INT16_FMTi__ "hi"
55 // MIPS32BE:#define __INT16_MAX__ 32767
56 // MIPS32BE:#define __INT16_TYPE__ short
57 // MIPS32BE:#define __INT32_C_SUFFIX__
58 // MIPS32BE:#define __INT32_FMTd__ "d"
59 // MIPS32BE:#define __INT32_FMTi__ "i"
60 // MIPS32BE:#define __INT32_MAX__ 2147483647
61 // MIPS32BE:#define __INT32_TYPE__ int
62 // MIPS32BE:#define __INT64_C_SUFFIX__ LL
63 // MIPS32BE:#define __INT64_FMTd__ "lld"
64 // MIPS32BE:#define __INT64_FMTi__ "lli"
65 // MIPS32BE:#define __INT64_MAX__ 9223372036854775807LL
66 // MIPS32BE:#define __INT64_TYPE__ long long int
67 // MIPS32BE:#define __INT8_C_SUFFIX__
68 // MIPS32BE:#define __INT8_FMTd__ "hhd"
69 // MIPS32BE:#define __INT8_FMTi__ "hhi"
70 // MIPS32BE:#define __INT8_MAX__ 127
71 // MIPS32BE:#define __INT8_TYPE__ signed char
72 // MIPS32BE:#define __INTMAX_C_SUFFIX__ LL
73 // MIPS32BE:#define __INTMAX_FMTd__ "lld"
74 // MIPS32BE:#define __INTMAX_FMTi__ "lli"
75 // MIPS32BE:#define __INTMAX_MAX__ 9223372036854775807LL
76 // MIPS32BE:#define __INTMAX_TYPE__ long long int
77 // MIPS32BE:#define __INTMAX_WIDTH__ 64
78 // MIPS32BE:#define __INTPTR_FMTd__ "ld"
79 // MIPS32BE:#define __INTPTR_FMTi__ "li"
80 // MIPS32BE:#define __INTPTR_MAX__ 2147483647L
81 // MIPS32BE:#define __INTPTR_TYPE__ long int
82 // MIPS32BE:#define __INTPTR_WIDTH__ 32
83 // MIPS32BE:#define __INT_FAST16_FMTd__ "hd"
84 // MIPS32BE:#define __INT_FAST16_FMTi__ "hi"
85 // MIPS32BE:#define __INT_FAST16_MAX__ 32767
86 // MIPS32BE:#define __INT_FAST16_TYPE__ short
87 // MIPS32BE:#define __INT_FAST32_FMTd__ "d"
88 // MIPS32BE:#define __INT_FAST32_FMTi__ "i"
89 // MIPS32BE:#define __INT_FAST32_MAX__ 2147483647
90 // MIPS32BE:#define __INT_FAST32_TYPE__ int
91 // MIPS32BE:#define __INT_FAST64_FMTd__ "lld"
92 // MIPS32BE:#define __INT_FAST64_FMTi__ "lli"
93 // MIPS32BE:#define __INT_FAST64_MAX__ 9223372036854775807LL
94 // MIPS32BE:#define __INT_FAST64_TYPE__ long long int
95 // MIPS32BE:#define __INT_FAST8_FMTd__ "hhd"
96 // MIPS32BE:#define __INT_FAST8_FMTi__ "hhi"
97 // MIPS32BE:#define __INT_FAST8_MAX__ 127
98 // MIPS32BE:#define __INT_FAST8_TYPE__ signed char
99 // MIPS32BE:#define __INT_LEAST16_FMTd__ "hd"
100 // MIPS32BE:#define __INT_LEAST16_FMTi__ "hi"
101 // MIPS32BE:#define __INT_LEAST16_MAX__ 32767
102 // MIPS32BE:#define __INT_LEAST16_TYPE__ short
103 // MIPS32BE:#define __INT_LEAST32_FMTd__ "d"
104 // MIPS32BE:#define __INT_LEAST32_FMTi__ "i"
105 // MIPS32BE:#define __INT_LEAST32_MAX__ 2147483647
106 // MIPS32BE:#define __INT_LEAST32_TYPE__ int
107 // MIPS32BE:#define __INT_LEAST64_FMTd__ "lld"
108 // MIPS32BE:#define __INT_LEAST64_FMTi__ "lli"
109 // MIPS32BE:#define __INT_LEAST64_MAX__ 9223372036854775807LL
110 // MIPS32BE:#define __INT_LEAST64_TYPE__ long long int
111 // MIPS32BE:#define __INT_LEAST8_FMTd__ "hhd"
112 // MIPS32BE:#define __INT_LEAST8_FMTi__ "hhi"
113 // MIPS32BE:#define __INT_LEAST8_MAX__ 127
114 // MIPS32BE:#define __INT_LEAST8_TYPE__ signed char
115 // MIPS32BE:#define __INT_MAX__ 2147483647
116 // MIPS32BE:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
117 // MIPS32BE:#define __LDBL_DIG__ 15
118 // MIPS32BE:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
119 // MIPS32BE:#define __LDBL_HAS_DENORM__ 1
120 // MIPS32BE:#define __LDBL_HAS_INFINITY__ 1
121 // MIPS32BE:#define __LDBL_HAS_QUIET_NAN__ 1
122 // MIPS32BE:#define __LDBL_MANT_DIG__ 53
123 // MIPS32BE:#define __LDBL_MAX_10_EXP__ 308
124 // MIPS32BE:#define __LDBL_MAX_EXP__ 1024
125 // MIPS32BE:#define __LDBL_MAX__ 1.7976931348623157e+308L
126 // MIPS32BE:#define __LDBL_MIN_10_EXP__ (-307)
127 // MIPS32BE:#define __LDBL_MIN_EXP__ (-1021)
128 // MIPS32BE:#define __LDBL_MIN__ 2.2250738585072014e-308L
129 // MIPS32BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
130 // MIPS32BE:#define __LONG_MAX__ 2147483647L
131 // MIPS32BE-NOT:#define __LP64__
132 // MIPS32BE:#define __MIPSEB 1
133 // MIPS32BE:#define __MIPSEB__ 1
134 // MIPS32BE:#define __POINTER_WIDTH__ 32
135 // MIPS32BE:#define __PRAGMA_REDEFINE_EXTNAME 1
136 // MIPS32BE:#define __PTRDIFF_TYPE__ int
137 // MIPS32BE:#define __PTRDIFF_WIDTH__ 32
138 // MIPS32BE:#define __REGISTER_PREFIX__
139 // MIPS32BE:#define __SCHAR_MAX__ 127
140 // MIPS32BE:#define __SHRT_MAX__ 32767
141 // MIPS32BE:#define __SIG_ATOMIC_MAX__ 2147483647
142 // MIPS32BE:#define __SIG_ATOMIC_WIDTH__ 32
143 // MIPS32BE:#define __SIZEOF_DOUBLE__ 8
144 // MIPS32BE:#define __SIZEOF_FLOAT__ 4
145 // MIPS32BE:#define __SIZEOF_INT__ 4
146 // MIPS32BE:#define __SIZEOF_LONG_DOUBLE__ 8
147 // MIPS32BE:#define __SIZEOF_LONG_LONG__ 8
148 // MIPS32BE:#define __SIZEOF_LONG__ 4
149 // MIPS32BE:#define __SIZEOF_POINTER__ 4
150 // MIPS32BE:#define __SIZEOF_PTRDIFF_T__ 4
151 // MIPS32BE:#define __SIZEOF_SHORT__ 2
152 // MIPS32BE:#define __SIZEOF_SIZE_T__ 4
153 // MIPS32BE:#define __SIZEOF_WCHAR_T__ 4
154 // MIPS32BE:#define __SIZEOF_WINT_T__ 4
155 // MIPS32BE:#define __SIZE_MAX__ 4294967295U
156 // MIPS32BE:#define __SIZE_TYPE__ unsigned int
157 // MIPS32BE:#define __SIZE_WIDTH__ 32
158 // MIPS32BE-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 8U
159 // MIPS32BE:#define __STDC_HOSTED__ 0
160 // MIPS32BE-C:#define __STDC_VERSION__ 201710L
161 // MIPS32BE:#define __STDC__ 1
162 // MIPS32BE:#define __UINT16_C_SUFFIX__
163 // MIPS32BE:#define __UINT16_MAX__ 65535
164 // MIPS32BE:#define __UINT16_TYPE__ unsigned short
165 // MIPS32BE:#define __UINT32_C_SUFFIX__ U
166 // MIPS32BE:#define __UINT32_MAX__ 4294967295U
167 // MIPS32BE:#define __UINT32_TYPE__ unsigned int
168 // MIPS32BE:#define __UINT64_C_SUFFIX__ ULL
169 // MIPS32BE:#define __UINT64_MAX__ 18446744073709551615ULL
170 // MIPS32BE:#define __UINT64_TYPE__ long long unsigned int
171 // MIPS32BE:#define __UINT8_C_SUFFIX__
172 // MIPS32BE:#define __UINT8_MAX__ 255
173 // MIPS32BE:#define __UINT8_TYPE__ unsigned char
174 // MIPS32BE:#define __UINTMAX_C_SUFFIX__ ULL
175 // MIPS32BE:#define __UINTMAX_MAX__ 18446744073709551615ULL
176 // MIPS32BE:#define __UINTMAX_TYPE__ long long unsigned int
177 // MIPS32BE:#define __UINTMAX_WIDTH__ 64
178 // MIPS32BE:#define __UINTPTR_MAX__ 4294967295UL
179 // MIPS32BE:#define __UINTPTR_TYPE__ long unsigned int
180 // MIPS32BE:#define __UINTPTR_WIDTH__ 32
181 // MIPS32BE:#define __UINT_FAST16_MAX__ 65535
182 // MIPS32BE:#define __UINT_FAST16_TYPE__ unsigned short
183 // MIPS32BE:#define __UINT_FAST32_MAX__ 4294967295U
184 // MIPS32BE:#define __UINT_FAST32_TYPE__ unsigned int
185 // MIPS32BE:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
186 // MIPS32BE:#define __UINT_FAST64_TYPE__ long long unsigned int
187 // MIPS32BE:#define __UINT_FAST8_MAX__ 255
188 // MIPS32BE:#define __UINT_FAST8_TYPE__ unsigned char
189 // MIPS32BE:#define __UINT_LEAST16_MAX__ 65535
190 // MIPS32BE:#define __UINT_LEAST16_TYPE__ unsigned short
191 // MIPS32BE:#define __UINT_LEAST32_MAX__ 4294967295U
192 // MIPS32BE:#define __UINT_LEAST32_TYPE__ unsigned int
193 // MIPS32BE:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
194 // MIPS32BE:#define __UINT_LEAST64_TYPE__ long long unsigned int
195 // MIPS32BE:#define __UINT_LEAST8_MAX__ 255
196 // MIPS32BE:#define __UINT_LEAST8_TYPE__ unsigned char
197 // MIPS32BE:#define __USER_LABEL_PREFIX__
198 // MIPS32BE:#define __WCHAR_MAX__ 2147483647
199 // MIPS32BE:#define __WCHAR_TYPE__ int
200 // MIPS32BE:#define __WCHAR_WIDTH__ 32
201 // MIPS32BE:#define __WINT_TYPE__ int
202 // MIPS32BE:#define __WINT_WIDTH__ 32
203 // MIPS32BE:#define __clang__ 1
204 // MIPS32BE:#define __llvm__ 1
205 // MIPS32BE:#define __mips 32
206 // MIPS32BE:#define __mips__ 1
207 // MIPS32BE:#define __mips_abicalls 1
208 // MIPS32BE:#define __mips_fpr 0
209 // MIPS32BE:#define __mips_hard_float 1
210 // MIPS32BE:#define __mips_o32 1
211 // MIPS32BE:#define _mips 1
212 // MIPS32BE:#define mips 1
213 
214 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mipsel-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS32EL %s
215 //
216 // MIPS32EL:#define MIPSEL 1
217 // MIPS32EL:#define _ABIO32 1
218 // MIPS32EL-NOT:#define _LP64
219 // MIPS32EL:#define _MIPSEL 1
220 // MIPS32EL:#define _MIPS_ARCH "mips32r2"
221 // MIPS32EL:#define _MIPS_ARCH_MIPS32R2 1
222 // MIPS32EL:#define _MIPS_FPSET 16
223 // MIPS32EL:#define _MIPS_SIM _ABIO32
224 // MIPS32EL:#define _MIPS_SZINT 32
225 // MIPS32EL:#define _MIPS_SZLONG 32
226 // MIPS32EL:#define _MIPS_SZPTR 32
227 // MIPS32EL:#define __BIGGEST_ALIGNMENT__ 8
228 // MIPS32EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
229 // MIPS32EL:#define __CHAR16_TYPE__ unsigned short
230 // MIPS32EL:#define __CHAR32_TYPE__ unsigned int
231 // MIPS32EL:#define __CHAR_BIT__ 8
232 // MIPS32EL:#define __CONSTANT_CFSTRINGS__ 1
233 // MIPS32EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
234 // MIPS32EL:#define __DBL_DIG__ 15
235 // MIPS32EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
236 // MIPS32EL:#define __DBL_HAS_DENORM__ 1
237 // MIPS32EL:#define __DBL_HAS_INFINITY__ 1
238 // MIPS32EL:#define __DBL_HAS_QUIET_NAN__ 1
239 // MIPS32EL:#define __DBL_MANT_DIG__ 53
240 // MIPS32EL:#define __DBL_MAX_10_EXP__ 308
241 // MIPS32EL:#define __DBL_MAX_EXP__ 1024
242 // MIPS32EL:#define __DBL_MAX__ 1.7976931348623157e+308
243 // MIPS32EL:#define __DBL_MIN_10_EXP__ (-307)
244 // MIPS32EL:#define __DBL_MIN_EXP__ (-1021)
245 // MIPS32EL:#define __DBL_MIN__ 2.2250738585072014e-308
246 // MIPS32EL:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
247 // MIPS32EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
248 // MIPS32EL:#define __FLT_DIG__ 6
249 // MIPS32EL:#define __FLT_EPSILON__ 1.19209290e-7F
250 // MIPS32EL:#define __FLT_EVAL_METHOD__ 0
251 // MIPS32EL:#define __FLT_HAS_DENORM__ 1
252 // MIPS32EL:#define __FLT_HAS_INFINITY__ 1
253 // MIPS32EL:#define __FLT_HAS_QUIET_NAN__ 1
254 // MIPS32EL:#define __FLT_MANT_DIG__ 24
255 // MIPS32EL:#define __FLT_MAX_10_EXP__ 38
256 // MIPS32EL:#define __FLT_MAX_EXP__ 128
257 // MIPS32EL:#define __FLT_MAX__ 3.40282347e+38F
258 // MIPS32EL:#define __FLT_MIN_10_EXP__ (-37)
259 // MIPS32EL:#define __FLT_MIN_EXP__ (-125)
260 // MIPS32EL:#define __FLT_MIN__ 1.17549435e-38F
261 // MIPS32EL:#define __FLT_RADIX__ 2
262 // MIPS32EL:#define __INT16_C_SUFFIX__
263 // MIPS32EL:#define __INT16_FMTd__ "hd"
264 // MIPS32EL:#define __INT16_FMTi__ "hi"
265 // MIPS32EL:#define __INT16_MAX__ 32767
266 // MIPS32EL:#define __INT16_TYPE__ short
267 // MIPS32EL:#define __INT32_C_SUFFIX__
268 // MIPS32EL:#define __INT32_FMTd__ "d"
269 // MIPS32EL:#define __INT32_FMTi__ "i"
270 // MIPS32EL:#define __INT32_MAX__ 2147483647
271 // MIPS32EL:#define __INT32_TYPE__ int
272 // MIPS32EL:#define __INT64_C_SUFFIX__ LL
273 // MIPS32EL:#define __INT64_FMTd__ "lld"
274 // MIPS32EL:#define __INT64_FMTi__ "lli"
275 // MIPS32EL:#define __INT64_MAX__ 9223372036854775807LL
276 // MIPS32EL:#define __INT64_TYPE__ long long int
277 // MIPS32EL:#define __INT8_C_SUFFIX__
278 // MIPS32EL:#define __INT8_FMTd__ "hhd"
279 // MIPS32EL:#define __INT8_FMTi__ "hhi"
280 // MIPS32EL:#define __INT8_MAX__ 127
281 // MIPS32EL:#define __INT8_TYPE__ signed char
282 // MIPS32EL:#define __INTMAX_C_SUFFIX__ LL
283 // MIPS32EL:#define __INTMAX_FMTd__ "lld"
284 // MIPS32EL:#define __INTMAX_FMTi__ "lli"
285 // MIPS32EL:#define __INTMAX_MAX__ 9223372036854775807LL
286 // MIPS32EL:#define __INTMAX_TYPE__ long long int
287 // MIPS32EL:#define __INTMAX_WIDTH__ 64
288 // MIPS32EL:#define __INTPTR_FMTd__ "ld"
289 // MIPS32EL:#define __INTPTR_FMTi__ "li"
290 // MIPS32EL:#define __INTPTR_MAX__ 2147483647L
291 // MIPS32EL:#define __INTPTR_TYPE__ long int
292 // MIPS32EL:#define __INTPTR_WIDTH__ 32
293 // MIPS32EL:#define __INT_FAST16_FMTd__ "hd"
294 // MIPS32EL:#define __INT_FAST16_FMTi__ "hi"
295 // MIPS32EL:#define __INT_FAST16_MAX__ 32767
296 // MIPS32EL:#define __INT_FAST16_TYPE__ short
297 // MIPS32EL:#define __INT_FAST32_FMTd__ "d"
298 // MIPS32EL:#define __INT_FAST32_FMTi__ "i"
299 // MIPS32EL:#define __INT_FAST32_MAX__ 2147483647
300 // MIPS32EL:#define __INT_FAST32_TYPE__ int
301 // MIPS32EL:#define __INT_FAST64_FMTd__ "lld"
302 // MIPS32EL:#define __INT_FAST64_FMTi__ "lli"
303 // MIPS32EL:#define __INT_FAST64_MAX__ 9223372036854775807LL
304 // MIPS32EL:#define __INT_FAST64_TYPE__ long long int
305 // MIPS32EL:#define __INT_FAST8_FMTd__ "hhd"
306 // MIPS32EL:#define __INT_FAST8_FMTi__ "hhi"
307 // MIPS32EL:#define __INT_FAST8_MAX__ 127
308 // MIPS32EL:#define __INT_FAST8_TYPE__ signed char
309 // MIPS32EL:#define __INT_LEAST16_FMTd__ "hd"
310 // MIPS32EL:#define __INT_LEAST16_FMTi__ "hi"
311 // MIPS32EL:#define __INT_LEAST16_MAX__ 32767
312 // MIPS32EL:#define __INT_LEAST16_TYPE__ short
313 // MIPS32EL:#define __INT_LEAST32_FMTd__ "d"
314 // MIPS32EL:#define __INT_LEAST32_FMTi__ "i"
315 // MIPS32EL:#define __INT_LEAST32_MAX__ 2147483647
316 // MIPS32EL:#define __INT_LEAST32_TYPE__ int
317 // MIPS32EL:#define __INT_LEAST64_FMTd__ "lld"
318 // MIPS32EL:#define __INT_LEAST64_FMTi__ "lli"
319 // MIPS32EL:#define __INT_LEAST64_MAX__ 9223372036854775807LL
320 // MIPS32EL:#define __INT_LEAST64_TYPE__ long long int
321 // MIPS32EL:#define __INT_LEAST8_FMTd__ "hhd"
322 // MIPS32EL:#define __INT_LEAST8_FMTi__ "hhi"
323 // MIPS32EL:#define __INT_LEAST8_MAX__ 127
324 // MIPS32EL:#define __INT_LEAST8_TYPE__ signed char
325 // MIPS32EL:#define __INT_MAX__ 2147483647
326 // MIPS32EL:#define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
327 // MIPS32EL:#define __LDBL_DIG__ 15
328 // MIPS32EL:#define __LDBL_EPSILON__ 2.2204460492503131e-16L
329 // MIPS32EL:#define __LDBL_HAS_DENORM__ 1
330 // MIPS32EL:#define __LDBL_HAS_INFINITY__ 1
331 // MIPS32EL:#define __LDBL_HAS_QUIET_NAN__ 1
332 // MIPS32EL:#define __LDBL_MANT_DIG__ 53
333 // MIPS32EL:#define __LDBL_MAX_10_EXP__ 308
334 // MIPS32EL:#define __LDBL_MAX_EXP__ 1024
335 // MIPS32EL:#define __LDBL_MAX__ 1.7976931348623157e+308L
336 // MIPS32EL:#define __LDBL_MIN_10_EXP__ (-307)
337 // MIPS32EL:#define __LDBL_MIN_EXP__ (-1021)
338 // MIPS32EL:#define __LDBL_MIN__ 2.2250738585072014e-308L
339 // MIPS32EL:#define __LITTLE_ENDIAN__ 1
340 // MIPS32EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
341 // MIPS32EL:#define __LONG_MAX__ 2147483647L
342 // MIPS32EL-NOT:#define __LP64__
343 // MIPS32EL:#define __MIPSEL 1
344 // MIPS32EL:#define __MIPSEL__ 1
345 // MIPS32EL:#define __POINTER_WIDTH__ 32
346 // MIPS32EL:#define __PRAGMA_REDEFINE_EXTNAME 1
347 // MIPS32EL:#define __PTRDIFF_TYPE__ int
348 // MIPS32EL:#define __PTRDIFF_WIDTH__ 32
349 // MIPS32EL:#define __REGISTER_PREFIX__
350 // MIPS32EL:#define __SCHAR_MAX__ 127
351 // MIPS32EL:#define __SHRT_MAX__ 32767
352 // MIPS32EL:#define __SIG_ATOMIC_MAX__ 2147483647
353 // MIPS32EL:#define __SIG_ATOMIC_WIDTH__ 32
354 // MIPS32EL:#define __SIZEOF_DOUBLE__ 8
355 // MIPS32EL:#define __SIZEOF_FLOAT__ 4
356 // MIPS32EL:#define __SIZEOF_INT__ 4
357 // MIPS32EL:#define __SIZEOF_LONG_DOUBLE__ 8
358 // MIPS32EL:#define __SIZEOF_LONG_LONG__ 8
359 // MIPS32EL:#define __SIZEOF_LONG__ 4
360 // MIPS32EL:#define __SIZEOF_POINTER__ 4
361 // MIPS32EL:#define __SIZEOF_PTRDIFF_T__ 4
362 // MIPS32EL:#define __SIZEOF_SHORT__ 2
363 // MIPS32EL:#define __SIZEOF_SIZE_T__ 4
364 // MIPS32EL:#define __SIZEOF_WCHAR_T__ 4
365 // MIPS32EL:#define __SIZEOF_WINT_T__ 4
366 // MIPS32EL:#define __SIZE_MAX__ 4294967295U
367 // MIPS32EL:#define __SIZE_TYPE__ unsigned int
368 // MIPS32EL:#define __SIZE_WIDTH__ 32
369 // MIPS32EL:#define __UINT16_C_SUFFIX__
370 // MIPS32EL:#define __UINT16_MAX__ 65535
371 // MIPS32EL:#define __UINT16_TYPE__ unsigned short
372 // MIPS32EL:#define __UINT32_C_SUFFIX__ U
373 // MIPS32EL:#define __UINT32_MAX__ 4294967295U
374 // MIPS32EL:#define __UINT32_TYPE__ unsigned int
375 // MIPS32EL:#define __UINT64_C_SUFFIX__ ULL
376 // MIPS32EL:#define __UINT64_MAX__ 18446744073709551615ULL
377 // MIPS32EL:#define __UINT64_TYPE__ long long unsigned int
378 // MIPS32EL:#define __UINT8_C_SUFFIX__
379 // MIPS32EL:#define __UINT8_MAX__ 255
380 // MIPS32EL:#define __UINT8_TYPE__ unsigned char
381 // MIPS32EL:#define __UINTMAX_C_SUFFIX__ ULL
382 // MIPS32EL:#define __UINTMAX_MAX__ 18446744073709551615ULL
383 // MIPS32EL:#define __UINTMAX_TYPE__ long long unsigned int
384 // MIPS32EL:#define __UINTMAX_WIDTH__ 64
385 // MIPS32EL:#define __UINTPTR_MAX__ 4294967295UL
386 // MIPS32EL:#define __UINTPTR_TYPE__ long unsigned int
387 // MIPS32EL:#define __UINTPTR_WIDTH__ 32
388 // MIPS32EL:#define __UINT_FAST16_MAX__ 65535
389 // MIPS32EL:#define __UINT_FAST16_TYPE__ unsigned short
390 // MIPS32EL:#define __UINT_FAST32_MAX__ 4294967295U
391 // MIPS32EL:#define __UINT_FAST32_TYPE__ unsigned int
392 // MIPS32EL:#define __UINT_FAST64_MAX__ 18446744073709551615ULL
393 // MIPS32EL:#define __UINT_FAST64_TYPE__ long long unsigned int
394 // MIPS32EL:#define __UINT_FAST8_MAX__ 255
395 // MIPS32EL:#define __UINT_FAST8_TYPE__ unsigned char
396 // MIPS32EL:#define __UINT_LEAST16_MAX__ 65535
397 // MIPS32EL:#define __UINT_LEAST16_TYPE__ unsigned short
398 // MIPS32EL:#define __UINT_LEAST32_MAX__ 4294967295U
399 // MIPS32EL:#define __UINT_LEAST32_TYPE__ unsigned int
400 // MIPS32EL:#define __UINT_LEAST64_MAX__ 18446744073709551615ULL
401 // MIPS32EL:#define __UINT_LEAST64_TYPE__ long long unsigned int
402 // MIPS32EL:#define __UINT_LEAST8_MAX__ 255
403 // MIPS32EL:#define __UINT_LEAST8_TYPE__ unsigned char
404 // MIPS32EL:#define __USER_LABEL_PREFIX__
405 // MIPS32EL:#define __WCHAR_MAX__ 2147483647
406 // MIPS32EL:#define __WCHAR_TYPE__ int
407 // MIPS32EL:#define __WCHAR_WIDTH__ 32
408 // MIPS32EL:#define __WINT_TYPE__ int
409 // MIPS32EL:#define __WINT_WIDTH__ 32
410 // MIPS32EL:#define __clang__ 1
411 // MIPS32EL:#define __llvm__ 1
412 // MIPS32EL:#define __mips 32
413 // MIPS32EL:#define __mips__ 1
414 // MIPS32EL:#define __mips_abicalls 1
415 // MIPS32EL:#define __mips_fpr 0
416 // MIPS32EL:#define __mips_hard_float 1
417 // MIPS32EL:#define __mips_o32 1
418 // MIPS32EL:#define _mips 1
419 // MIPS32EL:#define mips 1
420 
421 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 \
422 // RUN:            -triple=mips64-none-none -target-abi n32 < /dev/null \
423 // RUN:   | FileCheck -match-full-lines -check-prefix MIPSN32BE -check-prefix MIPSN32BE-C %s
424 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1 \
425 // RUN:            -triple=mips64-none-none -target-abi n32 < /dev/null \
426 // RUN:   | FileCheck -match-full-lines -check-prefix MIPSN32BE -check-prefix MIPSN32BE-CXX %s
427 //
428 // MIPSN32BE: #define MIPSEB 1
429 // MIPSN32BE: #define _ABIN32 2
430 // MIPSN32BE: #define _ILP32 1
431 // MIPSN32BE: #define _MIPSEB 1
432 // MIPSN32BE: #define _MIPS_ARCH "mips64r2"
433 // MIPSN32BE: #define _MIPS_ARCH_MIPS64R2 1
434 // MIPSN32BE: #define _MIPS_FPSET 32
435 // MIPSN32BE: #define _MIPS_ISA _MIPS_ISA_MIPS64
436 // MIPSN32BE: #define _MIPS_SIM _ABIN32
437 // MIPSN32BE: #define _MIPS_SZINT 32
438 // MIPSN32BE: #define _MIPS_SZLONG 32
439 // MIPSN32BE: #define _MIPS_SZPTR 32
440 // MIPSN32BE: #define __ATOMIC_ACQUIRE 2
441 // MIPSN32BE: #define __ATOMIC_ACQ_REL 4
442 // MIPSN32BE: #define __ATOMIC_CONSUME 1
443 // MIPSN32BE: #define __ATOMIC_RELAXED 0
444 // MIPSN32BE: #define __ATOMIC_RELEASE 3
445 // MIPSN32BE: #define __ATOMIC_SEQ_CST 5
446 // MIPSN32BE: #define __BIG_ENDIAN__ 1
447 // MIPSN32BE: #define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
448 // MIPSN32BE: #define __CHAR16_TYPE__ unsigned short
449 // MIPSN32BE: #define __CHAR32_TYPE__ unsigned int
450 // MIPSN32BE: #define __CHAR_BIT__ 8
451 // MIPSN32BE: #define __CONSTANT_CFSTRINGS__ 1
452 // MIPSN32BE: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
453 // MIPSN32BE: #define __DBL_DIG__ 15
454 // MIPSN32BE: #define __DBL_EPSILON__ 2.2204460492503131e-16
455 // MIPSN32BE: #define __DBL_HAS_DENORM__ 1
456 // MIPSN32BE: #define __DBL_HAS_INFINITY__ 1
457 // MIPSN32BE: #define __DBL_HAS_QUIET_NAN__ 1
458 // MIPSN32BE: #define __DBL_MANT_DIG__ 53
459 // MIPSN32BE: #define __DBL_MAX_10_EXP__ 308
460 // MIPSN32BE: #define __DBL_MAX_EXP__ 1024
461 // MIPSN32BE: #define __DBL_MAX__ 1.7976931348623157e+308
462 // MIPSN32BE: #define __DBL_MIN_10_EXP__ (-307)
463 // MIPSN32BE: #define __DBL_MIN_EXP__ (-1021)
464 // MIPSN32BE: #define __DBL_MIN__ 2.2250738585072014e-308
465 // MIPSN32BE: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
466 // MIPSN32BE: #define __FINITE_MATH_ONLY__ 0
467 // MIPSN32BE: #define __FLT_DENORM_MIN__ 1.40129846e-45F
468 // MIPSN32BE: #define __FLT_DIG__ 6
469 // MIPSN32BE: #define __FLT_EPSILON__ 1.19209290e-7F
470 // MIPSN32BE: #define __FLT_EVAL_METHOD__ 0
471 // MIPSN32BE: #define __FLT_HAS_DENORM__ 1
472 // MIPSN32BE: #define __FLT_HAS_INFINITY__ 1
473 // MIPSN32BE: #define __FLT_HAS_QUIET_NAN__ 1
474 // MIPSN32BE: #define __FLT_MANT_DIG__ 24
475 // MIPSN32BE: #define __FLT_MAX_10_EXP__ 38
476 // MIPSN32BE: #define __FLT_MAX_EXP__ 128
477 // MIPSN32BE: #define __FLT_MAX__ 3.40282347e+38F
478 // MIPSN32BE: #define __FLT_MIN_10_EXP__ (-37)
479 // MIPSN32BE: #define __FLT_MIN_EXP__ (-125)
480 // MIPSN32BE: #define __FLT_MIN__ 1.17549435e-38F
481 // MIPSN32BE: #define __FLT_RADIX__ 2
482 // MIPSN32BE: #define __GCC_ATOMIC_BOOL_LOCK_FREE 2
483 // MIPSN32BE: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
484 // MIPSN32BE: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
485 // MIPSN32BE: #define __GCC_ATOMIC_CHAR_LOCK_FREE 2
486 // MIPSN32BE: #define __GCC_ATOMIC_INT_LOCK_FREE 2
487 // MIPSN32BE: #define __GCC_ATOMIC_LLONG_LOCK_FREE 2
488 // MIPSN32BE: #define __GCC_ATOMIC_LONG_LOCK_FREE 2
489 // MIPSN32BE: #define __GCC_ATOMIC_POINTER_LOCK_FREE 2
490 // MIPSN32BE: #define __GCC_ATOMIC_SHORT_LOCK_FREE 2
491 // MIPSN32BE: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
492 // MIPSN32BE: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
493 // MIPSN32BE: #define __GNUC_MINOR__ 2
494 // MIPSN32BE: #define __GNUC_PATCHLEVEL__ 1
495 // MIPSN32BE-C: #define __GNUC_STDC_INLINE__ 1
496 // MIPSN32BE: #define __GNUC__ 4
497 // MIPSN32BE: #define __GXX_ABI_VERSION 1002
498 // MIPSN32BE: #define __ILP32__ 1
499 // MIPSN32BE: #define __INT16_C_SUFFIX__
500 // MIPSN32BE: #define __INT16_FMTd__ "hd"
501 // MIPSN32BE: #define __INT16_FMTi__ "hi"
502 // MIPSN32BE: #define __INT16_MAX__ 32767
503 // MIPSN32BE: #define __INT16_TYPE__ short
504 // MIPSN32BE: #define __INT32_C_SUFFIX__
505 // MIPSN32BE: #define __INT32_FMTd__ "d"
506 // MIPSN32BE: #define __INT32_FMTi__ "i"
507 // MIPSN32BE: #define __INT32_MAX__ 2147483647
508 // MIPSN32BE: #define __INT32_TYPE__ int
509 // MIPSN32BE: #define __INT64_C_SUFFIX__ LL
510 // MIPSN32BE: #define __INT64_FMTd__ "lld"
511 // MIPSN32BE: #define __INT64_FMTi__ "lli"
512 // MIPSN32BE: #define __INT64_MAX__ 9223372036854775807LL
513 // MIPSN32BE: #define __INT64_TYPE__ long long int
514 // MIPSN32BE: #define __INT8_C_SUFFIX__
515 // MIPSN32BE: #define __INT8_FMTd__ "hhd"
516 // MIPSN32BE: #define __INT8_FMTi__ "hhi"
517 // MIPSN32BE: #define __INT8_MAX__ 127
518 // MIPSN32BE: #define __INT8_TYPE__ signed char
519 // MIPSN32BE: #define __INTMAX_C_SUFFIX__ LL
520 // MIPSN32BE: #define __INTMAX_FMTd__ "lld"
521 // MIPSN32BE: #define __INTMAX_FMTi__ "lli"
522 // MIPSN32BE: #define __INTMAX_MAX__ 9223372036854775807LL
523 // MIPSN32BE: #define __INTMAX_TYPE__ long long int
524 // MIPSN32BE: #define __INTMAX_WIDTH__ 64
525 // MIPSN32BE: #define __INTPTR_FMTd__ "ld"
526 // MIPSN32BE: #define __INTPTR_FMTi__ "li"
527 // MIPSN32BE: #define __INTPTR_MAX__ 2147483647L
528 // MIPSN32BE: #define __INTPTR_TYPE__ long int
529 // MIPSN32BE: #define __INTPTR_WIDTH__ 32
530 // MIPSN32BE: #define __INT_FAST16_FMTd__ "hd"
531 // MIPSN32BE: #define __INT_FAST16_FMTi__ "hi"
532 // MIPSN32BE: #define __INT_FAST16_MAX__ 32767
533 // MIPSN32BE: #define __INT_FAST16_TYPE__ short
534 // MIPSN32BE: #define __INT_FAST32_FMTd__ "d"
535 // MIPSN32BE: #define __INT_FAST32_FMTi__ "i"
536 // MIPSN32BE: #define __INT_FAST32_MAX__ 2147483647
537 // MIPSN32BE: #define __INT_FAST32_TYPE__ int
538 // MIPSN32BE: #define __INT_FAST64_FMTd__ "lld"
539 // MIPSN32BE: #define __INT_FAST64_FMTi__ "lli"
540 // MIPSN32BE: #define __INT_FAST64_MAX__ 9223372036854775807LL
541 // MIPSN32BE: #define __INT_FAST64_TYPE__ long long int
542 // MIPSN32BE: #define __INT_FAST8_FMTd__ "hhd"
543 // MIPSN32BE: #define __INT_FAST8_FMTi__ "hhi"
544 // MIPSN32BE: #define __INT_FAST8_MAX__ 127
545 // MIPSN32BE: #define __INT_FAST8_TYPE__ signed char
546 // MIPSN32BE: #define __INT_LEAST16_FMTd__ "hd"
547 // MIPSN32BE: #define __INT_LEAST16_FMTi__ "hi"
548 // MIPSN32BE: #define __INT_LEAST16_MAX__ 32767
549 // MIPSN32BE: #define __INT_LEAST16_TYPE__ short
550 // MIPSN32BE: #define __INT_LEAST32_FMTd__ "d"
551 // MIPSN32BE: #define __INT_LEAST32_FMTi__ "i"
552 // MIPSN32BE: #define __INT_LEAST32_MAX__ 2147483647
553 // MIPSN32BE: #define __INT_LEAST32_TYPE__ int
554 // MIPSN32BE: #define __INT_LEAST64_FMTd__ "lld"
555 // MIPSN32BE: #define __INT_LEAST64_FMTi__ "lli"
556 // MIPSN32BE: #define __INT_LEAST64_MAX__ 9223372036854775807LL
557 // MIPSN32BE: #define __INT_LEAST64_TYPE__ long long int
558 // MIPSN32BE: #define __INT_LEAST8_FMTd__ "hhd"
559 // MIPSN32BE: #define __INT_LEAST8_FMTi__ "hhi"
560 // MIPSN32BE: #define __INT_LEAST8_MAX__ 127
561 // MIPSN32BE: #define __INT_LEAST8_TYPE__ signed char
562 // MIPSN32BE: #define __INT_MAX__ 2147483647
563 // MIPSN32BE: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
564 // MIPSN32BE: #define __LDBL_DIG__ 33
565 // MIPSN32BE: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
566 // MIPSN32BE: #define __LDBL_HAS_DENORM__ 1
567 // MIPSN32BE: #define __LDBL_HAS_INFINITY__ 1
568 // MIPSN32BE: #define __LDBL_HAS_QUIET_NAN__ 1
569 // MIPSN32BE: #define __LDBL_MANT_DIG__ 113
570 // MIPSN32BE: #define __LDBL_MAX_10_EXP__ 4932
571 // MIPSN32BE: #define __LDBL_MAX_EXP__ 16384
572 // MIPSN32BE: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
573 // MIPSN32BE: #define __LDBL_MIN_10_EXP__ (-4931)
574 // MIPSN32BE: #define __LDBL_MIN_EXP__ (-16381)
575 // MIPSN32BE: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
576 // MIPSN32BE: #define __LONG_LONG_MAX__ 9223372036854775807LL
577 // MIPSN32BE: #define __LONG_MAX__ 2147483647L
578 // MIPSN32BE: #define __MIPSEB 1
579 // MIPSN32BE: #define __MIPSEB__ 1
580 // MIPSN32BE: #define __NO_INLINE__ 1
581 // MIPSN32BE: #define __ORDER_BIG_ENDIAN__ 4321
582 // MIPSN32BE: #define __ORDER_LITTLE_ENDIAN__ 1234
583 // MIPSN32BE: #define __ORDER_PDP_ENDIAN__ 3412
584 // MIPSN32BE: #define __POINTER_WIDTH__ 32
585 // MIPSN32BE: #define __PRAGMA_REDEFINE_EXTNAME 1
586 // MIPSN32BE: #define __PTRDIFF_FMTd__ "d"
587 // MIPSN32BE: #define __PTRDIFF_FMTi__ "i"
588 // MIPSN32BE: #define __PTRDIFF_MAX__ 2147483647
589 // MIPSN32BE: #define __PTRDIFF_TYPE__ int
590 // MIPSN32BE: #define __PTRDIFF_WIDTH__ 32
591 // MIPSN32BE: #define __REGISTER_PREFIX__
592 // MIPSN32BE: #define __SCHAR_MAX__ 127
593 // MIPSN32BE: #define __SHRT_MAX__ 32767
594 // MIPSN32BE: #define __SIG_ATOMIC_MAX__ 2147483647
595 // MIPSN32BE: #define __SIG_ATOMIC_WIDTH__ 32
596 // MIPSN32BE: #define __SIZEOF_DOUBLE__ 8
597 // MIPSN32BE: #define __SIZEOF_FLOAT__ 4
598 // MIPSN32BE: #define __SIZEOF_INT__ 4
599 // MIPSN32BE: #define __SIZEOF_LONG_DOUBLE__ 16
600 // MIPSN32BE: #define __SIZEOF_LONG_LONG__ 8
601 // MIPSN32BE: #define __SIZEOF_LONG__ 4
602 // MIPSN32BE: #define __SIZEOF_POINTER__ 4
603 // MIPSN32BE: #define __SIZEOF_PTRDIFF_T__ 4
604 // MIPSN32BE: #define __SIZEOF_SHORT__ 2
605 // MIPSN32BE: #define __SIZEOF_SIZE_T__ 4
606 // MIPSN32BE: #define __SIZEOF_WCHAR_T__ 4
607 // MIPSN32BE: #define __SIZEOF_WINT_T__ 4
608 // MIPSN32BE: #define __SIZE_FMTX__ "X"
609 // MIPSN32BE: #define __SIZE_FMTo__ "o"
610 // MIPSN32BE: #define __SIZE_FMTu__ "u"
611 // MIPSN32BE: #define __SIZE_FMTx__ "x"
612 // MIPSN32BE: #define __SIZE_MAX__ 4294967295U
613 // MIPSN32BE: #define __SIZE_TYPE__ unsigned int
614 // MIPSN32BE: #define __SIZE_WIDTH__ 32
615 // MIPSN32BE-CXX: #define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16U
616 // MIPSN32BE: #define __STDC_HOSTED__ 0
617 // MIPSN32BE: #define __STDC_UTF_16__ 1
618 // MIPSN32BE: #define __STDC_UTF_32__ 1
619 // MIPSN32BE-C: #define __STDC_VERSION__ 201710L
620 // MIPSN32BE: #define __STDC__ 1
621 // MIPSN32BE: #define __UINT16_C_SUFFIX__
622 // MIPSN32BE: #define __UINT16_FMTX__ "hX"
623 // MIPSN32BE: #define __UINT16_FMTo__ "ho"
624 // MIPSN32BE: #define __UINT16_FMTu__ "hu"
625 // MIPSN32BE: #define __UINT16_FMTx__ "hx"
626 // MIPSN32BE: #define __UINT16_MAX__ 65535
627 // MIPSN32BE: #define __UINT16_TYPE__ unsigned short
628 // MIPSN32BE: #define __UINT32_C_SUFFIX__ U
629 // MIPSN32BE: #define __UINT32_FMTX__ "X"
630 // MIPSN32BE: #define __UINT32_FMTo__ "o"
631 // MIPSN32BE: #define __UINT32_FMTu__ "u"
632 // MIPSN32BE: #define __UINT32_FMTx__ "x"
633 // MIPSN32BE: #define __UINT32_MAX__ 4294967295U
634 // MIPSN32BE: #define __UINT32_TYPE__ unsigned int
635 // MIPSN32BE: #define __UINT64_C_SUFFIX__ ULL
636 // MIPSN32BE: #define __UINT64_FMTX__ "llX"
637 // MIPSN32BE: #define __UINT64_FMTo__ "llo"
638 // MIPSN32BE: #define __UINT64_FMTu__ "llu"
639 // MIPSN32BE: #define __UINT64_FMTx__ "llx"
640 // MIPSN32BE: #define __UINT64_MAX__ 18446744073709551615ULL
641 // MIPSN32BE: #define __UINT64_TYPE__ long long unsigned int
642 // MIPSN32BE: #define __UINT8_C_SUFFIX__
643 // MIPSN32BE: #define __UINT8_FMTX__ "hhX"
644 // MIPSN32BE: #define __UINT8_FMTo__ "hho"
645 // MIPSN32BE: #define __UINT8_FMTu__ "hhu"
646 // MIPSN32BE: #define __UINT8_FMTx__ "hhx"
647 // MIPSN32BE: #define __UINT8_MAX__ 255
648 // MIPSN32BE: #define __UINT8_TYPE__ unsigned char
649 // MIPSN32BE: #define __UINTMAX_C_SUFFIX__ ULL
650 // MIPSN32BE: #define __UINTMAX_FMTX__ "llX"
651 // MIPSN32BE: #define __UINTMAX_FMTo__ "llo"
652 // MIPSN32BE: #define __UINTMAX_FMTu__ "llu"
653 // MIPSN32BE: #define __UINTMAX_FMTx__ "llx"
654 // MIPSN32BE: #define __UINTMAX_MAX__ 18446744073709551615ULL
655 // MIPSN32BE: #define __UINTMAX_TYPE__ long long unsigned int
656 // MIPSN32BE: #define __UINTMAX_WIDTH__ 64
657 // MIPSN32BE: #define __UINTPTR_FMTX__ "lX"
658 // MIPSN32BE: #define __UINTPTR_FMTo__ "lo"
659 // MIPSN32BE: #define __UINTPTR_FMTu__ "lu"
660 // MIPSN32BE: #define __UINTPTR_FMTx__ "lx"
661 // MIPSN32BE: #define __UINTPTR_MAX__ 4294967295UL
662 // MIPSN32BE: #define __UINTPTR_TYPE__ long unsigned int
663 // MIPSN32BE: #define __UINTPTR_WIDTH__ 32
664 // MIPSN32BE: #define __UINT_FAST16_FMTX__ "hX"
665 // MIPSN32BE: #define __UINT_FAST16_FMTo__ "ho"
666 // MIPSN32BE: #define __UINT_FAST16_FMTu__ "hu"
667 // MIPSN32BE: #define __UINT_FAST16_FMTx__ "hx"
668 // MIPSN32BE: #define __UINT_FAST16_MAX__ 65535
669 // MIPSN32BE: #define __UINT_FAST16_TYPE__ unsigned short
670 // MIPSN32BE: #define __UINT_FAST32_FMTX__ "X"
671 // MIPSN32BE: #define __UINT_FAST32_FMTo__ "o"
672 // MIPSN32BE: #define __UINT_FAST32_FMTu__ "u"
673 // MIPSN32BE: #define __UINT_FAST32_FMTx__ "x"
674 // MIPSN32BE: #define __UINT_FAST32_MAX__ 4294967295U
675 // MIPSN32BE: #define __UINT_FAST32_TYPE__ unsigned int
676 // MIPSN32BE: #define __UINT_FAST64_FMTX__ "llX"
677 // MIPSN32BE: #define __UINT_FAST64_FMTo__ "llo"
678 // MIPSN32BE: #define __UINT_FAST64_FMTu__ "llu"
679 // MIPSN32BE: #define __UINT_FAST64_FMTx__ "llx"
680 // MIPSN32BE: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
681 // MIPSN32BE: #define __UINT_FAST64_TYPE__ long long unsigned int
682 // MIPSN32BE: #define __UINT_FAST8_FMTX__ "hhX"
683 // MIPSN32BE: #define __UINT_FAST8_FMTo__ "hho"
684 // MIPSN32BE: #define __UINT_FAST8_FMTu__ "hhu"
685 // MIPSN32BE: #define __UINT_FAST8_FMTx__ "hhx"
686 // MIPSN32BE: #define __UINT_FAST8_MAX__ 255
687 // MIPSN32BE: #define __UINT_FAST8_TYPE__ unsigned char
688 // MIPSN32BE: #define __UINT_LEAST16_FMTX__ "hX"
689 // MIPSN32BE: #define __UINT_LEAST16_FMTo__ "ho"
690 // MIPSN32BE: #define __UINT_LEAST16_FMTu__ "hu"
691 // MIPSN32BE: #define __UINT_LEAST16_FMTx__ "hx"
692 // MIPSN32BE: #define __UINT_LEAST16_MAX__ 65535
693 // MIPSN32BE: #define __UINT_LEAST16_TYPE__ unsigned short
694 // MIPSN32BE: #define __UINT_LEAST32_FMTX__ "X"
695 // MIPSN32BE: #define __UINT_LEAST32_FMTo__ "o"
696 // MIPSN32BE: #define __UINT_LEAST32_FMTu__ "u"
697 // MIPSN32BE: #define __UINT_LEAST32_FMTx__ "x"
698 // MIPSN32BE: #define __UINT_LEAST32_MAX__ 4294967295U
699 // MIPSN32BE: #define __UINT_LEAST32_TYPE__ unsigned int
700 // MIPSN32BE: #define __UINT_LEAST64_FMTX__ "llX"
701 // MIPSN32BE: #define __UINT_LEAST64_FMTo__ "llo"
702 // MIPSN32BE: #define __UINT_LEAST64_FMTu__ "llu"
703 // MIPSN32BE: #define __UINT_LEAST64_FMTx__ "llx"
704 // MIPSN32BE: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
705 // MIPSN32BE: #define __UINT_LEAST64_TYPE__ long long unsigned int
706 // MIPSN32BE: #define __UINT_LEAST8_FMTX__ "hhX"
707 // MIPSN32BE: #define __UINT_LEAST8_FMTo__ "hho"
708 // MIPSN32BE: #define __UINT_LEAST8_FMTu__ "hhu"
709 // MIPSN32BE: #define __UINT_LEAST8_FMTx__ "hhx"
710 // MIPSN32BE: #define __UINT_LEAST8_MAX__ 255
711 // MIPSN32BE: #define __UINT_LEAST8_TYPE__ unsigned char
712 // MIPSN32BE: #define __USER_LABEL_PREFIX__
713 // MIPSN32BE: #define __WCHAR_MAX__ 2147483647
714 // MIPSN32BE: #define __WCHAR_TYPE__ int
715 // MIPSN32BE: #define __WCHAR_WIDTH__ 32
716 // MIPSN32BE: #define __WINT_TYPE__ int
717 // MIPSN32BE: #define __WINT_WIDTH__ 32
718 // MIPSN32BE: #define __clang__ 1
719 // MIPSN32BE: #define __llvm__ 1
720 // MIPSN32BE: #define __mips 64
721 // MIPSN32BE: #define __mips64 1
722 // MIPSN32BE: #define __mips64__ 1
723 // MIPSN32BE: #define __mips__ 1
724 // MIPSN32BE: #define __mips_abicalls 1
725 // MIPSN32BE: #define __mips_fpr 64
726 // MIPSN32BE: #define __mips_hard_float 1
727 // MIPSN32BE: #define __mips_isa_rev 2
728 // MIPSN32BE: #define __mips_n32 1
729 // MIPSN32BE: #define _mips 1
730 // MIPSN32BE: #define mips 1
731 
732 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 \
733 // RUN:            -triple=mips64el-none-none -target-abi n32 < /dev/null \
734 // RUN:   | FileCheck -match-full-lines -check-prefix MIPSN32EL %s
735 //
736 // MIPSN32EL: #define MIPSEL 1
737 // MIPSN32EL: #define _ABIN32 2
738 // MIPSN32EL: #define _ILP32 1
739 // MIPSN32EL: #define _MIPSEL 1
740 // MIPSN32EL: #define _MIPS_ARCH "mips64r2"
741 // MIPSN32EL: #define _MIPS_ARCH_MIPS64R2 1
742 // MIPSN32EL: #define _MIPS_FPSET 32
743 // MIPSN32EL: #define _MIPS_ISA _MIPS_ISA_MIPS64
744 // MIPSN32EL: #define _MIPS_SIM _ABIN32
745 // MIPSN32EL: #define _MIPS_SZINT 32
746 // MIPSN32EL: #define _MIPS_SZLONG 32
747 // MIPSN32EL: #define _MIPS_SZPTR 32
748 // MIPSN32EL: #define __ATOMIC_ACQUIRE 2
749 // MIPSN32EL: #define __ATOMIC_ACQ_REL 4
750 // MIPSN32EL: #define __ATOMIC_CONSUME 1
751 // MIPSN32EL: #define __ATOMIC_RELAXED 0
752 // MIPSN32EL: #define __ATOMIC_RELEASE 3
753 // MIPSN32EL: #define __ATOMIC_SEQ_CST 5
754 // MIPSN32EL: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
755 // MIPSN32EL: #define __CHAR16_TYPE__ unsigned short
756 // MIPSN32EL: #define __CHAR32_TYPE__ unsigned int
757 // MIPSN32EL: #define __CHAR_BIT__ 8
758 // MIPSN32EL: #define __CONSTANT_CFSTRINGS__ 1
759 // MIPSN32EL: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
760 // MIPSN32EL: #define __DBL_DIG__ 15
761 // MIPSN32EL: #define __DBL_EPSILON__ 2.2204460492503131e-16
762 // MIPSN32EL: #define __DBL_HAS_DENORM__ 1
763 // MIPSN32EL: #define __DBL_HAS_INFINITY__ 1
764 // MIPSN32EL: #define __DBL_HAS_QUIET_NAN__ 1
765 // MIPSN32EL: #define __DBL_MANT_DIG__ 53
766 // MIPSN32EL: #define __DBL_MAX_10_EXP__ 308
767 // MIPSN32EL: #define __DBL_MAX_EXP__ 1024
768 // MIPSN32EL: #define __DBL_MAX__ 1.7976931348623157e+308
769 // MIPSN32EL: #define __DBL_MIN_10_EXP__ (-307)
770 // MIPSN32EL: #define __DBL_MIN_EXP__ (-1021)
771 // MIPSN32EL: #define __DBL_MIN__ 2.2250738585072014e-308
772 // MIPSN32EL: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
773 // MIPSN32EL: #define __FINITE_MATH_ONLY__ 0
774 // MIPSN32EL: #define __FLT_DENORM_MIN__ 1.40129846e-45F
775 // MIPSN32EL: #define __FLT_DIG__ 6
776 // MIPSN32EL: #define __FLT_EPSILON__ 1.19209290e-7F
777 // MIPSN32EL: #define __FLT_EVAL_METHOD__ 0
778 // MIPSN32EL: #define __FLT_HAS_DENORM__ 1
779 // MIPSN32EL: #define __FLT_HAS_INFINITY__ 1
780 // MIPSN32EL: #define __FLT_HAS_QUIET_NAN__ 1
781 // MIPSN32EL: #define __FLT_MANT_DIG__ 24
782 // MIPSN32EL: #define __FLT_MAX_10_EXP__ 38
783 // MIPSN32EL: #define __FLT_MAX_EXP__ 128
784 // MIPSN32EL: #define __FLT_MAX__ 3.40282347e+38F
785 // MIPSN32EL: #define __FLT_MIN_10_EXP__ (-37)
786 // MIPSN32EL: #define __FLT_MIN_EXP__ (-125)
787 // MIPSN32EL: #define __FLT_MIN__ 1.17549435e-38F
788 // MIPSN32EL: #define __FLT_RADIX__ 2
789 // MIPSN32EL: #define __GCC_ATOMIC_BOOL_LOCK_FREE 2
790 // MIPSN32EL: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
791 // MIPSN32EL: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
792 // MIPSN32EL: #define __GCC_ATOMIC_CHAR_LOCK_FREE 2
793 // MIPSN32EL: #define __GCC_ATOMIC_INT_LOCK_FREE 2
794 // MIPSN32EL: #define __GCC_ATOMIC_LLONG_LOCK_FREE 2
795 // MIPSN32EL: #define __GCC_ATOMIC_LONG_LOCK_FREE 2
796 // MIPSN32EL: #define __GCC_ATOMIC_POINTER_LOCK_FREE 2
797 // MIPSN32EL: #define __GCC_ATOMIC_SHORT_LOCK_FREE 2
798 // MIPSN32EL: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
799 // MIPSN32EL: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
800 // MIPSN32EL: #define __GNUC_MINOR__ 2
801 // MIPSN32EL: #define __GNUC_PATCHLEVEL__ 1
802 // MIPSN32EL: #define __GNUC_STDC_INLINE__ 1
803 // MIPSN32EL: #define __GNUC__ 4
804 // MIPSN32EL: #define __GXX_ABI_VERSION 1002
805 // MIPSN32EL: #define __ILP32__ 1
806 // MIPSN32EL: #define __INT16_C_SUFFIX__
807 // MIPSN32EL: #define __INT16_FMTd__ "hd"
808 // MIPSN32EL: #define __INT16_FMTi__ "hi"
809 // MIPSN32EL: #define __INT16_MAX__ 32767
810 // MIPSN32EL: #define __INT16_TYPE__ short
811 // MIPSN32EL: #define __INT32_C_SUFFIX__
812 // MIPSN32EL: #define __INT32_FMTd__ "d"
813 // MIPSN32EL: #define __INT32_FMTi__ "i"
814 // MIPSN32EL: #define __INT32_MAX__ 2147483647
815 // MIPSN32EL: #define __INT32_TYPE__ int
816 // MIPSN32EL: #define __INT64_C_SUFFIX__ LL
817 // MIPSN32EL: #define __INT64_FMTd__ "lld"
818 // MIPSN32EL: #define __INT64_FMTi__ "lli"
819 // MIPSN32EL: #define __INT64_MAX__ 9223372036854775807LL
820 // MIPSN32EL: #define __INT64_TYPE__ long long int
821 // MIPSN32EL: #define __INT8_C_SUFFIX__
822 // MIPSN32EL: #define __INT8_FMTd__ "hhd"
823 // MIPSN32EL: #define __INT8_FMTi__ "hhi"
824 // MIPSN32EL: #define __INT8_MAX__ 127
825 // MIPSN32EL: #define __INT8_TYPE__ signed char
826 // MIPSN32EL: #define __INTMAX_C_SUFFIX__ LL
827 // MIPSN32EL: #define __INTMAX_FMTd__ "lld"
828 // MIPSN32EL: #define __INTMAX_FMTi__ "lli"
829 // MIPSN32EL: #define __INTMAX_MAX__ 9223372036854775807LL
830 // MIPSN32EL: #define __INTMAX_TYPE__ long long int
831 // MIPSN32EL: #define __INTMAX_WIDTH__ 64
832 // MIPSN32EL: #define __INTPTR_FMTd__ "ld"
833 // MIPSN32EL: #define __INTPTR_FMTi__ "li"
834 // MIPSN32EL: #define __INTPTR_MAX__ 2147483647L
835 // MIPSN32EL: #define __INTPTR_TYPE__ long int
836 // MIPSN32EL: #define __INTPTR_WIDTH__ 32
837 // MIPSN32EL: #define __INT_FAST16_FMTd__ "hd"
838 // MIPSN32EL: #define __INT_FAST16_FMTi__ "hi"
839 // MIPSN32EL: #define __INT_FAST16_MAX__ 32767
840 // MIPSN32EL: #define __INT_FAST16_TYPE__ short
841 // MIPSN32EL: #define __INT_FAST32_FMTd__ "d"
842 // MIPSN32EL: #define __INT_FAST32_FMTi__ "i"
843 // MIPSN32EL: #define __INT_FAST32_MAX__ 2147483647
844 // MIPSN32EL: #define __INT_FAST32_TYPE__ int
845 // MIPSN32EL: #define __INT_FAST64_FMTd__ "lld"
846 // MIPSN32EL: #define __INT_FAST64_FMTi__ "lli"
847 // MIPSN32EL: #define __INT_FAST64_MAX__ 9223372036854775807LL
848 // MIPSN32EL: #define __INT_FAST64_TYPE__ long long int
849 // MIPSN32EL: #define __INT_FAST8_FMTd__ "hhd"
850 // MIPSN32EL: #define __INT_FAST8_FMTi__ "hhi"
851 // MIPSN32EL: #define __INT_FAST8_MAX__ 127
852 // MIPSN32EL: #define __INT_FAST8_TYPE__ signed char
853 // MIPSN32EL: #define __INT_LEAST16_FMTd__ "hd"
854 // MIPSN32EL: #define __INT_LEAST16_FMTi__ "hi"
855 // MIPSN32EL: #define __INT_LEAST16_MAX__ 32767
856 // MIPSN32EL: #define __INT_LEAST16_TYPE__ short
857 // MIPSN32EL: #define __INT_LEAST32_FMTd__ "d"
858 // MIPSN32EL: #define __INT_LEAST32_FMTi__ "i"
859 // MIPSN32EL: #define __INT_LEAST32_MAX__ 2147483647
860 // MIPSN32EL: #define __INT_LEAST32_TYPE__ int
861 // MIPSN32EL: #define __INT_LEAST64_FMTd__ "lld"
862 // MIPSN32EL: #define __INT_LEAST64_FMTi__ "lli"
863 // MIPSN32EL: #define __INT_LEAST64_MAX__ 9223372036854775807LL
864 // MIPSN32EL: #define __INT_LEAST64_TYPE__ long long int
865 // MIPSN32EL: #define __INT_LEAST8_FMTd__ "hhd"
866 // MIPSN32EL: #define __INT_LEAST8_FMTi__ "hhi"
867 // MIPSN32EL: #define __INT_LEAST8_MAX__ 127
868 // MIPSN32EL: #define __INT_LEAST8_TYPE__ signed char
869 // MIPSN32EL: #define __INT_MAX__ 2147483647
870 // MIPSN32EL: #define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
871 // MIPSN32EL: #define __LDBL_DIG__ 33
872 // MIPSN32EL: #define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
873 // MIPSN32EL: #define __LDBL_HAS_DENORM__ 1
874 // MIPSN32EL: #define __LDBL_HAS_INFINITY__ 1
875 // MIPSN32EL: #define __LDBL_HAS_QUIET_NAN__ 1
876 // MIPSN32EL: #define __LDBL_MANT_DIG__ 113
877 // MIPSN32EL: #define __LDBL_MAX_10_EXP__ 4932
878 // MIPSN32EL: #define __LDBL_MAX_EXP__ 16384
879 // MIPSN32EL: #define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
880 // MIPSN32EL: #define __LDBL_MIN_10_EXP__ (-4931)
881 // MIPSN32EL: #define __LDBL_MIN_EXP__ (-16381)
882 // MIPSN32EL: #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
883 // MIPSN32EL: #define __LITTLE_ENDIAN__ 1
884 // MIPSN32EL: #define __LONG_LONG_MAX__ 9223372036854775807LL
885 // MIPSN32EL: #define __LONG_MAX__ 2147483647L
886 // MIPSN32EL: #define __MIPSEL 1
887 // MIPSN32EL: #define __MIPSEL__ 1
888 // MIPSN32EL: #define __NO_INLINE__ 1
889 // MIPSN32EL: #define __ORDER_BIG_ENDIAN__ 4321
890 // MIPSN32EL: #define __ORDER_LITTLE_ENDIAN__ 1234
891 // MIPSN32EL: #define __ORDER_PDP_ENDIAN__ 3412
892 // MIPSN32EL: #define __POINTER_WIDTH__ 32
893 // MIPSN32EL: #define __PRAGMA_REDEFINE_EXTNAME 1
894 // MIPSN32EL: #define __PTRDIFF_FMTd__ "d"
895 // MIPSN32EL: #define __PTRDIFF_FMTi__ "i"
896 // MIPSN32EL: #define __PTRDIFF_MAX__ 2147483647
897 // MIPSN32EL: #define __PTRDIFF_TYPE__ int
898 // MIPSN32EL: #define __PTRDIFF_WIDTH__ 32
899 // MIPSN32EL: #define __REGISTER_PREFIX__
900 // MIPSN32EL: #define __SCHAR_MAX__ 127
901 // MIPSN32EL: #define __SHRT_MAX__ 32767
902 // MIPSN32EL: #define __SIG_ATOMIC_MAX__ 2147483647
903 // MIPSN32EL: #define __SIG_ATOMIC_WIDTH__ 32
904 // MIPSN32EL: #define __SIZEOF_DOUBLE__ 8
905 // MIPSN32EL: #define __SIZEOF_FLOAT__ 4
906 // MIPSN32EL: #define __SIZEOF_INT__ 4
907 // MIPSN32EL: #define __SIZEOF_LONG_DOUBLE__ 16
908 // MIPSN32EL: #define __SIZEOF_LONG_LONG__ 8
909 // MIPSN32EL: #define __SIZEOF_LONG__ 4
910 // MIPSN32EL: #define __SIZEOF_POINTER__ 4
911 // MIPSN32EL: #define __SIZEOF_PTRDIFF_T__ 4
912 // MIPSN32EL: #define __SIZEOF_SHORT__ 2
913 // MIPSN32EL: #define __SIZEOF_SIZE_T__ 4
914 // MIPSN32EL: #define __SIZEOF_WCHAR_T__ 4
915 // MIPSN32EL: #define __SIZEOF_WINT_T__ 4
916 // MIPSN32EL: #define __SIZE_FMTX__ "X"
917 // MIPSN32EL: #define __SIZE_FMTo__ "o"
918 // MIPSN32EL: #define __SIZE_FMTu__ "u"
919 // MIPSN32EL: #define __SIZE_FMTx__ "x"
920 // MIPSN32EL: #define __SIZE_MAX__ 4294967295U
921 // MIPSN32EL: #define __SIZE_TYPE__ unsigned int
922 // MIPSN32EL: #define __SIZE_WIDTH__ 32
923 // MIPSN32EL: #define __STDC_HOSTED__ 0
924 // MIPSN32EL: #define __STDC_UTF_16__ 1
925 // MIPSN32EL: #define __STDC_UTF_32__ 1
926 // MIPSN32EL: #define __STDC_VERSION__ 201710L
927 // MIPSN32EL: #define __STDC__ 1
928 // MIPSN32EL: #define __UINT16_C_SUFFIX__
929 // MIPSN32EL: #define __UINT16_FMTX__ "hX"
930 // MIPSN32EL: #define __UINT16_FMTo__ "ho"
931 // MIPSN32EL: #define __UINT16_FMTu__ "hu"
932 // MIPSN32EL: #define __UINT16_FMTx__ "hx"
933 // MIPSN32EL: #define __UINT16_MAX__ 65535
934 // MIPSN32EL: #define __UINT16_TYPE__ unsigned short
935 // MIPSN32EL: #define __UINT32_C_SUFFIX__ U
936 // MIPSN32EL: #define __UINT32_FMTX__ "X"
937 // MIPSN32EL: #define __UINT32_FMTo__ "o"
938 // MIPSN32EL: #define __UINT32_FMTu__ "u"
939 // MIPSN32EL: #define __UINT32_FMTx__ "x"
940 // MIPSN32EL: #define __UINT32_MAX__ 4294967295U
941 // MIPSN32EL: #define __UINT32_TYPE__ unsigned int
942 // MIPSN32EL: #define __UINT64_C_SUFFIX__ ULL
943 // MIPSN32EL: #define __UINT64_FMTX__ "llX"
944 // MIPSN32EL: #define __UINT64_FMTo__ "llo"
945 // MIPSN32EL: #define __UINT64_FMTu__ "llu"
946 // MIPSN32EL: #define __UINT64_FMTx__ "llx"
947 // MIPSN32EL: #define __UINT64_MAX__ 18446744073709551615ULL
948 // MIPSN32EL: #define __UINT64_TYPE__ long long unsigned int
949 // MIPSN32EL: #define __UINT8_C_SUFFIX__
950 // MIPSN32EL: #define __UINT8_FMTX__ "hhX"
951 // MIPSN32EL: #define __UINT8_FMTo__ "hho"
952 // MIPSN32EL: #define __UINT8_FMTu__ "hhu"
953 // MIPSN32EL: #define __UINT8_FMTx__ "hhx"
954 // MIPSN32EL: #define __UINT8_MAX__ 255
955 // MIPSN32EL: #define __UINT8_TYPE__ unsigned char
956 // MIPSN32EL: #define __UINTMAX_C_SUFFIX__ ULL
957 // MIPSN32EL: #define __UINTMAX_FMTX__ "llX"
958 // MIPSN32EL: #define __UINTMAX_FMTo__ "llo"
959 // MIPSN32EL: #define __UINTMAX_FMTu__ "llu"
960 // MIPSN32EL: #define __UINTMAX_FMTx__ "llx"
961 // MIPSN32EL: #define __UINTMAX_MAX__ 18446744073709551615ULL
962 // MIPSN32EL: #define __UINTMAX_TYPE__ long long unsigned int
963 // MIPSN32EL: #define __UINTMAX_WIDTH__ 64
964 // MIPSN32EL: #define __UINTPTR_FMTX__ "lX"
965 // MIPSN32EL: #define __UINTPTR_FMTo__ "lo"
966 // MIPSN32EL: #define __UINTPTR_FMTu__ "lu"
967 // MIPSN32EL: #define __UINTPTR_FMTx__ "lx"
968 // MIPSN32EL: #define __UINTPTR_MAX__ 4294967295UL
969 // MIPSN32EL: #define __UINTPTR_TYPE__ long unsigned int
970 // MIPSN32EL: #define __UINTPTR_WIDTH__ 32
971 // MIPSN32EL: #define __UINT_FAST16_FMTX__ "hX"
972 // MIPSN32EL: #define __UINT_FAST16_FMTo__ "ho"
973 // MIPSN32EL: #define __UINT_FAST16_FMTu__ "hu"
974 // MIPSN32EL: #define __UINT_FAST16_FMTx__ "hx"
975 // MIPSN32EL: #define __UINT_FAST16_MAX__ 65535
976 // MIPSN32EL: #define __UINT_FAST16_TYPE__ unsigned short
977 // MIPSN32EL: #define __UINT_FAST32_FMTX__ "X"
978 // MIPSN32EL: #define __UINT_FAST32_FMTo__ "o"
979 // MIPSN32EL: #define __UINT_FAST32_FMTu__ "u"
980 // MIPSN32EL: #define __UINT_FAST32_FMTx__ "x"
981 // MIPSN32EL: #define __UINT_FAST32_MAX__ 4294967295U
982 // MIPSN32EL: #define __UINT_FAST32_TYPE__ unsigned int
983 // MIPSN32EL: #define __UINT_FAST64_FMTX__ "llX"
984 // MIPSN32EL: #define __UINT_FAST64_FMTo__ "llo"
985 // MIPSN32EL: #define __UINT_FAST64_FMTu__ "llu"
986 // MIPSN32EL: #define __UINT_FAST64_FMTx__ "llx"
987 // MIPSN32EL: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
988 // MIPSN32EL: #define __UINT_FAST64_TYPE__ long long unsigned int
989 // MIPSN32EL: #define __UINT_FAST8_FMTX__ "hhX"
990 // MIPSN32EL: #define __UINT_FAST8_FMTo__ "hho"
991 // MIPSN32EL: #define __UINT_FAST8_FMTu__ "hhu"
992 // MIPSN32EL: #define __UINT_FAST8_FMTx__ "hhx"
993 // MIPSN32EL: #define __UINT_FAST8_MAX__ 255
994 // MIPSN32EL: #define __UINT_FAST8_TYPE__ unsigned char
995 // MIPSN32EL: #define __UINT_LEAST16_FMTX__ "hX"
996 // MIPSN32EL: #define __UINT_LEAST16_FMTo__ "ho"
997 // MIPSN32EL: #define __UINT_LEAST16_FMTu__ "hu"
998 // MIPSN32EL: #define __UINT_LEAST16_FMTx__ "hx"
999 // MIPSN32EL: #define __UINT_LEAST16_MAX__ 65535
1000 // MIPSN32EL: #define __UINT_LEAST16_TYPE__ unsigned short
1001 // MIPSN32EL: #define __UINT_LEAST32_FMTX__ "X"
1002 // MIPSN32EL: #define __UINT_LEAST32_FMTo__ "o"
1003 // MIPSN32EL: #define __UINT_LEAST32_FMTu__ "u"
1004 // MIPSN32EL: #define __UINT_LEAST32_FMTx__ "x"
1005 // MIPSN32EL: #define __UINT_LEAST32_MAX__ 4294967295U
1006 // MIPSN32EL: #define __UINT_LEAST32_TYPE__ unsigned int
1007 // MIPSN32EL: #define __UINT_LEAST64_FMTX__ "llX"
1008 // MIPSN32EL: #define __UINT_LEAST64_FMTo__ "llo"
1009 // MIPSN32EL: #define __UINT_LEAST64_FMTu__ "llu"
1010 // MIPSN32EL: #define __UINT_LEAST64_FMTx__ "llx"
1011 // MIPSN32EL: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
1012 // MIPSN32EL: #define __UINT_LEAST64_TYPE__ long long unsigned int
1013 // MIPSN32EL: #define __UINT_LEAST8_FMTX__ "hhX"
1014 // MIPSN32EL: #define __UINT_LEAST8_FMTo__ "hho"
1015 // MIPSN32EL: #define __UINT_LEAST8_FMTu__ "hhu"
1016 // MIPSN32EL: #define __UINT_LEAST8_FMTx__ "hhx"
1017 // MIPSN32EL: #define __UINT_LEAST8_MAX__ 255
1018 // MIPSN32EL: #define __UINT_LEAST8_TYPE__ unsigned char
1019 // MIPSN32EL: #define __USER_LABEL_PREFIX__
1020 // MIPSN32EL: #define __WCHAR_MAX__ 2147483647
1021 // MIPSN32EL: #define __WCHAR_TYPE__ int
1022 // MIPSN32EL: #define __WCHAR_WIDTH__ 32
1023 // MIPSN32EL: #define __WINT_TYPE__ int
1024 // MIPSN32EL: #define __WINT_WIDTH__ 32
1025 // MIPSN32EL: #define __clang__ 1
1026 // MIPSN32EL: #define __llvm__ 1
1027 // MIPSN32EL: #define __mips 64
1028 // MIPSN32EL: #define __mips64 1
1029 // MIPSN32EL: #define __mips64__ 1
1030 // MIPSN32EL: #define __mips__ 1
1031 // MIPSN32EL: #define __mips_abicalls 1
1032 // MIPSN32EL: #define __mips_fpr 64
1033 // MIPSN32EL: #define __mips_hard_float 1
1034 // MIPSN32EL: #define __mips_isa_rev 2
1035 // MIPSN32EL: #define __mips_n32 1
1036 // MIPSN32EL: #define _mips 1
1037 // MIPSN32EL: #define mips 1
1038 
1039 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=mips64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS64BE %s
1040 // RUN: %clang_cc1 -x c++ -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=mips64-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS64BE -check-prefix MIPS64BE-CXX %s
1041 //
1042 // MIPS64BE:#define MIPSEB 1
1043 // MIPS64BE:#define _ABI64 3
1044 // MIPS64BE:#define _LP64 1
1045 // MIPS64BE:#define _MIPSEB 1
1046 // MIPS64BE:#define _MIPS_ARCH "mips64r2"
1047 // MIPS64BE:#define _MIPS_ARCH_MIPS64R2 1
1048 // MIPS64BE:#define _MIPS_FPSET 32
1049 // MIPS64BE:#define _MIPS_SIM _ABI64
1050 // MIPS64BE:#define _MIPS_SZINT 32
1051 // MIPS64BE:#define _MIPS_SZLONG 64
1052 // MIPS64BE:#define _MIPS_SZPTR 64
1053 // MIPS64BE:#define __BIGGEST_ALIGNMENT__ 16
1054 // MIPS64BE:#define __BIG_ENDIAN__ 1
1055 // MIPS64BE:#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__
1056 // MIPS64BE:#define __CHAR16_TYPE__ unsigned short
1057 // MIPS64BE:#define __CHAR32_TYPE__ unsigned int
1058 // MIPS64BE:#define __CHAR_BIT__ 8
1059 // MIPS64BE:#define __CONSTANT_CFSTRINGS__ 1
1060 // MIPS64BE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1061 // MIPS64BE:#define __DBL_DIG__ 15
1062 // MIPS64BE:#define __DBL_EPSILON__ 2.2204460492503131e-16
1063 // MIPS64BE:#define __DBL_HAS_DENORM__ 1
1064 // MIPS64BE:#define __DBL_HAS_INFINITY__ 1
1065 // MIPS64BE:#define __DBL_HAS_QUIET_NAN__ 1
1066 // MIPS64BE:#define __DBL_MANT_DIG__ 53
1067 // MIPS64BE:#define __DBL_MAX_10_EXP__ 308
1068 // MIPS64BE:#define __DBL_MAX_EXP__ 1024
1069 // MIPS64BE:#define __DBL_MAX__ 1.7976931348623157e+308
1070 // MIPS64BE:#define __DBL_MIN_10_EXP__ (-307)
1071 // MIPS64BE:#define __DBL_MIN_EXP__ (-1021)
1072 // MIPS64BE:#define __DBL_MIN__ 2.2250738585072014e-308
1073 // MIPS64BE:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
1074 // MIPS64BE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1075 // MIPS64BE:#define __FLT_DIG__ 6
1076 // MIPS64BE:#define __FLT_EPSILON__ 1.19209290e-7F
1077 // MIPS64BE:#define __FLT_EVAL_METHOD__ 0
1078 // MIPS64BE:#define __FLT_HAS_DENORM__ 1
1079 // MIPS64BE:#define __FLT_HAS_INFINITY__ 1
1080 // MIPS64BE:#define __FLT_HAS_QUIET_NAN__ 1
1081 // MIPS64BE:#define __FLT_MANT_DIG__ 24
1082 // MIPS64BE:#define __FLT_MAX_10_EXP__ 38
1083 // MIPS64BE:#define __FLT_MAX_EXP__ 128
1084 // MIPS64BE:#define __FLT_MAX__ 3.40282347e+38F
1085 // MIPS64BE:#define __FLT_MIN_10_EXP__ (-37)
1086 // MIPS64BE:#define __FLT_MIN_EXP__ (-125)
1087 // MIPS64BE:#define __FLT_MIN__ 1.17549435e-38F
1088 // MIPS64BE:#define __FLT_RADIX__ 2
1089 // MIPS64BE:#define __INT16_C_SUFFIX__
1090 // MIPS64BE:#define __INT16_FMTd__ "hd"
1091 // MIPS64BE:#define __INT16_FMTi__ "hi"
1092 // MIPS64BE:#define __INT16_MAX__ 32767
1093 // MIPS64BE:#define __INT16_TYPE__ short
1094 // MIPS64BE:#define __INT32_C_SUFFIX__
1095 // MIPS64BE:#define __INT32_FMTd__ "d"
1096 // MIPS64BE:#define __INT32_FMTi__ "i"
1097 // MIPS64BE:#define __INT32_MAX__ 2147483647
1098 // MIPS64BE:#define __INT32_TYPE__ int
1099 // MIPS64BE:#define __INT64_C_SUFFIX__ L
1100 // MIPS64BE:#define __INT64_FMTd__ "ld"
1101 // MIPS64BE:#define __INT64_FMTi__ "li"
1102 // MIPS64BE:#define __INT64_MAX__ 9223372036854775807L
1103 // MIPS64BE:#define __INT64_TYPE__ long int
1104 // MIPS64BE:#define __INT8_C_SUFFIX__
1105 // MIPS64BE:#define __INT8_FMTd__ "hhd"
1106 // MIPS64BE:#define __INT8_FMTi__ "hhi"
1107 // MIPS64BE:#define __INT8_MAX__ 127
1108 // MIPS64BE:#define __INT8_TYPE__ signed char
1109 // MIPS64BE:#define __INTMAX_C_SUFFIX__ L
1110 // MIPS64BE:#define __INTMAX_FMTd__ "ld"
1111 // MIPS64BE:#define __INTMAX_FMTi__ "li"
1112 // MIPS64BE:#define __INTMAX_MAX__ 9223372036854775807L
1113 // MIPS64BE:#define __INTMAX_TYPE__ long int
1114 // MIPS64BE:#define __INTMAX_WIDTH__ 64
1115 // MIPS64BE:#define __INTPTR_FMTd__ "ld"
1116 // MIPS64BE:#define __INTPTR_FMTi__ "li"
1117 // MIPS64BE:#define __INTPTR_MAX__ 9223372036854775807L
1118 // MIPS64BE:#define __INTPTR_TYPE__ long int
1119 // MIPS64BE:#define __INTPTR_WIDTH__ 64
1120 // MIPS64BE:#define __INT_FAST16_FMTd__ "hd"
1121 // MIPS64BE:#define __INT_FAST16_FMTi__ "hi"
1122 // MIPS64BE:#define __INT_FAST16_MAX__ 32767
1123 // MIPS64BE:#define __INT_FAST16_TYPE__ short
1124 // MIPS64BE:#define __INT_FAST32_FMTd__ "d"
1125 // MIPS64BE:#define __INT_FAST32_FMTi__ "i"
1126 // MIPS64BE:#define __INT_FAST32_MAX__ 2147483647
1127 // MIPS64BE:#define __INT_FAST32_TYPE__ int
1128 // MIPS64BE:#define __INT_FAST64_FMTd__ "ld"
1129 // MIPS64BE:#define __INT_FAST64_FMTi__ "li"
1130 // MIPS64BE:#define __INT_FAST64_MAX__ 9223372036854775807L
1131 // MIPS64BE:#define __INT_FAST64_TYPE__ long int
1132 // MIPS64BE:#define __INT_FAST8_FMTd__ "hhd"
1133 // MIPS64BE:#define __INT_FAST8_FMTi__ "hhi"
1134 // MIPS64BE:#define __INT_FAST8_MAX__ 127
1135 // MIPS64BE:#define __INT_FAST8_TYPE__ signed char
1136 // MIPS64BE:#define __INT_LEAST16_FMTd__ "hd"
1137 // MIPS64BE:#define __INT_LEAST16_FMTi__ "hi"
1138 // MIPS64BE:#define __INT_LEAST16_MAX__ 32767
1139 // MIPS64BE:#define __INT_LEAST16_TYPE__ short
1140 // MIPS64BE:#define __INT_LEAST32_FMTd__ "d"
1141 // MIPS64BE:#define __INT_LEAST32_FMTi__ "i"
1142 // MIPS64BE:#define __INT_LEAST32_MAX__ 2147483647
1143 // MIPS64BE:#define __INT_LEAST32_TYPE__ int
1144 // MIPS64BE:#define __INT_LEAST64_FMTd__ "ld"
1145 // MIPS64BE:#define __INT_LEAST64_FMTi__ "li"
1146 // MIPS64BE:#define __INT_LEAST64_MAX__ 9223372036854775807L
1147 // MIPS64BE:#define __INT_LEAST64_TYPE__ long int
1148 // MIPS64BE:#define __INT_LEAST8_FMTd__ "hhd"
1149 // MIPS64BE:#define __INT_LEAST8_FMTi__ "hhi"
1150 // MIPS64BE:#define __INT_LEAST8_MAX__ 127
1151 // MIPS64BE:#define __INT_LEAST8_TYPE__ signed char
1152 // MIPS64BE:#define __INT_MAX__ 2147483647
1153 // MIPS64BE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1154 // MIPS64BE:#define __LDBL_DIG__ 33
1155 // MIPS64BE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1156 // MIPS64BE:#define __LDBL_HAS_DENORM__ 1
1157 // MIPS64BE:#define __LDBL_HAS_INFINITY__ 1
1158 // MIPS64BE:#define __LDBL_HAS_QUIET_NAN__ 1
1159 // MIPS64BE:#define __LDBL_MANT_DIG__ 113
1160 // MIPS64BE:#define __LDBL_MAX_10_EXP__ 4932
1161 // MIPS64BE:#define __LDBL_MAX_EXP__ 16384
1162 // MIPS64BE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1163 // MIPS64BE:#define __LDBL_MIN_10_EXP__ (-4931)
1164 // MIPS64BE:#define __LDBL_MIN_EXP__ (-16381)
1165 // MIPS64BE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1166 // MIPS64BE:#define __LONG_LONG_MAX__ 9223372036854775807LL
1167 // MIPS64BE:#define __LONG_MAX__ 9223372036854775807L
1168 // MIPS64BE:#define __LP64__ 1
1169 // MIPS64BE:#define __MIPSEB 1
1170 // MIPS64BE:#define __MIPSEB__ 1
1171 // MIPS64BE:#define __POINTER_WIDTH__ 64
1172 // MIPS64BE:#define __PRAGMA_REDEFINE_EXTNAME 1
1173 // MIPS64BE:#define __PTRDIFF_TYPE__ long int
1174 // MIPS64BE:#define __PTRDIFF_WIDTH__ 64
1175 // MIPS64BE:#define __REGISTER_PREFIX__
1176 // MIPS64BE:#define __SCHAR_MAX__ 127
1177 // MIPS64BE:#define __SHRT_MAX__ 32767
1178 // MIPS64BE:#define __SIG_ATOMIC_MAX__ 2147483647
1179 // MIPS64BE:#define __SIG_ATOMIC_WIDTH__ 32
1180 // MIPS64BE:#define __SIZEOF_DOUBLE__ 8
1181 // MIPS64BE:#define __SIZEOF_FLOAT__ 4
1182 // MIPS64BE:#define __SIZEOF_INT128__ 16
1183 // MIPS64BE:#define __SIZEOF_INT__ 4
1184 // MIPS64BE:#define __SIZEOF_LONG_DOUBLE__ 16
1185 // MIPS64BE:#define __SIZEOF_LONG_LONG__ 8
1186 // MIPS64BE:#define __SIZEOF_LONG__ 8
1187 // MIPS64BE:#define __SIZEOF_POINTER__ 8
1188 // MIPS64BE:#define __SIZEOF_PTRDIFF_T__ 8
1189 // MIPS64BE:#define __SIZEOF_SHORT__ 2
1190 // MIPS64BE:#define __SIZEOF_SIZE_T__ 8
1191 // MIPS64BE:#define __SIZEOF_WCHAR_T__ 4
1192 // MIPS64BE:#define __SIZEOF_WINT_T__ 4
1193 // MIPS64BE:#define __SIZE_MAX__ 18446744073709551615UL
1194 // MIPS64BE:#define __SIZE_TYPE__ long unsigned int
1195 // MIPS64BE:#define __SIZE_WIDTH__ 64
1196 // MIPS64BE-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
1197 // MIPS64BE:#define __UINT16_C_SUFFIX__
1198 // MIPS64BE:#define __UINT16_MAX__ 65535
1199 // MIPS64BE:#define __UINT16_TYPE__ unsigned short
1200 // MIPS64BE:#define __UINT32_C_SUFFIX__ U
1201 // MIPS64BE:#define __UINT32_MAX__ 4294967295U
1202 // MIPS64BE:#define __UINT32_TYPE__ unsigned int
1203 // MIPS64BE:#define __UINT64_C_SUFFIX__ UL
1204 // MIPS64BE:#define __UINT64_MAX__ 18446744073709551615UL
1205 // MIPS64BE:#define __UINT64_TYPE__ long unsigned int
1206 // MIPS64BE:#define __UINT8_C_SUFFIX__
1207 // MIPS64BE:#define __UINT8_MAX__ 255
1208 // MIPS64BE:#define __UINT8_TYPE__ unsigned char
1209 // MIPS64BE:#define __UINTMAX_C_SUFFIX__ UL
1210 // MIPS64BE:#define __UINTMAX_MAX__ 18446744073709551615UL
1211 // MIPS64BE:#define __UINTMAX_TYPE__ long unsigned int
1212 // MIPS64BE:#define __UINTMAX_WIDTH__ 64
1213 // MIPS64BE:#define __UINTPTR_MAX__ 18446744073709551615UL
1214 // MIPS64BE:#define __UINTPTR_TYPE__ long unsigned int
1215 // MIPS64BE:#define __UINTPTR_WIDTH__ 64
1216 // MIPS64BE:#define __UINT_FAST16_MAX__ 65535
1217 // MIPS64BE:#define __UINT_FAST16_TYPE__ unsigned short
1218 // MIPS64BE:#define __UINT_FAST32_MAX__ 4294967295U
1219 // MIPS64BE:#define __UINT_FAST32_TYPE__ unsigned int
1220 // MIPS64BE:#define __UINT_FAST64_MAX__ 18446744073709551615UL
1221 // MIPS64BE:#define __UINT_FAST64_TYPE__ long unsigned int
1222 // MIPS64BE:#define __UINT_FAST8_MAX__ 255
1223 // MIPS64BE:#define __UINT_FAST8_TYPE__ unsigned char
1224 // MIPS64BE:#define __UINT_LEAST16_MAX__ 65535
1225 // MIPS64BE:#define __UINT_LEAST16_TYPE__ unsigned short
1226 // MIPS64BE:#define __UINT_LEAST32_MAX__ 4294967295U
1227 // MIPS64BE:#define __UINT_LEAST32_TYPE__ unsigned int
1228 // MIPS64BE:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
1229 // MIPS64BE:#define __UINT_LEAST64_TYPE__ long unsigned int
1230 // MIPS64BE:#define __UINT_LEAST8_MAX__ 255
1231 // MIPS64BE:#define __UINT_LEAST8_TYPE__ unsigned char
1232 // MIPS64BE:#define __USER_LABEL_PREFIX__
1233 // MIPS64BE:#define __WCHAR_MAX__ 2147483647
1234 // MIPS64BE:#define __WCHAR_TYPE__ int
1235 // MIPS64BE:#define __WCHAR_WIDTH__ 32
1236 // MIPS64BE:#define __WINT_TYPE__ int
1237 // MIPS64BE:#define __WINT_WIDTH__ 32
1238 // MIPS64BE:#define __clang__ 1
1239 // MIPS64BE:#define __llvm__ 1
1240 // MIPS64BE:#define __mips 64
1241 // MIPS64BE:#define __mips64 1
1242 // MIPS64BE:#define __mips64__ 1
1243 // MIPS64BE:#define __mips__ 1
1244 // MIPS64BE:#define __mips_abicalls 1
1245 // MIPS64BE:#define __mips_fpr 64
1246 // MIPS64BE:#define __mips_hard_float 1
1247 // MIPS64BE:#define __mips_n64 1
1248 // MIPS64BE:#define _mips 1
1249 // MIPS64BE:#define mips 1
1250 
1251 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64el-none-none < /dev/null | FileCheck -match-full-lines -check-prefix MIPS64EL %s
1252 //
1253 // MIPS64EL:#define MIPSEL 1
1254 // MIPS64EL:#define _ABI64 3
1255 // MIPS64EL:#define _LP64 1
1256 // MIPS64EL:#define _MIPSEL 1
1257 // MIPS64EL:#define _MIPS_ARCH "mips64r2"
1258 // MIPS64EL:#define _MIPS_ARCH_MIPS64R2 1
1259 // MIPS64EL:#define _MIPS_FPSET 32
1260 // MIPS64EL:#define _MIPS_SIM _ABI64
1261 // MIPS64EL:#define _MIPS_SZINT 32
1262 // MIPS64EL:#define _MIPS_SZLONG 64
1263 // MIPS64EL:#define _MIPS_SZPTR 64
1264 // MIPS64EL:#define __BIGGEST_ALIGNMENT__ 16
1265 // MIPS64EL:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
1266 // MIPS64EL:#define __CHAR16_TYPE__ unsigned short
1267 // MIPS64EL:#define __CHAR32_TYPE__ unsigned int
1268 // MIPS64EL:#define __CHAR_BIT__ 8
1269 // MIPS64EL:#define __CONSTANT_CFSTRINGS__ 1
1270 // MIPS64EL:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
1271 // MIPS64EL:#define __DBL_DIG__ 15
1272 // MIPS64EL:#define __DBL_EPSILON__ 2.2204460492503131e-16
1273 // MIPS64EL:#define __DBL_HAS_DENORM__ 1
1274 // MIPS64EL:#define __DBL_HAS_INFINITY__ 1
1275 // MIPS64EL:#define __DBL_HAS_QUIET_NAN__ 1
1276 // MIPS64EL:#define __DBL_MANT_DIG__ 53
1277 // MIPS64EL:#define __DBL_MAX_10_EXP__ 308
1278 // MIPS64EL:#define __DBL_MAX_EXP__ 1024
1279 // MIPS64EL:#define __DBL_MAX__ 1.7976931348623157e+308
1280 // MIPS64EL:#define __DBL_MIN_10_EXP__ (-307)
1281 // MIPS64EL:#define __DBL_MIN_EXP__ (-1021)
1282 // MIPS64EL:#define __DBL_MIN__ 2.2250738585072014e-308
1283 // MIPS64EL:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
1284 // MIPS64EL:#define __FLT_DENORM_MIN__ 1.40129846e-45F
1285 // MIPS64EL:#define __FLT_DIG__ 6
1286 // MIPS64EL:#define __FLT_EPSILON__ 1.19209290e-7F
1287 // MIPS64EL:#define __FLT_EVAL_METHOD__ 0
1288 // MIPS64EL:#define __FLT_HAS_DENORM__ 1
1289 // MIPS64EL:#define __FLT_HAS_INFINITY__ 1
1290 // MIPS64EL:#define __FLT_HAS_QUIET_NAN__ 1
1291 // MIPS64EL:#define __FLT_MANT_DIG__ 24
1292 // MIPS64EL:#define __FLT_MAX_10_EXP__ 38
1293 // MIPS64EL:#define __FLT_MAX_EXP__ 128
1294 // MIPS64EL:#define __FLT_MAX__ 3.40282347e+38F
1295 // MIPS64EL:#define __FLT_MIN_10_EXP__ (-37)
1296 // MIPS64EL:#define __FLT_MIN_EXP__ (-125)
1297 // MIPS64EL:#define __FLT_MIN__ 1.17549435e-38F
1298 // MIPS64EL:#define __FLT_RADIX__ 2
1299 // MIPS64EL:#define __INT16_C_SUFFIX__
1300 // MIPS64EL:#define __INT16_FMTd__ "hd"
1301 // MIPS64EL:#define __INT16_FMTi__ "hi"
1302 // MIPS64EL:#define __INT16_MAX__ 32767
1303 // MIPS64EL:#define __INT16_TYPE__ short
1304 // MIPS64EL:#define __INT32_C_SUFFIX__
1305 // MIPS64EL:#define __INT32_FMTd__ "d"
1306 // MIPS64EL:#define __INT32_FMTi__ "i"
1307 // MIPS64EL:#define __INT32_MAX__ 2147483647
1308 // MIPS64EL:#define __INT32_TYPE__ int
1309 // MIPS64EL:#define __INT64_C_SUFFIX__ L
1310 // MIPS64EL:#define __INT64_FMTd__ "ld"
1311 // MIPS64EL:#define __INT64_FMTi__ "li"
1312 // MIPS64EL:#define __INT64_MAX__ 9223372036854775807L
1313 // MIPS64EL:#define __INT64_TYPE__ long int
1314 // MIPS64EL:#define __INT8_C_SUFFIX__
1315 // MIPS64EL:#define __INT8_FMTd__ "hhd"
1316 // MIPS64EL:#define __INT8_FMTi__ "hhi"
1317 // MIPS64EL:#define __INT8_MAX__ 127
1318 // MIPS64EL:#define __INT8_TYPE__ signed char
1319 // MIPS64EL:#define __INTMAX_C_SUFFIX__ L
1320 // MIPS64EL:#define __INTMAX_FMTd__ "ld"
1321 // MIPS64EL:#define __INTMAX_FMTi__ "li"
1322 // MIPS64EL:#define __INTMAX_MAX__ 9223372036854775807L
1323 // MIPS64EL:#define __INTMAX_TYPE__ long int
1324 // MIPS64EL:#define __INTMAX_WIDTH__ 64
1325 // MIPS64EL:#define __INTPTR_FMTd__ "ld"
1326 // MIPS64EL:#define __INTPTR_FMTi__ "li"
1327 // MIPS64EL:#define __INTPTR_MAX__ 9223372036854775807L
1328 // MIPS64EL:#define __INTPTR_TYPE__ long int
1329 // MIPS64EL:#define __INTPTR_WIDTH__ 64
1330 // MIPS64EL:#define __INT_FAST16_FMTd__ "hd"
1331 // MIPS64EL:#define __INT_FAST16_FMTi__ "hi"
1332 // MIPS64EL:#define __INT_FAST16_MAX__ 32767
1333 // MIPS64EL:#define __INT_FAST16_TYPE__ short
1334 // MIPS64EL:#define __INT_FAST32_FMTd__ "d"
1335 // MIPS64EL:#define __INT_FAST32_FMTi__ "i"
1336 // MIPS64EL:#define __INT_FAST32_MAX__ 2147483647
1337 // MIPS64EL:#define __INT_FAST32_TYPE__ int
1338 // MIPS64EL:#define __INT_FAST64_FMTd__ "ld"
1339 // MIPS64EL:#define __INT_FAST64_FMTi__ "li"
1340 // MIPS64EL:#define __INT_FAST64_MAX__ 9223372036854775807L
1341 // MIPS64EL:#define __INT_FAST64_TYPE__ long int
1342 // MIPS64EL:#define __INT_FAST8_FMTd__ "hhd"
1343 // MIPS64EL:#define __INT_FAST8_FMTi__ "hhi"
1344 // MIPS64EL:#define __INT_FAST8_MAX__ 127
1345 // MIPS64EL:#define __INT_FAST8_TYPE__ signed char
1346 // MIPS64EL:#define __INT_LEAST16_FMTd__ "hd"
1347 // MIPS64EL:#define __INT_LEAST16_FMTi__ "hi"
1348 // MIPS64EL:#define __INT_LEAST16_MAX__ 32767
1349 // MIPS64EL:#define __INT_LEAST16_TYPE__ short
1350 // MIPS64EL:#define __INT_LEAST32_FMTd__ "d"
1351 // MIPS64EL:#define __INT_LEAST32_FMTi__ "i"
1352 // MIPS64EL:#define __INT_LEAST32_MAX__ 2147483647
1353 // MIPS64EL:#define __INT_LEAST32_TYPE__ int
1354 // MIPS64EL:#define __INT_LEAST64_FMTd__ "ld"
1355 // MIPS64EL:#define __INT_LEAST64_FMTi__ "li"
1356 // MIPS64EL:#define __INT_LEAST64_MAX__ 9223372036854775807L
1357 // MIPS64EL:#define __INT_LEAST64_TYPE__ long int
1358 // MIPS64EL:#define __INT_LEAST8_FMTd__ "hhd"
1359 // MIPS64EL:#define __INT_LEAST8_FMTi__ "hhi"
1360 // MIPS64EL:#define __INT_LEAST8_MAX__ 127
1361 // MIPS64EL:#define __INT_LEAST8_TYPE__ signed char
1362 // MIPS64EL:#define __INT_MAX__ 2147483647
1363 // MIPS64EL:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
1364 // MIPS64EL:#define __LDBL_DIG__ 33
1365 // MIPS64EL:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
1366 // MIPS64EL:#define __LDBL_HAS_DENORM__ 1
1367 // MIPS64EL:#define __LDBL_HAS_INFINITY__ 1
1368 // MIPS64EL:#define __LDBL_HAS_QUIET_NAN__ 1
1369 // MIPS64EL:#define __LDBL_MANT_DIG__ 113
1370 // MIPS64EL:#define __LDBL_MAX_10_EXP__ 4932
1371 // MIPS64EL:#define __LDBL_MAX_EXP__ 16384
1372 // MIPS64EL:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
1373 // MIPS64EL:#define __LDBL_MIN_10_EXP__ (-4931)
1374 // MIPS64EL:#define __LDBL_MIN_EXP__ (-16381)
1375 // MIPS64EL:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
1376 // MIPS64EL:#define __LITTLE_ENDIAN__ 1
1377 // MIPS64EL:#define __LONG_LONG_MAX__ 9223372036854775807LL
1378 // MIPS64EL:#define __LONG_MAX__ 9223372036854775807L
1379 // MIPS64EL:#define __LP64__ 1
1380 // MIPS64EL:#define __MIPSEL 1
1381 // MIPS64EL:#define __MIPSEL__ 1
1382 // MIPS64EL:#define __POINTER_WIDTH__ 64
1383 // MIPS64EL:#define __PRAGMA_REDEFINE_EXTNAME 1
1384 // MIPS64EL:#define __PTRDIFF_TYPE__ long int
1385 // MIPS64EL:#define __PTRDIFF_WIDTH__ 64
1386 // MIPS64EL:#define __REGISTER_PREFIX__
1387 // MIPS64EL:#define __SCHAR_MAX__ 127
1388 // MIPS64EL:#define __SHRT_MAX__ 32767
1389 // MIPS64EL:#define __SIG_ATOMIC_MAX__ 2147483647
1390 // MIPS64EL:#define __SIG_ATOMIC_WIDTH__ 32
1391 // MIPS64EL:#define __SIZEOF_DOUBLE__ 8
1392 // MIPS64EL:#define __SIZEOF_FLOAT__ 4
1393 // MIPS64EL:#define __SIZEOF_INT128__ 16
1394 // MIPS64EL:#define __SIZEOF_INT__ 4
1395 // MIPS64EL:#define __SIZEOF_LONG_DOUBLE__ 16
1396 // MIPS64EL:#define __SIZEOF_LONG_LONG__ 8
1397 // MIPS64EL:#define __SIZEOF_LONG__ 8
1398 // MIPS64EL:#define __SIZEOF_POINTER__ 8
1399 // MIPS64EL:#define __SIZEOF_PTRDIFF_T__ 8
1400 // MIPS64EL:#define __SIZEOF_SHORT__ 2
1401 // MIPS64EL:#define __SIZEOF_SIZE_T__ 8
1402 // MIPS64EL:#define __SIZEOF_WCHAR_T__ 4
1403 // MIPS64EL:#define __SIZEOF_WINT_T__ 4
1404 // MIPS64EL:#define __SIZE_MAX__ 18446744073709551615UL
1405 // MIPS64EL:#define __SIZE_TYPE__ long unsigned int
1406 // MIPS64EL:#define __SIZE_WIDTH__ 64
1407 // MIPS64EL:#define __UINT16_C_SUFFIX__
1408 // MIPS64EL:#define __UINT16_MAX__ 65535
1409 // MIPS64EL:#define __UINT16_TYPE__ unsigned short
1410 // MIPS64EL:#define __UINT32_C_SUFFIX__ U
1411 // MIPS64EL:#define __UINT32_MAX__ 4294967295U
1412 // MIPS64EL:#define __UINT32_TYPE__ unsigned int
1413 // MIPS64EL:#define __UINT64_C_SUFFIX__ UL
1414 // MIPS64EL:#define __UINT64_MAX__ 18446744073709551615UL
1415 // MIPS64EL:#define __UINT64_TYPE__ long unsigned int
1416 // MIPS64EL:#define __UINT8_C_SUFFIX__
1417 // MIPS64EL:#define __UINT8_MAX__ 255
1418 // MIPS64EL:#define __UINT8_TYPE__ unsigned char
1419 // MIPS64EL:#define __UINTMAX_C_SUFFIX__ UL
1420 // MIPS64EL:#define __UINTMAX_MAX__ 18446744073709551615UL
1421 // MIPS64EL:#define __UINTMAX_TYPE__ long unsigned int
1422 // MIPS64EL:#define __UINTMAX_WIDTH__ 64
1423 // MIPS64EL:#define __UINTPTR_MAX__ 18446744073709551615UL
1424 // MIPS64EL:#define __UINTPTR_TYPE__ long unsigned int
1425 // MIPS64EL:#define __UINTPTR_WIDTH__ 64
1426 // MIPS64EL:#define __UINT_FAST16_MAX__ 65535
1427 // MIPS64EL:#define __UINT_FAST16_TYPE__ unsigned short
1428 // MIPS64EL:#define __UINT_FAST32_MAX__ 4294967295U
1429 // MIPS64EL:#define __UINT_FAST32_TYPE__ unsigned int
1430 // MIPS64EL:#define __UINT_FAST64_MAX__ 18446744073709551615UL
1431 // MIPS64EL:#define __UINT_FAST64_TYPE__ long unsigned int
1432 // MIPS64EL:#define __UINT_FAST8_MAX__ 255
1433 // MIPS64EL:#define __UINT_FAST8_TYPE__ unsigned char
1434 // MIPS64EL:#define __UINT_LEAST16_MAX__ 65535
1435 // MIPS64EL:#define __UINT_LEAST16_TYPE__ unsigned short
1436 // MIPS64EL:#define __UINT_LEAST32_MAX__ 4294967295U
1437 // MIPS64EL:#define __UINT_LEAST32_TYPE__ unsigned int
1438 // MIPS64EL:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
1439 // MIPS64EL:#define __UINT_LEAST64_TYPE__ long unsigned int
1440 // MIPS64EL:#define __UINT_LEAST8_MAX__ 255
1441 // MIPS64EL:#define __UINT_LEAST8_TYPE__ unsigned char
1442 // MIPS64EL:#define __USER_LABEL_PREFIX__
1443 // MIPS64EL:#define __WCHAR_MAX__ 2147483647
1444 // MIPS64EL:#define __WCHAR_TYPE__ int
1445 // MIPS64EL:#define __WCHAR_WIDTH__ 32
1446 // MIPS64EL:#define __WINT_TYPE__ int
1447 // MIPS64EL:#define __WINT_WIDTH__ 32
1448 // MIPS64EL:#define __clang__ 1
1449 // MIPS64EL:#define __llvm__ 1
1450 // MIPS64EL:#define __mips 64
1451 // MIPS64EL:#define __mips64 1
1452 // MIPS64EL:#define __mips64__ 1
1453 // MIPS64EL:#define __mips__ 1
1454 // MIPS64EL:#define __mips_abicalls 1
1455 // MIPS64EL:#define __mips_fpr 64
1456 // MIPS64EL:#define __mips_hard_float 1
1457 // MIPS64EL:#define __mips_n64 1
1458 // MIPS64EL:#define _mips 1
1459 // MIPS64EL:#define mips 1
1460 
1461 // Check MIPS arch and isa macros
1462 //
1463 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1464 // RUN:            < /dev/null \
1465 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-DEF32 %s
1466 //
1467 // MIPS-ARCH-DEF32:#define _MIPS_ARCH "mips32r2"
1468 // MIPS-ARCH-DEF32:#define _MIPS_ARCH_MIPS32R2 1
1469 // MIPS-ARCH-DEF32:#define _MIPS_ISA _MIPS_ISA_MIPS32
1470 // MIPS-ARCH-DEF32:#define __mips_isa_rev 2
1471 
1472 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-nones \
1473 // RUN:            -target-cpu mips32 < /dev/null \
1474 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32 %s
1475 //
1476 // MIPS-ARCH-32:#define _MIPS_ARCH "mips32"
1477 // MIPS-ARCH-32:#define _MIPS_ARCH_MIPS32 1
1478 // MIPS-ARCH-32:#define _MIPS_ISA _MIPS_ISA_MIPS32
1479 // MIPS-ARCH-32:#define __mips_isa_rev 1
1480 
1481 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1482 // RUN:            -target-cpu mips32r2 < /dev/null \
1483 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R2 %s
1484 //
1485 // MIPS-ARCH-32R2:#define _MIPS_ARCH "mips32r2"
1486 // MIPS-ARCH-32R2:#define _MIPS_ARCH_MIPS32R2 1
1487 // MIPS-ARCH-32R2:#define _MIPS_ISA _MIPS_ISA_MIPS32
1488 // MIPS-ARCH-32R2:#define __mips_isa_rev 2
1489 
1490 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1491 // RUN:            -target-cpu mips32r3 < /dev/null \
1492 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R3 %s
1493 //
1494 // MIPS-ARCH-32R3:#define _MIPS_ARCH "mips32r3"
1495 // MIPS-ARCH-32R3:#define _MIPS_ARCH_MIPS32R3 1
1496 // MIPS-ARCH-32R3:#define _MIPS_ISA _MIPS_ISA_MIPS32
1497 // MIPS-ARCH-32R3:#define __mips_isa_rev 3
1498 
1499 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1500 // RUN:            -target-cpu mips32r5 < /dev/null \
1501 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R5 %s
1502 //
1503 // MIPS-ARCH-32R5:#define _MIPS_ARCH "mips32r5"
1504 // MIPS-ARCH-32R5:#define _MIPS_ARCH_MIPS32R5 1
1505 // MIPS-ARCH-32R5:#define _MIPS_ISA _MIPS_ISA_MIPS32
1506 // MIPS-ARCH-32R5:#define __mips_isa_rev 5
1507 
1508 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips-none-none \
1509 // RUN:            -target-cpu mips32r6 < /dev/null \
1510 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-32R6 %s
1511 //
1512 // MIPS-ARCH-32R6:#define _MIPS_ARCH "mips32r6"
1513 // MIPS-ARCH-32R6:#define _MIPS_ARCH_MIPS32R6 1
1514 // MIPS-ARCH-32R6:#define _MIPS_ISA _MIPS_ISA_MIPS32
1515 // MIPS-ARCH-32R6:#define __mips_isa_rev 6
1516 
1517 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1518 // RUN:            < /dev/null \
1519 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-DEF64 %s
1520 //
1521 // MIPS-ARCH-DEF64:#define _MIPS_ARCH "mips64r2"
1522 // MIPS-ARCH-DEF64:#define _MIPS_ARCH_MIPS64R2 1
1523 // MIPS-ARCH-DEF64:#define _MIPS_ISA _MIPS_ISA_MIPS64
1524 // MIPS-ARCH-DEF64:#define __mips_isa_rev 2
1525 
1526 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1527 // RUN:            -target-cpu mips64 < /dev/null \
1528 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64 %s
1529 //
1530 // MIPS-ARCH-64:#define _MIPS_ARCH "mips64"
1531 // MIPS-ARCH-64:#define _MIPS_ARCH_MIPS64 1
1532 // MIPS-ARCH-64:#define _MIPS_ISA _MIPS_ISA_MIPS64
1533 // MIPS-ARCH-64:#define __mips_isa_rev 1
1534 
1535 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1536 // RUN:            -target-cpu mips64r2 < /dev/null \
1537 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R2 %s
1538 //
1539 // MIPS-ARCH-64R2:#define _MIPS_ARCH "mips64r2"
1540 // MIPS-ARCH-64R2:#define _MIPS_ARCH_MIPS64R2 1
1541 // MIPS-ARCH-64R2:#define _MIPS_ISA _MIPS_ISA_MIPS64
1542 // MIPS-ARCH-64R2:#define __mips_isa_rev 2
1543 
1544 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1545 // RUN:            -target-cpu mips64r3 < /dev/null \
1546 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R3 %s
1547 //
1548 // MIPS-ARCH-64R3:#define _MIPS_ARCH "mips64r3"
1549 // MIPS-ARCH-64R3:#define _MIPS_ARCH_MIPS64R3 1
1550 // MIPS-ARCH-64R3:#define _MIPS_ISA _MIPS_ISA_MIPS64
1551 // MIPS-ARCH-64R3:#define __mips_isa_rev 3
1552 
1553 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1554 // RUN:            -target-cpu mips64r5 < /dev/null \
1555 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R5 %s
1556 //
1557 // MIPS-ARCH-64R5:#define _MIPS_ARCH "mips64r5"
1558 // MIPS-ARCH-64R5:#define _MIPS_ARCH_MIPS64R5 1
1559 // MIPS-ARCH-64R5:#define _MIPS_ISA _MIPS_ISA_MIPS64
1560 // MIPS-ARCH-64R5:#define __mips_isa_rev 5
1561 
1562 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1563 // RUN:            -target-cpu mips64r6 < /dev/null \
1564 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-64R6 %s
1565 //
1566 // MIPS-ARCH-64R6:#define _MIPS_ARCH "mips64r6"
1567 // MIPS-ARCH-64R6:#define _MIPS_ARCH_MIPS64R6 1
1568 // MIPS-ARCH-64R6:#define _MIPS_ISA _MIPS_ISA_MIPS64
1569 // MIPS-ARCH-64R6:#define __mips_isa_rev 6
1570 
1571 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1572 // RUN:            -target-cpu octeon < /dev/null \
1573 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-OCTEON %s
1574 //
1575 // MIPS-ARCH-OCTEON:#define _MIPS_ARCH "octeon"
1576 // MIPS-ARCH-OCTEON:#define _MIPS_ARCH_OCTEON 1
1577 // MIPS-ARCH-OCTEON:#define _MIPS_ISA _MIPS_ISA_MIPS64
1578 // MIPS-ARCH-OCTEON:#define __OCTEON__ 1
1579 // MIPS-ARCH-OCTEON:#define __mips_isa_rev 2
1580 
1581 // RUN: %clang_cc1 -E -dM -ffreestanding -triple=mips64-none-none \
1582 // RUN:            -target-cpu octeon+ < /dev/null \
1583 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ARCH-OCTEONP %s
1584 //
1585 // MIPS-ARCH-OCTEONP:#define _MIPS_ARCH "octeon+"
1586 // MIPS-ARCH-OCTEONP:#define _MIPS_ARCH_OCTEONP 1
1587 // MIPS-ARCH-OCTEONP:#define _MIPS_ISA _MIPS_ISA_MIPS64
1588 // MIPS-ARCH-OCTEONP:#define __OCTEON__ 1
1589 // MIPS-ARCH-OCTEONP:#define __mips_isa_rev 2
1590 
1591 // Check MIPS float ABI macros
1592 //
1593 // RUN: %clang_cc1 -E -dM -ffreestanding \
1594 // RUN:   -triple=mips-none-none < /dev/null \
1595 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-FABI-HARD %s
1596 // MIPS-FABI-HARD:#define __mips_hard_float 1
1597 
1598 // RUN: %clang_cc1 -target-feature +soft-float -E -dM -ffreestanding \
1599 // RUN:   -triple=mips-none-none < /dev/null \
1600 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-FABI-SOFT %s
1601 // MIPS-FABI-SOFT:#define __mips_soft_float 1
1602 
1603 // RUN: %clang_cc1 -target-feature +single-float -E -dM -ffreestanding \
1604 // RUN:   -triple=mips-none-none < /dev/null \
1605 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-FABI-SINGLE %s
1606 // MIPS-FABI-SINGLE:#define __mips_hard_float 1
1607 // MIPS-FABI-SINGLE:#define __mips_single_float 1
1608 
1609 // RUN: %clang_cc1 -target-feature +soft-float -target-feature +single-float \
1610 // RUN:   -E -dM -ffreestanding -triple=mips-none-none < /dev/null \
1611 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-FABI-SINGLE-SOFT %s
1612 // MIPS-FABI-SINGLE-SOFT:#define __mips_single_float 1
1613 // MIPS-FABI-SINGLE-SOFT:#define __mips_soft_float 1
1614 
1615 // Check MIPS features macros
1616 //
1617 // RUN: %clang_cc1 -target-feature +mips16 \
1618 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1619 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS16 %s
1620 // MIPS16:#define __mips16 1
1621 
1622 // RUN: %clang_cc1 -target-feature -mips16 \
1623 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1624 // RUN:   | FileCheck -match-full-lines -check-prefix NOMIPS16 %s
1625 // NOMIPS16-NOT:#define __mips16 1
1626 
1627 // RUN: %clang_cc1 -target-feature +micromips \
1628 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1629 // RUN:   | FileCheck -match-full-lines -check-prefix MICROMIPS %s
1630 // MICROMIPS:#define __mips_micromips 1
1631 
1632 // RUN: %clang_cc1 -target-feature -micromips \
1633 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1634 // RUN:   | FileCheck -match-full-lines -check-prefix NOMICROMIPS %s
1635 // NOMICROMIPS-NOT:#define __mips_micromips 1
1636 
1637 // RUN: %clang_cc1 -target-feature +dsp \
1638 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1639 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-DSP %s
1640 // MIPS-DSP:#define __mips_dsp 1
1641 // MIPS-DSP:#define __mips_dsp_rev 1
1642 // MIPS-DSP-NOT:#define __mips_dspr2 1
1643 
1644 // RUN: %clang_cc1 -target-feature +dspr2 \
1645 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1646 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-DSPR2 %s
1647 // MIPS-DSPR2:#define __mips_dsp 1
1648 // MIPS-DSPR2:#define __mips_dsp_rev 2
1649 // MIPS-DSPR2:#define __mips_dspr2 1
1650 
1651 // RUN: %clang_cc1 -target-feature +msa \
1652 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1653 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-MSA %s
1654 // MIPS-MSA:#define __mips_msa 1
1655 
1656 // RUN: %clang_cc1 -target-feature +nomadd4 \
1657 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1658 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-NOMADD4 %s
1659 // MIPS-NOMADD4:#define __mips_no_madd4 1
1660 
1661 // RUN: %clang_cc1 \
1662 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1663 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-MADD4 %s
1664 // MIPS-MADD4-NOT:#define __mips_no_madd4 1
1665 
1666 // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature +nan2008 \
1667 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1668 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-NAN2008 %s
1669 // MIPS-NAN2008:#define __mips_nan2008 1
1670 
1671 // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature -nan2008 \
1672 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1673 // RUN:   | FileCheck -match-full-lines -check-prefix NOMIPS-NAN2008 %s
1674 // NOMIPS-NAN2008-NOT:#define __mips_nan2008 1
1675 
1676 // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature +abs2008 \
1677 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1678 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ABS2008 %s
1679 // MIPS-ABS2008:#define __mips_abs2008 1
1680 
1681 // RUN: %clang_cc1 -target-cpu mips32r3 -target-feature -abs2008 \
1682 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1683 // RUN:   | FileCheck -match-full-lines -check-prefix NOMIPS-ABS2008 %s
1684 // NOMIPS-ABS2008-NOT:#define __mips_abs2008 1
1685 
1686 // RUN: %clang_cc1  \
1687 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1688 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS32-NOFP %s
1689 // MIPS32-NOFP:#define __mips_fpr 0
1690 
1691 // RUN: %clang_cc1 -target-feature +fpxx \
1692 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1693 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS32-MFPXX %s
1694 // MIPS32-MFPXX:#define __mips_fpr 0
1695 
1696 // RUN: %clang_cc1 -target-cpu mips32r6 -target-feature +fpxx \
1697 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1698 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS32R6-MFPXX %s
1699 // MIPS32R6-MFPXX:#define __mips_fpr 0
1700 
1701 // RUN: %clang_cc1  \
1702 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1703 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS64-NOFP %s
1704 // MIPS64-NOFP:#define __mips_fpr 64
1705 
1706 // RUN: not %clang_cc1 -target-feature -fp64 \
1707 // RUN:   -E -dM -triple=mips64-none-none < /dev/null 2>&1 \
1708 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS64-MFP32 %s
1709 // MIPS64-MFP32:error: option '-mfpxx' cannot be specified with 'mips64r2'
1710 
1711 // RUN: not %clang_cc1 -target-feature +fpxx \
1712 // RUN:   -E -dM -triple=mips64-none-none < /dev/null 2>&1 \
1713 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS64-MFPXX %s
1714 // MIPS64-MFPXX:error: '-mfpxx' can only be used with the 'o32' ABI
1715 
1716 // RUN: not %clang_cc1 -target-cpu mips64r6 -target-feature +fpxx \
1717 // RUN:   -E -dM -triple=mips64-none-none < /dev/null 2>&1 \
1718 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS64R6-MFPXX %s
1719 // MIPS64R6-MFPXX:error: '-mfpxx' can only be used with the 'o32' ABI
1720 
1721 // RUN: %clang_cc1 -target-feature -fp64 \
1722 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1723 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS32-MFP32 %s
1724 // MIPS32-MFP32:#define _MIPS_FPSET 16
1725 // MIPS32-MFP32:#define __mips_fpr 32
1726 
1727 // RUN: %clang_cc1 -target-feature +fp64 \
1728 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1729 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS32-MFP64 %s
1730 // MIPS32-MFP64:#define _MIPS_FPSET 32
1731 // MIPS32-MFP64:#define __mips_fpr 64
1732 //
1733 // RUN: %clang_cc1 -target-feature +single-float \
1734 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1735 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS32-MFP32SF %s
1736 // MIPS32-MFP32SF:#define _MIPS_FPSET 32
1737 // MIPS32-MFP32SF:#define __mips_fpr 0
1738 
1739 // RUN: %clang_cc1 -target-feature +fp64 \
1740 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1741 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS64-MFP64 %s
1742 // MIPS64-MFP64:#define _MIPS_FPSET 32
1743 // MIPS64-MFP64:#define __mips_fpr 64
1744 
1745 // RUN: %clang_cc1 -target-feature -fp64 -target-feature +single-float \
1746 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1747 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS64-NOMFP64 %s
1748 // MIPS64-NOMFP64:#define _MIPS_FPSET 32
1749 // MIPS64-NOMFP64:#define __mips_fpr 32
1750 
1751 // RUN: %clang_cc1 -target-cpu mips32r6 \
1752 // RUN:   -E -dM -triple=mips-none-none < /dev/null \
1753 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-XXR6 %s
1754 // RUN: %clang_cc1 -target-cpu mips64r6 \
1755 // RUN:   -E -dM -triple=mips64-none-none < /dev/null \
1756 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-XXR6 %s
1757 // MIPS-XXR6:#define _MIPS_FPSET 32
1758 // MIPS-XXR6:#define __mips_fpr 64
1759 // MIPS-XXR6:#define __mips_nan2008 1
1760 
1761 // RUN: %clang_cc1 -target-cpu mips32 \
1762 // RUN:   -E -dM -triple=mips-unknown-netbsd -mrelocation-model pic < /dev/null \
1763 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ABICALLS-NETBSD %s
1764 // MIPS-ABICALLS-NETBSD-NOT: #define __ABICALLS__ 1
1765 // MIPS-ABICALLS-NETBSD: #define __mips_abicalls 1
1766 
1767 // RUN: %clang_cc1 -target-cpu mips64 \
1768 // RUN:   -E -dM -triple=mips64-unknown-netbsd -mrelocation-model pic < \
1769 // RUN:   /dev/null | FileCheck -match-full-lines \
1770 // RUN:   -check-prefix MIPS-ABICALLS-NETBSD64 %s
1771 // MIPS-ABICALLS-NETBSD64-NOT: #define __ABICALLS__ 1
1772 // MIPS-ABICALLS-NETBSD64: #define __mips_abicalls 1
1773 
1774 // RUN: %clang_cc1 -target-cpu mips32 \
1775 // RUN:   -E -dM -triple=mips-unknown-freebsd -mrelocation-model pic < /dev/null \
1776 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ABICALLS-FREEBSD %s
1777 // MIPS-ABICALLS-FREEBSD: #define __ABICALLS__ 1
1778 // MIPS-ABICALLS-FREEBSD: #define __mips_abicalls 1
1779 
1780 // RUN: %clang_cc1 -target-cpu mips64 \
1781 // RUN:   -E -dM -triple=mips64-unknown-freebsd -mrelocation-model pic < \
1782 // RUN:   /dev/null | FileCheck -match-full-lines \
1783 // RUN:   -check-prefix MIPS-ABICALLS-FREEBSD64 %s
1784 // MIPS-ABICALLS-FREEBSD64: #define __ABICALLS__ 1
1785 // MIPS-ABICALLS-FREEBSD64: #define __mips_abicalls 1
1786 
1787 // RUN: %clang_cc1 -target-cpu mips32 \
1788 // RUN:   -E -dM -triple=mips-unknown-openbsd -mrelocation-model pic < /dev/null \
1789 // RUN:   | FileCheck -match-full-lines -check-prefix MIPS-ABICALLS-OPENBSD %s
1790 // MIPS-ABICALLS-OPENBSD: #define __ABICALLS__ 1
1791 // MIPS-ABICALLS-OPENBSD: #define __mips_abicalls 1
1792 
1793 // RUN: %clang_cc1 -target-cpu mips64 \
1794 // RUN:   -E -dM -triple=mips64-unknown-openbsd -mrelocation-model pic < \
1795 // RUN:   /dev/null | FileCheck -match-full-lines \
1796 // RUN:   -check-prefix MIPS-ABICALLS-OPENBSD64 %s
1797 // MIPS-ABICALLS-OPENBSD64: #define __ABICALLS__ 1
1798 // MIPS-ABICALLS-OPENBSD64: #define __mips_abicalls 1
1799