1 /// Check predefinitions for NEC Aurora VE
2 /// REQUIRES: ve-registered-target
4 // RUN: %clang_cc1 -E -dM -triple=ve < /dev/null | \
5 // RUN: FileCheck -match-full-lines -check-prefixes=VE,VE-HOSTED %s
6 // RUN: %clang_cc1 -E -dM -triple=ve -ffreestanding < /dev/null | \
7 // RUN: FileCheck -match-full-lines -check-prefixes=VE,VE-FREESTANDING %s
8 // RUN: %clang_cc1 -x c++ -E -dM -triple=ve < /dev/null | \
9 // RUN: FileCheck -match-full-lines -check-prefixes=VE,VE-HOSTED,VE-CXX %s
12 // VE:#define __BIGGEST_ALIGNMENT__ 8
13 // VE:#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
14 // VE:#define __CHAR16_TYPE__ unsigned short
15 // VE:#define __CHAR32_TYPE__ unsigned int
16 // VE:#define __CHAR_BIT__ 8
17 // VE:#define __DBL_DECIMAL_DIG__ 17
18 // VE:#define __DBL_DENORM_MIN__ 4.9406564584124654e-324
19 // VE:#define __DBL_DIG__ 15
20 // VE:#define __DBL_EPSILON__ 2.2204460492503131e-16
21 // VE:#define __DBL_HAS_DENORM__ 1
22 // VE:#define __DBL_HAS_INFINITY__ 1
23 // VE:#define __DBL_HAS_QUIET_NAN__ 1
24 // VE:#define __DBL_MANT_DIG__ 53
25 // VE:#define __DBL_MAX_10_EXP__ 308
26 // VE:#define __DBL_MAX_EXP__ 1024
27 // VE:#define __DBL_MAX__ 1.7976931348623157e+308
28 // VE:#define __DBL_MIN_10_EXP__ (-307)
29 // VE:#define __DBL_MIN_EXP__ (-1021)
30 // VE:#define __DBL_MIN__ 2.2250738585072014e-308
31 // VE:#define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
32 // VE-NOT:#define __FAST_MATH__ 1
33 // VE:#define __FLT_DECIMAL_DIG__ 9
34 // VE:#define __FLT_DENORM_MIN__ 1.40129846e-45F
35 // VE:#define __FLT_DIG__ 6
36 // VE:#define __FLT_EPSILON__ 1.19209290e-7F
37 // VE:#define __FLT_HAS_DENORM__ 1
38 // VE:#define __FLT_HAS_INFINITY__ 1
39 // VE:#define __FLT_HAS_QUIET_NAN__ 1
40 // VE:#define __FLT_MANT_DIG__ 24
41 // VE:#define __FLT_MAX_10_EXP__ 38
42 // VE:#define __FLT_MAX_EXP__ 128
43 // VE:#define __FLT_MAX__ 3.40282347e+38F
44 // VE:#define __FLT_MIN_10_EXP__ (-37)
45 // VE:#define __FLT_MIN_EXP__ (-125)
46 // VE:#define __FLT_MIN__ 1.17549435e-38F
47 // VE:#define __FLT_RADIX__ 2
48 // VE:#define __INT16_C_SUFFIX__
49 // VE:#define __INT16_FMTd__ "hd"
50 // VE:#define __INT16_FMTi__ "hi"
51 // VE:#define __INT16_MAX__ 32767
52 // VE:#define __INT16_TYPE__ short
53 // VE:#define __INT32_C_SUFFIX__
54 // VE:#define __INT32_FMTd__ "d"
55 // VE:#define __INT32_FMTi__ "i"
56 // VE:#define __INT32_MAX__ 2147483647
57 // VE:#define __INT32_TYPE__ int
58 // VE:#define __INT64_C_SUFFIX__ L
59 // VE:#define __INT64_FMTd__ "ld"
60 // VE:#define __INT64_FMTi__ "li"
61 // VE:#define __INT64_MAX__ 9223372036854775807L
62 // VE:#define __INT64_TYPE__ long int
63 // VE:#define __INT8_C_SUFFIX__
64 // VE:#define __INT8_FMTd__ "hhd"
65 // VE:#define __INT8_FMTi__ "hhi"
66 // VE:#define __INT8_MAX__ 127
67 // VE:#define __INT8_TYPE__ signed char
68 // VE:#define __INTMAX_C_SUFFIX__ L
69 // VE:#define __INTMAX_FMTd__ "ld"
70 // VE:#define __INTMAX_FMTi__ "li"
71 // VE:#define __INTMAX_MAX__ 9223372036854775807L
72 // VE:#define __INTMAX_TYPE__ long int
73 // VE:#define __INTMAX_WIDTH__ 64
74 // VE:#define __INTPTR_FMTd__ "ld"
75 // VE:#define __INTPTR_FMTi__ "li"
76 // VE:#define __INTPTR_MAX__ 9223372036854775807L
77 // VE:#define __INTPTR_TYPE__ long int
78 // VE:#define __INTPTR_WIDTH__ 64
79 // VE:#define __INT_FAST16_FMTd__ "hd"
80 // VE:#define __INT_FAST16_FMTi__ "hi"
81 // VE:#define __INT_FAST16_MAX__ 32767
82 // VE:#define __INT_FAST16_TYPE__ short
83 // VE:#define __INT_FAST32_FMTd__ "d"
84 // VE:#define __INT_FAST32_FMTi__ "i"
85 // VE:#define __INT_FAST32_MAX__ 2147483647
86 // VE:#define __INT_FAST32_TYPE__ int
87 // VE:#define __INT_FAST64_FMTd__ "ld"
88 // VE:#define __INT_FAST64_FMTi__ "li"
89 // VE:#define __INT_FAST64_MAX__ 9223372036854775807L
90 // VE:#define __INT_FAST64_TYPE__ long int
91 // VE:#define __INT_FAST8_FMTd__ "hhd"
92 // VE:#define __INT_FAST8_FMTi__ "hhi"
93 // VE:#define __INT_FAST8_MAX__ 127
94 // VE:#define __INT_FAST8_TYPE__ signed char
95 // VE:#define __INT_LEAST16_FMTd__ "hd"
96 // VE:#define __INT_LEAST16_FMTi__ "hi"
97 // VE:#define __INT_LEAST16_MAX__ 32767
98 // VE:#define __INT_LEAST16_TYPE__ short
99 // VE:#define __INT_LEAST32_FMTd__ "d"
100 // VE:#define __INT_LEAST32_FMTi__ "i"
101 // VE:#define __INT_LEAST32_MAX__ 2147483647
102 // VE:#define __INT_LEAST32_TYPE__ int
103 // VE:#define __INT_LEAST64_FMTd__ "ld"
104 // VE:#define __INT_LEAST64_FMTi__ "li"
105 // VE:#define __INT_LEAST64_MAX__ 9223372036854775807L
106 // VE:#define __INT_LEAST64_TYPE__ long int
107 // VE:#define __INT_LEAST8_FMTd__ "hhd"
108 // VE:#define __INT_LEAST8_FMTi__ "hhi"
109 // VE:#define __INT_LEAST8_MAX__ 127
110 // VE:#define __INT_LEAST8_TYPE__ signed char
111 // VE:#define __INT_MAX__ 2147483647
112 // VE:#define __LDBL_DECIMAL_DIG__ 36
113 // VE:#define __LDBL_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966L
114 // VE:#define __LDBL_DIG__ 33
115 // VE:#define __LDBL_EPSILON__ 1.92592994438723585305597794258492732e-34L
116 // VE:#define __LDBL_HAS_DENORM__ 1
117 // VE:#define __LDBL_HAS_INFINITY__ 1
118 // VE:#define __LDBL_HAS_QUIET_NAN__ 1
119 // VE:#define __LDBL_MANT_DIG__ 113
120 // VE:#define __LDBL_MAX_10_EXP__ 4932
121 // VE:#define __LDBL_MAX_EXP__ 16384
122 // VE:#define __LDBL_MAX__ 1.18973149535723176508575932662800702e+4932L
123 // VE:#define __LDBL_MIN_10_EXP__ (-4931)
124 // VE:#define __LDBL_MIN_EXP__ (-16381)
125 // VE:#define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L
126 // VE:#define __LITTLE_ENDIAN__ 1
127 // VE-NOT:#define __LONGDOUBLE128 1
128 // VE-NOT:#define __LONG_DOUBLE_128__ 1
129 // VE:#define __LONG_LONG_MAX__ 9223372036854775807LL
130 // VE:#define __LONG_MAX__ 9223372036854775807L
131 // VE:#define __LP64__ 1
132 // VE:#define __NEC__ 1
133 // VE-NOT:#define __OPTIMIZE__
134 // VE:#define __POINTER_WIDTH__ 64
135 // VE:#define __PTRDIFF_FMTd__ "ld"
136 // VE:#define __PTRDIFF_FMTi__ "li"
137 // VE:#define __PTRDIFF_MAX__ 9223372036854775807L
138 // VE:#define __PTRDIFF_TYPE__ long int
139 // VE:#define __PTRDIFF_WIDTH__ 64
140 // VE:#define __SCHAR_MAX__ 127
141 // VE:#define __SHRT_MAX__ 32767
142 // VE:#define __SIG_ATOMIC_MAX__ 2147483647
143 // VE:#define __SIG_ATOMIC_WIDTH__ 32
144 // VE:#define __SIZEOF_DOUBLE__ 8
145 // VE:#define __SIZEOF_FLOAT__ 4
146 // VE:#define __SIZEOF_INT128__ 16
147 // VE:#define __SIZEOF_INT__ 4
148 // VE:#define __SIZEOF_LONG_DOUBLE__ 16
149 // VE:#define __SIZEOF_LONG_LONG__ 8
150 // VE:#define __SIZEOF_LONG__ 8
151 // VE:#define __SIZEOF_POINTER__ 8
152 // VE:#define __SIZEOF_PTRDIFF_T__ 8
153 // VE:#define __SIZEOF_SHORT__ 2
154 // VE:#define __SIZEOF_SIZE_T__ 8
155 // VE:#define __SIZEOF_WCHAR_T__ 4
156 // VE:#define __SIZEOF_WINT_T__ 4
157 // VE:#define __SIZE_FMTX__ "lX"
158 // VE:#define __SIZE_FMTo__ "lo"
159 // VE:#define __SIZE_FMTu__ "lu"
160 // VE:#define __SIZE_FMTx__ "lx"
161 // VE:#define __SIZE_MAX__ 18446744073709551615UL
162 // VE:#define __SIZE_TYPE__ long unsigned int
163 // VE:#define __SIZE_WIDTH__ 64
164 // VE-CXX:#define __STDCPP_DEFAULT_NEW_ALIGNMENT__ 16UL
165 // VE-HOSTED:#define __STDC_HOSTED__ 1
166 // VE-FREESTANDING:#define __STDC_HOSTED__ 0
167 // VE:#define __UINT16_C_SUFFIX__
168 // VE:#define __UINT16_FMTX__ "hX"
169 // VE:#define __UINT16_FMTo__ "ho"
170 // VE:#define __UINT16_FMTu__ "hu"
171 // VE:#define __UINT16_FMTx__ "hx"
172 // VE:#define __UINT16_MAX__ 65535
173 // VE:#define __UINT16_TYPE__ unsigned short
174 // VE:#define __UINT32_C_SUFFIX__ U
175 // VE:#define __UINT32_FMTX__ "X"
176 // VE:#define __UINT32_FMTo__ "o"
177 // VE:#define __UINT32_FMTu__ "u"
178 // VE:#define __UINT32_FMTx__ "x"
179 // VE:#define __UINT32_MAX__ 4294967295U
180 // VE:#define __UINT32_TYPE__ unsigned int
181 // VE:#define __UINT64_C_SUFFIX__ UL
182 // VE:#define __UINT64_FMTX__ "lX"
183 // VE:#define __UINT64_FMTo__ "lo"
184 // VE:#define __UINT64_FMTu__ "lu"
185 // VE:#define __UINT64_FMTx__ "lx"
186 // VE:#define __UINT64_MAX__ 18446744073709551615UL
187 // VE:#define __UINT64_TYPE__ long unsigned int
188 // VE:#define __UINT8_C_SUFFIX__
189 // VE:#define __UINT8_FMTX__ "hhX"
190 // VE:#define __UINT8_FMTo__ "hho"
191 // VE:#define __UINT8_FMTu__ "hhu"
192 // VE:#define __UINT8_FMTx__ "hhx"
193 // VE:#define __UINT8_MAX__ 255
194 // VE:#define __UINT8_TYPE__ unsigned char
195 // VE:#define __UINTMAX_C_SUFFIX__ UL
196 // VE:#define __UINTMAX_FMTX__ "lX"
197 // VE:#define __UINTMAX_FMTo__ "lo"
198 // VE:#define __UINTMAX_FMTu__ "lu"
199 // VE:#define __UINTMAX_FMTx__ "lx"
200 // VE:#define __UINTMAX_MAX__ 18446744073709551615UL
201 // VE:#define __UINTMAX_TYPE__ long unsigned int
202 // VE:#define __UINTMAX_WIDTH__ 64
203 // VE:#define __UINTPTR_FMTX__ "lX"
204 // VE:#define __UINTPTR_FMTo__ "lo"
205 // VE:#define __UINTPTR_FMTu__ "lu"
206 // VE:#define __UINTPTR_FMTx__ "lx"
207 // VE:#define __UINTPTR_MAX__ 18446744073709551615UL
208 // VE:#define __UINTPTR_TYPE__ long unsigned int
209 // VE:#define __UINTPTR_WIDTH__ 64
210 // VE:#define __UINT_FAST16_FMTX__ "hX"
211 // VE:#define __UINT_FAST16_FMTo__ "ho"
212 // VE:#define __UINT_FAST16_FMTu__ "hu"
213 // VE:#define __UINT_FAST16_FMTx__ "hx"
214 // VE:#define __UINT_FAST16_MAX__ 65535
215 // VE:#define __UINT_FAST16_TYPE__ unsigned short
216 // VE:#define __UINT_FAST32_FMTX__ "X"
217 // VE:#define __UINT_FAST32_FMTo__ "o"
218 // VE:#define __UINT_FAST32_FMTu__ "u"
219 // VE:#define __UINT_FAST32_FMTx__ "x"
220 // VE:#define __UINT_FAST32_MAX__ 4294967295U
221 // VE:#define __UINT_FAST32_TYPE__ unsigned int
222 // VE:#define __UINT_FAST64_FMTX__ "lX"
223 // VE:#define __UINT_FAST64_FMTo__ "lo"
224 // VE:#define __UINT_FAST64_FMTu__ "lu"
225 // VE:#define __UINT_FAST64_FMTx__ "lx"
226 // VE:#define __UINT_FAST64_MAX__ 18446744073709551615UL
227 // VE:#define __UINT_FAST64_TYPE__ long unsigned int
228 // VE:#define __UINT_FAST8_FMTX__ "hhX"
229 // VE:#define __UINT_FAST8_FMTo__ "hho"
230 // VE:#define __UINT_FAST8_FMTu__ "hhu"
231 // VE:#define __UINT_FAST8_FMTx__ "hhx"
232 // VE:#define __UINT_FAST8_MAX__ 255
233 // VE:#define __UINT_FAST8_TYPE__ unsigned char
234 // VE:#define __UINT_LEAST16_FMTX__ "hX"
235 // VE:#define __UINT_LEAST16_FMTo__ "ho"
236 // VE:#define __UINT_LEAST16_FMTu__ "hu"
237 // VE:#define __UINT_LEAST16_FMTx__ "hx"
238 // VE:#define __UINT_LEAST16_MAX__ 65535
239 // VE:#define __UINT_LEAST16_TYPE__ unsigned short
240 // VE:#define __UINT_LEAST32_FMTX__ "X"
241 // VE:#define __UINT_LEAST32_FMTo__ "o"
242 // VE:#define __UINT_LEAST32_FMTu__ "u"
243 // VE:#define __UINT_LEAST32_FMTx__ "x"
244 // VE:#define __UINT_LEAST32_MAX__ 4294967295U
245 // VE:#define __UINT_LEAST32_TYPE__ unsigned int
246 // VE:#define __UINT_LEAST64_FMTX__ "lX"
247 // VE:#define __UINT_LEAST64_FMTo__ "lo"
248 // VE:#define __UINT_LEAST64_FMTu__ "lu"
249 // VE:#define __UINT_LEAST64_FMTx__ "lx"
250 // VE:#define __UINT_LEAST64_MAX__ 18446744073709551615UL
251 // VE:#define __UINT_LEAST64_TYPE__ long unsigned int
252 // VE:#define __UINT_LEAST8_FMTX__ "hhX"
253 // VE:#define __UINT_LEAST8_FMTo__ "hho"
254 // VE:#define __UINT_LEAST8_FMTu__ "hhu"
255 // VE:#define __UINT_LEAST8_FMTx__ "hhx"
256 // VE:#define __UINT_LEAST8_MAX__ 255
257 // VE:#define __UINT_LEAST8_TYPE__ unsigned char
258 // VE:#define __USER_LABEL_PREFIX__
259 // VE-NOT:#define __VECTOR__
260 // VE:#define __WCHAR_MAX__ 4294967295U
261 // VE:#define __WCHAR_TYPE__ unsigned int
262 // VE:#define __WCHAR_UNSIGNED__ 1
263 // VE:#define __WCHAR_WIDTH__ 32
264 // VE:#define __WINT_MAX__ 4294967295U
265 // VE:#define __WINT_TYPE__ unsigned int
266 // VE:#define __WINT_UNSIGNED__ 1
267 // VE:#define __WINT_WIDTH__ 32
268 // VE:#define __linux 1
269 // VE:#define __linux__ 1
270 // VE:#define __llvm__ 1
271 // VE:#define __unix 1
272 // VE:#define __unix__ 1
274 // VE:#define __ve__ 1
275 // VE:#define linux 1