1 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=csky < /dev/null \
2 // RUN: | FileCheck -match-full-lines -check-prefix=CSKY %s
3 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=csky-unknown-linux < /dev/null \
4 // RUN: | FileCheck -match-full-lines -check-prefixes=CSKY,CSKY-LINUX %s
5 // RUN: %clang_cc1 -E -dM -ffreestanding -fgnuc-version=4.2.1 -triple=csky \
6 // RUN: -fforce-enable-int128 < /dev/null | FileCheck -match-full-lines \
7 // RUN: -check-prefixes=CSKY,CSKY-INT128 %s
8 // CSKY: #define _ILP32 1
9 // CSKY: #define __ATOMIC_ACQUIRE 2
10 // CSKY: #define __ATOMIC_ACQ_REL 4
11 // CSKY: #define __ATOMIC_CONSUME 1
12 // CSKY: #define __ATOMIC_RELAXED 0
13 // CSKY: #define __ATOMIC_RELEASE 3
14 // CSKY: #define __ATOMIC_SEQ_CST 5
15 // CSKY: #define __BIGGEST_ALIGNMENT__ 4
16 // CSKY: #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
17 // CSKY: #define __CHAR16_TYPE__ unsigned short
18 // CSKY: #define __CHAR32_TYPE__ unsigned int
19 // CSKY: #define __CHAR_BIT__ 8
20 // CSKY: #define __DBL_DECIMAL_DIG__ 17
21 // CSKY: #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
22 // CSKY: #define __DBL_DIG__ 15
23 // CSKY: #define __DBL_EPSILON__ 2.2204460492503131e-16
24 // CSKY: #define __DBL_HAS_DENORM__ 1
25 // CSKY: #define __DBL_HAS_INFINITY__ 1
26 // CSKY: #define __DBL_HAS_QUIET_NAN__ 1
27 // CSKY: #define __DBL_MANT_DIG__ 53
28 // CSKY: #define __DBL_MAX_10_EXP__ 308
29 // CSKY: #define __DBL_MAX_EXP__ 1024
30 // CSKY: #define __DBL_MAX__ 1.7976931348623157e+308
31 // CSKY: #define __DBL_MIN_10_EXP__ (-307)
32 // CSKY: #define __DBL_MIN_EXP__ (-1021)
33 // CSKY: #define __DBL_MIN__ 2.2250738585072014e-308
34 // CSKY: #define __DECIMAL_DIG__ __LDBL_DECIMAL_DIG__
35 // CSKY: #define __ELF__ 1
36 // CSKY: #define __FINITE_MATH_ONLY__ 0
37 // CSKY: #define __FLT_DECIMAL_DIG__ 9
38 // CSKY: #define __FLT_DENORM_MIN__ 1.40129846e-45F
39 // CSKY: #define __FLT_DIG__ 6
40 // CSKY: #define __FLT_EPSILON__ 1.19209290e-7F
41 // CSKY: #define __FLT_HAS_DENORM__ 1
42 // CSKY: #define __FLT_HAS_INFINITY__ 1
43 // CSKY: #define __FLT_HAS_QUIET_NAN__ 1
44 // CSKY: #define __FLT_MANT_DIG__ 24
45 // CSKY: #define __FLT_MAX_10_EXP__ 38
46 // CSKY: #define __FLT_MAX_EXP__ 128
47 // CSKY: #define __FLT_MAX__ 3.40282347e+38F
48 // CSKY: #define __FLT_MIN_10_EXP__ (-37)
49 // CSKY: #define __FLT_MIN_EXP__ (-125)
50 // CSKY: #define __FLT_MIN__ 1.17549435e-38F
51 // CSKY: #define __FLT_RADIX__ 2
52 // CSKY: #define __GCC_ATOMIC_BOOL_LOCK_FREE 2
53 // CSKY: #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
54 // CSKY: #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
55 // CSKY: #define __GCC_ATOMIC_CHAR_LOCK_FREE 2
56 // CSKY: #define __GCC_ATOMIC_INT_LOCK_FREE 2
57 // CSKY: #define __GCC_ATOMIC_LLONG_LOCK_FREE 1
58 // CSKY: #define __GCC_ATOMIC_LONG_LOCK_FREE 2
59 // CSKY: #define __GCC_ATOMIC_POINTER_LOCK_FREE 2
60 // CSKY: #define __GCC_ATOMIC_SHORT_LOCK_FREE 2
61 // CSKY: #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
62 // CSKY: #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
63 // CSKY: #define __GNUC_MINOR__ {{.*}}
64 // CSKY: #define __GNUC_PATCHLEVEL__ {{.*}}
65 // CSKY: #define __GNUC_STDC_INLINE__ 1
66 // CSKY: #define __GNUC__ {{.*}}
67 // CSKY: #define __GXX_ABI_VERSION {{.*}}
68 // CSKY: #define __ILP32__ 1
69 // CSKY: #define __INT16_C_SUFFIX__
70 // CSKY: #define __INT16_MAX__ 32767
71 // CSKY: #define __INT16_TYPE__ short
72 // CSKY: #define __INT32_C_SUFFIX__
73 // CSKY: #define __INT32_MAX__ 2147483647
74 // CSKY: #define __INT32_TYPE__ int
75 // CSKY: #define __INT64_C_SUFFIX__ LL
76 // CSKY: #define __INT64_MAX__ 9223372036854775807LL
77 // CSKY: #define __INT64_TYPE__ long long int
78 // CSKY: #define __INT8_C_SUFFIX__
79 // CSKY: #define __INT8_MAX__ 127
80 // CSKY: #define __INT8_TYPE__ signed char
81 // CSKY: #define __INTMAX_C_SUFFIX__ LL
82 // CSKY: #define __INTMAX_MAX__ 9223372036854775807LL
83 // CSKY: #define __INTMAX_TYPE__ long long int
84 // CSKY: #define __INTMAX_WIDTH__ 64
85 // CSKY: #define __INTPTR_MAX__ 2147483647
86 // CSKY: #define __INTPTR_TYPE__ int
87 // CSKY: #define __INTPTR_WIDTH__ 32
88 // TODO: C-SKY GCC defines INT_FAST16 as int
89 // CSKY: #define __INT_FAST16_MAX__ 32767
90 // CSKY: #define __INT_FAST16_TYPE__ short
91 // CSKY: #define __INT_FAST32_MAX__ 2147483647
92 // CSKY: #define __INT_FAST32_TYPE__ int
93 // CSKY: #define __INT_FAST64_MAX__ 9223372036854775807LL
94 // CSKY: #define __INT_FAST64_TYPE__ long long int
95 // TODO: C-SKY GCC defines INT_FAST8 as int
96 // CSKY: #define __INT_FAST8_MAX__ 127
97 // CSKY: #define __INT_FAST8_TYPE__ signed char
98 // CSKY: #define __INT_LEAST16_MAX__ 32767
99 // CSKY: #define __INT_LEAST16_TYPE__ short
100 // CSKY: #define __INT_LEAST32_MAX__ 2147483647
101 // CSKY: #define __INT_LEAST32_TYPE__ int
102 // CSKY: #define __INT_LEAST64_MAX__ 9223372036854775807LL
103 // CSKY: #define __INT_LEAST64_TYPE__ long long int
104 // CSKY: #define __INT_LEAST8_MAX__ 127
105 // CSKY: #define __INT_LEAST8_TYPE__ signed char
106 // CSKY: #define __INT_MAX__ 2147483647
107 // CSKY: #define __LDBL_DECIMAL_DIG__ 17
108 // CSKY: #define __LDBL_DENORM_MIN__ 4.9406564584124654e-324L
109 // CSKY: #define __LDBL_DIG__ 15
110 // CSKY: #define __LDBL_EPSILON__ 2.2204460492503131e-16L
111 // CSKY: #define __LDBL_HAS_DENORM__ 1
112 // CSKY: #define __LDBL_HAS_INFINITY__ 1
113 // CSKY: #define __LDBL_HAS_QUIET_NAN__ 1
114 // CSKY: #define __LDBL_MANT_DIG__ 53
115 // CSKY: #define __LDBL_MAX_10_EXP__ 308
116 // CSKY: #define __LDBL_MAX_EXP__ 1024
117 // CSKY: #define __LDBL_MAX__ 1.7976931348623157e+308L
118 // CSKY: #define __LDBL_MIN_10_EXP__ (-307)
119 // CSKY: #define __LDBL_MIN_EXP__ (-1021)
120 // CSKY: #define __LDBL_MIN__ 2.2250738585072014e-308L
121 // CSKY: #define __LITTLE_ENDIAN__ 1
122 // CSKY: #define __LONG_LONG_MAX__ 9223372036854775807LL
123 // CSKY: #define __LONG_MAX__ 2147483647L
124 // CSKY: #define __NO_INLINE__ 1
125 // CSKY: #define __POINTER_WIDTH__ 32
126 // CSKY: #define __PRAGMA_REDEFINE_EXTNAME 1
127 // CSKY: #define __PTRDIFF_MAX__ 2147483647
128 // CSKY: #define __PTRDIFF_TYPE__ int
129 // CSKY: #define __PTRDIFF_WIDTH__ 32
130 // CSKY: #define __SCHAR_MAX__ 127
131 // CSKY: #define __SHRT_MAX__ 32767
132 // CSKY: #define __SIG_ATOMIC_MAX__ 2147483647
133 // CSKY: #define __SIG_ATOMIC_WIDTH__ 32
134 // CSKY: #define __SIZEOF_DOUBLE__ 8
135 // CSKY: #define __SIZEOF_FLOAT__ 4
136 // CSKY-INT128: #define __SIZEOF_INT128__ 16
137 // CSKY: #define __SIZEOF_INT__ 4
138 // CSKY: #define __SIZEOF_LONG_DOUBLE__ 8
139 // CSKY: #define __SIZEOF_LONG_LONG__ 8
140 // CSKY: #define __SIZEOF_LONG__ 4
141 // CSKY: #define __SIZEOF_POINTER__ 4
142 // CSKY: #define __SIZEOF_PTRDIFF_T__ 4
143 // CSKY: #define __SIZEOF_SHORT__ 2
144 // CSKY: #define __SIZEOF_SIZE_T__ 4
145 // CSKY: #define __SIZEOF_WCHAR_T__ 4
146 // CSKY: #define __SIZEOF_WINT_T__ 4
147 // CSKY: #define __SIZE_MAX__ 4294967295U
148 // CSKY: #define __SIZE_TYPE__ unsigned int
149 // CSKY: #define __SIZE_WIDTH__ 32
150 // CSKY: #define __STDC_HOSTED__ 0
151 // CSKY: #define __STDC_UTF_16__ 1
152 // CSKY: #define __STDC_UTF_32__ 1
153 // CSKY: #define __STDC_VERSION__ 201710L
154 // CSKY: #define __STDC__ 1
155 // CSKY: #define __UINT16_C_SUFFIX__
156 // CSKY: #define __UINT16_MAX__ 65535
157 // CSKY: #define __UINT16_TYPE__ unsigned short
158 // CSKY: #define __UINT32_C_SUFFIX__ U
159 // CSKY: #define __UINT32_MAX__ 4294967295U
160 // CSKY: #define __UINT32_TYPE__ unsigned int
161 // CSKY: #define __UINT64_C_SUFFIX__ ULL
162 // CSKY: #define __UINT64_MAX__ 18446744073709551615ULL
163 // CSKY: #define __UINT64_TYPE__ long long unsigned int
164 // CSKY: #define __UINT8_C_SUFFIX__
165 // CSKY: #define __UINT8_MAX__ 255
166 // CSKY: #define __UINT8_TYPE__ unsigned char
167 // CSKY: #define __UINTMAX_C_SUFFIX__ ULL
168 // CSKY: #define __UINTMAX_MAX__ 18446744073709551615ULL
169 // CSKY: #define __UINTMAX_TYPE__ long long unsigned int
170 // CSKY: #define __UINTMAX_WIDTH__ 64
171 // CSKY: #define __UINTPTR_MAX__ 4294967295U
172 // CSKY: #define __UINTPTR_TYPE__ unsigned int
173 // CSKY: #define __UINTPTR_WIDTH__ 32
174 // TODO: C-SKY GCC defines UINT_FAST16 to be unsigned int
175 // CSKY: #define __UINT_FAST16_MAX__ 65535
176 // CSKY: #define __UINT_FAST16_TYPE__ unsigned short
177 // CSKY: #define __UINT_FAST32_MAX__ 4294967295U
178 // CSKY: #define __UINT_FAST32_TYPE__ unsigned int
179 // CSKY: #define __UINT_FAST64_MAX__ 18446744073709551615ULL
180 // CSKY: #define __UINT_FAST64_TYPE__ long long unsigned int
181 // TODO: C-SKY GCC defines UINT_FAST8 to be unsigned int
182 // CSKY: #define __UINT_FAST8_MAX__ 255
183 // CSKY: #define __UINT_FAST8_TYPE__ unsigned char
184 // CSKY: #define __UINT_LEAST16_MAX__ 65535
185 // CSKY: #define __UINT_LEAST16_TYPE__ unsigned short
186 // CSKY: #define __UINT_LEAST32_MAX__ 4294967295U
187 // CSKY: #define __UINT_LEAST32_TYPE__ unsigned int
188 // CSKY: #define __UINT_LEAST64_MAX__ 18446744073709551615ULL
189 // CSKY: #define __UINT_LEAST64_TYPE__ long long unsigned int
190 // CSKY: #define __UINT_LEAST8_MAX__ 255
191 // CSKY: #define __UINT_LEAST8_TYPE__ unsigned char
192 // CSKY: #define __USER_LABEL_PREFIX__
193 // CSKY: #define __WCHAR_MAX__ 2147483647
194 // CSKY: #define __WCHAR_TYPE__ int
195 // CSKY: #define __WCHAR_WIDTH__ 32
196 // CSKY: #define __WINT_TYPE__ unsigned int
197 // CSKY: #define __WINT_UNSIGNED__ 1
198 // CSKY: #define __WINT_WIDTH__ 32
199 // CSKY: #define __ck810__ 1
200 // CSKY: #define __ckcore__ 2
201 // CSKY: #define __cskyLE__ 1
202 // CSKY: #define __csky__ 2
203 // CSKY: #define __cskyabi__ 2
204 // CSKY: #define __cskyle__ 1
205 // CSKY-LINUX: #define __gnu_linux__ 1
206 // CSKY-LINUX: #define __linux 1
207 // CSKY-LINUX: #define __linux__ 1
208 // CSKY-LINUX: #define __unix 1
209 // CSKY-LINUX: #define __unix__ 1
210 // CSKY-LINUX: #define linux 1
211 // CSKY-LINUX: #define unix 1