testsuite: 32 bit AIX 2 byte wchar
[official-gcc.git] / gcc / testsuite / g++.dg / cpp23 / ext-floating14.C
blob668b765b93d3c19dd0d8735dcc5a4275e1c0389c
1 // P1467R9 - Extended floating-point types and standard names.
2 // PR target/107703
3 // { dg-do run { target c++23 } }
4 // { dg-options "-fexcess-precision=standard" }
6 #include "ext-floating.h"
8 #ifdef __SIZEOF_INT128__
9 #define INT128_MAX ((signed __int128) ((~(unsigned __int128) 0) >> 1))
10 #endif
12 template <typename T, typename F>
13 [[gnu::noipa]] T cvt (F f)
15   return T (F (f));
18 int
19 main ()
21   // __FLT32_MAX_EXP__ is 128, so make sure all unsigned long long and unsigned __int128
22   // values fit into it.  __FLT16_MAX__ is 65504.0f16, so we need to be
23   // careful for that.
24 #if __SIZEOF_LONG_LONG__ * __CHAR_BIT__ <= 128
25 #if !defined(__SIZEOF_INT128__) || __SIZEOF_INT128__ * __CHAR_BIT__ == 128
26 #ifdef __STDCPP_FLOAT16_T__
27   if (cvt <std::float16_t, signed char> (42) != (std::float16_t) 42
28       || cvt <std::float16_t, signed char> (-42) != (std::float16_t) -42
29 #if __SCHAR_MAX__ < 65504
30       || cvt <std::float16_t, signed char> (__SCHAR_MAX__) != (std::float16_t) __SCHAR_MAX__
31       || cvt <std::float16_t, signed char> (-__SCHAR_MAX__ - 1) != (std::float16_t) (-__SCHAR_MAX__ - 1)
32 #endif
33      )
34     __builtin_abort ();
35   if (cvt <std::float16_t, unsigned char> (42) != (std::float16_t) 42
36 #if __SCHAR_MAX__ * 2 + 1 < 65504
37       || cvt <std::float16_t, unsigned char> ((unsigned char) ~0) != (std::float16_t) ((unsigned char) ~0)
38 #endif
39      )
40     __builtin_abort ();
41   if (cvt <std::float16_t, signed short> (42) != (std::float16_t) 42
42       || cvt <std::float16_t, signed short> (-42) != (std::float16_t) -42
43 #if __SHRT_MAX__ < 65504
44       || cvt <std::float16_t, signed short> (__SHRT_MAX__) != (std::float16_t) __SHRT_MAX__
45       || cvt <std::float16_t, signed short> (-__SHRT_MAX__ - 1) != (std::float16_t) (-__SHRT_MAX__ - 1)
46 #else
47       || cvt <std::float16_t, signed short> (65504) != (std::float16_t) 65504
48       || cvt <std::float16_t, signed short> (-65504) != (std::float16_t) -65504
49 #endif
50      )
51     __builtin_abort ();
52   if (cvt <std::float16_t, unsigned short> (42) != (std::float16_t) 42
53       || cvt <std::float16_t, unsigned short> (65504U) != (std::float16_t) 65504U)
54     __builtin_abort ();
55   if (cvt <std::float16_t, signed int> (42) != (std::float16_t) 42
56       || cvt <std::float16_t, signed int> (-42) != (std::float16_t) -42
57 #if __INT_MAX__ < 65504
58       || cvt <std::float16_t, signed short> (__INT_MAX__) != (std::float16_t) __INT_MAX__
59       || cvt <std::float16_t, signed short> (-__INT_MAX__ - 1) != (std::float16_t) (-__INT_MAX__ - 1)
60 #else
61       || cvt <std::float16_t, signed int> (65504) != (std::float16_t) 65504
62       || cvt <std::float16_t, signed int> (-65504) != (std::float16_t) -65504
63 #endif
64      )
65     __builtin_abort ();
66   if (cvt <std::float16_t, unsigned int> (42) != (std::float16_t) 42U
67       || cvt <std::float16_t, unsigned int> (65504U) != (std::float16_t) 65504U)
68     __builtin_abort ();
69   if (cvt <std::float16_t, signed long int> (42L) != (std::float16_t) 42L
70       || cvt <std::float16_t, signed long int> (-42L) != (std::float16_t) -42L
71       || cvt <std::float16_t, signed long int> (65504L) != (std::float16_t) 65504L
72       || cvt <std::float16_t, signed long int> (-65504L) != (std::float16_t) -65504L)
73     __builtin_abort ();
74   if (cvt <std::float16_t, unsigned long int> (42UL) != (std::float16_t) 42UL
75       || cvt <std::float16_t, unsigned long int> (65504UL) != (std::float16_t) 65504UL)
76     __builtin_abort ();
77   if (cvt <std::float16_t, signed long long int> (42LL) != (std::float16_t) 42LL
78       || cvt <std::float16_t, signed long long int> (-42LL) != (std::float16_t) -42LL
79       || cvt <std::float16_t, signed long long int> (65504LL) != (std::float16_t) 65504LL
80       || cvt <std::float16_t, signed long long int> (-65504LL) != (std::float16_t) -65504LL)
81     __builtin_abort ();
82   if (cvt <std::float16_t, unsigned long long int> (42ULL) != (std::float16_t) 42ULL
83       || cvt <std::float16_t, unsigned long long int> (65504ULL) != (std::float16_t) 65504ULL)
84     __builtin_abort ();
85 #ifdef __SIZEOF_INT128__
86   if (cvt <std::float16_t, signed __int128> (42LL) != (std::float16_t) (signed __int128) 42LL
87       || cvt <std::float16_t, signed __int128> (-42LL) != (std::float16_t) (signed __int128) -42LL
88       || cvt <std::float16_t, signed __int128> (65504LL) != (std::float16_t) (signed __int128) 65504LL
89       || cvt <std::float16_t, signed __int128> (-65504LL) != (std::float16_t) (signed __int128) -65504LL)
90     __builtin_abort ();
91   if (cvt <std::float16_t, unsigned __int128> (42ULL) != (std::float16_t) (unsigned __int128) 42ULL
92       || cvt <std::float16_t, unsigned __int128> (65504ULL) != (std::float16_t) (unsigned __int128) 65504ULL)
93     __builtin_abort ();
94 #endif
95 #endif
96 #ifdef __STDCPP_BFLOAT16_T__
97   if (cvt <std::bfloat16_t, signed char> (42) != (std::bfloat16_t) 42
98       || cvt <std::bfloat16_t, signed char> (-42) != (std::bfloat16_t) -42
99       || cvt <std::bfloat16_t, signed char> (__SCHAR_MAX__) != (std::bfloat16_t) __SCHAR_MAX__
100       || cvt <std::bfloat16_t, signed char> (-__SCHAR_MAX__ - 1) != (std::bfloat16_t) (-__SCHAR_MAX__ - 1))
101     __builtin_abort ();
102   if (cvt <std::bfloat16_t, unsigned char> (42) != (std::bfloat16_t) 42
103       || cvt <std::bfloat16_t, unsigned char> ((unsigned char) ~0) != (std::bfloat16_t) ((unsigned char) ~0))
104     __builtin_abort ();
105   if (cvt <std::bfloat16_t, signed short> (42) != (std::bfloat16_t) 42
106       || cvt <std::bfloat16_t, signed short> (-42) != (std::bfloat16_t) -42
107       || cvt <std::bfloat16_t, signed short> (__SHRT_MAX__) != (std::bfloat16_t) __SHRT_MAX__
108       || cvt <std::bfloat16_t, signed short> (-__SHRT_MAX__ - 1) != (std::bfloat16_t) (-__SHRT_MAX__ - 1))
109     __builtin_abort ();
110   if (cvt <std::bfloat16_t, unsigned short> (42) != (std::bfloat16_t) 42
111       || cvt <std::bfloat16_t, unsigned short> ((unsigned short) ~0) != (std::bfloat16_t) ((unsigned short) ~0))
112     __builtin_abort ();
113   if (cvt <std::bfloat16_t, signed int> (42) != (std::bfloat16_t) 42
114       || cvt <std::bfloat16_t, signed int> (-42) != (std::bfloat16_t) -42
115       || cvt <std::bfloat16_t, signed int> (__INT_MAX__) != (std::bfloat16_t) __INT_MAX__
116       || cvt <std::bfloat16_t, signed int> (-__INT_MAX__ - 1) != (std::bfloat16_t) (-__INT_MAX__ - 1))
117     __builtin_abort ();
118   if (cvt <std::bfloat16_t, unsigned int> (42) != (std::bfloat16_t) 42U
119       || cvt <std::bfloat16_t, unsigned int> (~0U) != (std::bfloat16_t) ~0U)
120     __builtin_abort ();
121   if (cvt <std::bfloat16_t, signed long int> (42L) != (std::bfloat16_t) 42L
122       || cvt <std::bfloat16_t, signed long int> (-42L) != (std::bfloat16_t) -42L
123       || cvt <std::bfloat16_t, signed long int> (__LONG_MAX__) != (std::bfloat16_t) __LONG_MAX__
124       || cvt <std::bfloat16_t, signed long int> (-__LONG_MAX__ - 1) != (std::bfloat16_t) (-__LONG_MAX__ - 1))
125     __builtin_abort ();
126   if (cvt <std::bfloat16_t, unsigned long int> (42UL) != (std::bfloat16_t) 42UL
127       || cvt <std::bfloat16_t, unsigned long int> (~0UL) != (std::bfloat16_t) ~0UL)
128     __builtin_abort ();
129   if (cvt <std::bfloat16_t, signed long long int> (42LL) != (std::bfloat16_t) 42LL
130       || cvt <std::bfloat16_t, signed long long int> (-42LL) != (std::bfloat16_t) -42LL
131       || cvt <std::bfloat16_t, signed long long int> (__LONG_LONG_MAX__) != (std::bfloat16_t) __LONG_LONG_MAX__
132       || cvt <std::bfloat16_t, signed long long int> (-__LONG_LONG_MAX__ - 1) != (std::bfloat16_t) (-__LONG_LONG_MAX__ - 1))
133     __builtin_abort ();
134   if (cvt <std::bfloat16_t, unsigned long long int> (42ULL) != (std::bfloat16_t) 42ULL
135       || cvt <std::bfloat16_t, unsigned long long int> (~0ULL) != (std::bfloat16_t) ~0ULL)
136     __builtin_abort ();
137 #ifdef __SIZEOF_INT128__
138   if (cvt <std::bfloat16_t, signed __int128> (42LL) != (std::bfloat16_t) (signed __int128) 42LL
139       || cvt <std::bfloat16_t, signed __int128> (-42LL) != (std::bfloat16_t) (signed __int128) -42LL
140       || cvt <std::bfloat16_t, signed __int128> (INT128_MAX) != (std::bfloat16_t) INT128_MAX
141       || cvt <std::bfloat16_t, signed __int128> (-INT128_MAX - 1) != (std::bfloat16_t) (-INT128_MAX - 1))
142     __builtin_abort ();
143   if (cvt <std::bfloat16_t, unsigned __int128> (42ULL) != (std::bfloat16_t) (unsigned __int128) 42ULL
144       || cvt <std::bfloat16_t, unsigned __int128> (~(unsigned __int128) 0) != (std::bfloat16_t) (~(unsigned __int128) 0))
145     __builtin_abort ();
146 #endif
147 #endif
148 #ifdef __STDCPP_FLOAT32_T__
149   if (cvt <std::float32_t, signed char> (42) != (std::float32_t) 42
150       || cvt <std::float32_t, signed char> (-42) != (std::float32_t) -42
151       || cvt <std::float32_t, signed char> (__SCHAR_MAX__) != (std::float32_t) __SCHAR_MAX__
152       || cvt <std::float32_t, signed char> (-__SCHAR_MAX__ - 1) != (std::float32_t) (-__SCHAR_MAX__ - 1))
153     __builtin_abort ();
154   if (cvt <std::float32_t, unsigned char> (42) != (std::float32_t) 42
155       || cvt <std::float32_t, unsigned char> ((unsigned char) ~0) != (std::float32_t) ((unsigned char) ~0))
156     __builtin_abort ();
157   if (cvt <std::float32_t, signed short> (42) != (std::float32_t) 42
158       || cvt <std::float32_t, signed short> (-42) != (std::float32_t) -42
159       || cvt <std::float32_t, signed short> (__SHRT_MAX__) != (std::float32_t) __SHRT_MAX__
160       || cvt <std::float32_t, signed short> (-__SHRT_MAX__ - 1) != (std::float32_t) (-__SHRT_MAX__ - 1))
161     __builtin_abort ();
162   if (cvt <std::float32_t, unsigned short> (42) != (std::float32_t) 42
163       || cvt <std::float32_t, unsigned short> ((unsigned short) ~0) != (std::float32_t) ((unsigned short) ~0))
164     __builtin_abort ();
165   if (cvt <std::float32_t, signed int> (42) != (std::float32_t) 42
166       || cvt <std::float32_t, signed int> (-42) != (std::float32_t) -42
167       || cvt <std::float32_t, signed int> (__INT_MAX__) != (std::float32_t) __INT_MAX__
168       || cvt <std::float32_t, signed int> (-__INT_MAX__ - 1) != (std::float32_t) (-__INT_MAX__ - 1))
169     __builtin_abort ();
170   if (cvt <std::float32_t, unsigned int> (42) != (std::float32_t) 42U
171       || cvt <std::float32_t, unsigned int> (~0U) != (std::float32_t) ~0U)
172     __builtin_abort ();
173   if (cvt <std::float32_t, signed long int> (42L) != (std::float32_t) 42L
174       || cvt <std::float32_t, signed long int> (-42L) != (std::float32_t) -42L
175       || cvt <std::float32_t, signed long int> (__LONG_MAX__) != (std::float32_t) __LONG_MAX__
176       || cvt <std::float32_t, signed long int> (-__LONG_MAX__ - 1) != (std::float32_t) (-__LONG_MAX__ - 1))
177     __builtin_abort ();
178   if (cvt <std::float32_t, unsigned long int> (42UL) != (std::float32_t) 42UL
179       || cvt <std::float32_t, unsigned long int> (~0UL) != (std::float32_t) ~0UL)
180     __builtin_abort ();
181   if (cvt <std::float32_t, signed long long int> (42LL) != (std::float32_t) 42LL
182       || cvt <std::float32_t, signed long long int> (-42LL) != (std::float32_t) -42LL
183       || cvt <std::float32_t, signed long long int> (__LONG_LONG_MAX__) != (std::float32_t) __LONG_LONG_MAX__
184       || cvt <std::float32_t, signed long long int> (-__LONG_LONG_MAX__ - 1) != (std::float32_t) (-__LONG_LONG_MAX__ - 1))
185     __builtin_abort ();
186   if (cvt <std::float32_t, unsigned long long int> (42ULL) != (std::float32_t) 42ULL
187       || cvt <std::float32_t, unsigned long long int> (~0ULL) != (std::float32_t) ~0ULL)
188     __builtin_abort ();
189 #ifdef __SIZEOF_INT128__
190   if (cvt <std::float32_t, signed __int128> (42LL) != (std::float32_t) (signed __int128) 42LL
191       || cvt <std::float32_t, signed __int128> (-42LL) != (std::float32_t) (signed __int128) -42LL
192       || cvt <std::float32_t, signed __int128> (INT128_MAX) != (std::float32_t) INT128_MAX
193       || cvt <std::float32_t, signed __int128> (-INT128_MAX - 1) != (std::float32_t) (-INT128_MAX - 1))
194     __builtin_abort ();
195   if (cvt <std::float32_t, unsigned __int128> (42ULL) != (std::float32_t) (unsigned __int128) 42ULL
196       || cvt <std::float32_t, unsigned __int128> (~(unsigned __int128) 0) != (std::float32_t) (~(unsigned __int128) 0))
197     __builtin_abort ();
198 #endif
199 #endif
200 #ifdef __STDCPP_FLOAT64_T__
201   if (cvt <std::float64_t, signed char> (42) != (std::float64_t) 42
202       || cvt <std::float64_t, signed char> (-42) != (std::float64_t) -42
203       || cvt <std::float64_t, signed char> (__SCHAR_MAX__) != (std::float64_t) __SCHAR_MAX__
204       || cvt <std::float64_t, signed char> (-__SCHAR_MAX__ - 1) != (std::float64_t) (-__SCHAR_MAX__ - 1))
205     __builtin_abort ();
206   if (cvt <std::float64_t, unsigned char> (42) != (std::float64_t) 42
207       || cvt <std::float64_t, unsigned char> ((unsigned char) ~0) != (std::float64_t) ((unsigned char) ~0))
208     __builtin_abort ();
209   if (cvt <std::float64_t, signed short> (42) != (std::float64_t) 42
210       || cvt <std::float64_t, signed short> (-42) != (std::float64_t) -42
211       || cvt <std::float64_t, signed short> (__SHRT_MAX__) != (std::float64_t) __SHRT_MAX__
212       || cvt <std::float64_t, signed short> (-__SHRT_MAX__ - 1) != (std::float64_t) (-__SHRT_MAX__ - 1))
213     __builtin_abort ();
214   if (cvt <std::float64_t, unsigned short> (42) != (std::float64_t) 42
215       || cvt <std::float64_t, unsigned short> ((unsigned short) ~0) != (std::float64_t) ((unsigned short) ~0))
216     __builtin_abort ();
217   if (cvt <std::float64_t, signed int> (42) != (std::float64_t) 42
218       || cvt <std::float64_t, signed int> (-42) != (std::float64_t) -42
219       || cvt <std::float64_t, signed int> (__INT_MAX__) != (std::float64_t) __INT_MAX__
220       || cvt <std::float64_t, signed int> (-__INT_MAX__ - 1) != (std::float64_t) (-__INT_MAX__ - 1))
221     __builtin_abort ();
222   if (cvt <std::float64_t, unsigned int> (42) != (std::float64_t) 42U
223       || cvt <std::float64_t, unsigned int> (~0U) != (std::float64_t) ~0U)
224     __builtin_abort ();
225   if (cvt <std::float64_t, signed long int> (42L) != (std::float64_t) 42L
226       || cvt <std::float64_t, signed long int> (-42L) != (std::float64_t) -42L
227       || cvt <std::float64_t, signed long int> (__LONG_MAX__) != (std::float64_t) __LONG_MAX__
228       || cvt <std::float64_t, signed long int> (-__LONG_MAX__ - 1) != (std::float64_t) (-__LONG_MAX__ - 1))
229     __builtin_abort ();
230   if (cvt <std::float64_t, unsigned long int> (42UL) != (std::float64_t) 42UL
231       || cvt <std::float64_t, unsigned long int> (~0UL) != (std::float64_t) ~0UL)
232     __builtin_abort ();
233   if (cvt <std::float64_t, signed long long int> (42LL) != (std::float64_t) 42LL
234       || cvt <std::float64_t, signed long long int> (-42LL) != (std::float64_t) -42LL
235       || cvt <std::float64_t, signed long long int> (__LONG_LONG_MAX__) != (std::float64_t) __LONG_LONG_MAX__
236       || cvt <std::float64_t, signed long long int> (-__LONG_LONG_MAX__ - 1) != (std::float64_t) (-__LONG_LONG_MAX__ - 1))
237     __builtin_abort ();
238   if (cvt <std::float64_t, unsigned long long int> (42ULL) != (std::float64_t) 42ULL
239       || cvt <std::float64_t, unsigned long long int> (~0ULL) != (std::float64_t) ~0ULL)
240     __builtin_abort ();
241 #ifdef __SIZEOF_INT128__
242   if (cvt <std::float64_t, signed __int128> (42LL) != (std::float64_t) (signed __int128) 42LL
243       || cvt <std::float64_t, signed __int128> (-42LL) != (std::float64_t) (signed __int128) -42LL
244       || cvt <std::float64_t, signed __int128> (INT128_MAX) != (std::float64_t) INT128_MAX
245       || cvt <std::float64_t, signed __int128> (-INT128_MAX - 1) != (std::float64_t) (-INT128_MAX - 1))
246     __builtin_abort ();
247   if (cvt <std::float64_t, unsigned __int128> (42ULL) != (std::float64_t) (unsigned __int128) 42ULL
248       || cvt <std::float64_t, unsigned __int128> (~(unsigned __int128) 0) != (std::float64_t) (~(unsigned __int128) 0))
249     __builtin_abort ();
250 #endif
251 #endif
252 #ifdef __STDCPP_FLOAT128_T__
253   if (cvt <std::float128_t, signed char> (42) != (std::float128_t) 42
254       || cvt <std::float128_t, signed char> (-42) != (std::float128_t) -42
255       || cvt <std::float128_t, signed char> (__SCHAR_MAX__) != (std::float128_t) __SCHAR_MAX__
256       || cvt <std::float128_t, signed char> (-__SCHAR_MAX__ - 1) != (std::float128_t) (-__SCHAR_MAX__ - 1))
257     __builtin_abort ();
258   if (cvt <std::float128_t, unsigned char> (42) != (std::float128_t) 42
259       || cvt <std::float128_t, unsigned char> ((unsigned char) ~0) != (std::float128_t) ((unsigned char) ~0))
260     __builtin_abort ();
261   if (cvt <std::float128_t, signed short> (42) != (std::float128_t) 42
262       || cvt <std::float128_t, signed short> (-42) != (std::float128_t) -42
263       || cvt <std::float128_t, signed short> (__SHRT_MAX__) != (std::float128_t) __SHRT_MAX__
264       || cvt <std::float128_t, signed short> (-__SHRT_MAX__ - 1) != (std::float128_t) (-__SHRT_MAX__ - 1))
265     __builtin_abort ();
266   if (cvt <std::float128_t, unsigned short> (42) != (std::float128_t) 42
267       || cvt <std::float128_t, unsigned short> ((unsigned short) ~0) != (std::float128_t) ((unsigned short) ~0))
268     __builtin_abort ();
269   if (cvt <std::float128_t, signed int> (42) != (std::float128_t) 42
270       || cvt <std::float128_t, signed int> (-42) != (std::float128_t) -42
271       || cvt <std::float128_t, signed int> (__INT_MAX__) != (std::float128_t) __INT_MAX__
272       || cvt <std::float128_t, signed int> (-__INT_MAX__ - 1) != (std::float128_t) (-__INT_MAX__ - 1))
273     __builtin_abort ();
274   if (cvt <std::float128_t, unsigned int> (42) != (std::float128_t) 42U
275       || cvt <std::float128_t, unsigned int> (~0U) != (std::float128_t) ~0U)
276     __builtin_abort ();
277   if (cvt <std::float128_t, signed long int> (42L) != (std::float128_t) 42L
278       || cvt <std::float128_t, signed long int> (-42L) != (std::float128_t) -42L
279       || cvt <std::float128_t, signed long int> (__LONG_MAX__) != (std::float128_t) __LONG_MAX__
280       || cvt <std::float128_t, signed long int> (-__LONG_MAX__ - 1) != (std::float128_t) (-__LONG_MAX__ - 1))
281     __builtin_abort ();
282   if (cvt <std::float128_t, unsigned long int> (42UL) != (std::float128_t) 42UL
283       || cvt <std::float128_t, unsigned long int> (~0UL) != (std::float128_t) ~0UL)
284     __builtin_abort ();
285   if (cvt <std::float128_t, signed long long int> (42LL) != (std::float128_t) 42LL
286       || cvt <std::float128_t, signed long long int> (-42LL) != (std::float128_t) -42LL
287       || cvt <std::float128_t, signed long long int> (__LONG_LONG_MAX__) != (std::float128_t) __LONG_LONG_MAX__
288       || cvt <std::float128_t, signed long long int> (-__LONG_LONG_MAX__ - 1) != (std::float128_t) (-__LONG_LONG_MAX__ - 1))
289     __builtin_abort ();
290   if (cvt <std::float128_t, unsigned long long int> (42ULL) != (std::float128_t) 42ULL
291       || cvt <std::float128_t, unsigned long long int> (~0ULL) != (std::float128_t) ~0ULL)
292     __builtin_abort ();
293 #ifdef __SIZEOF_INT128__
294   if (cvt <std::float128_t, signed __int128> (42LL) != (std::float128_t) (signed __int128) 42LL
295       || cvt <std::float128_t, signed __int128> (-42LL) != (std::float128_t) (signed __int128) -42LL
296       || cvt <std::float128_t, signed __int128> (INT128_MAX) != (std::float128_t) INT128_MAX
297       || cvt <std::float128_t, signed __int128> (-INT128_MAX - 1) != (std::float128_t) (-INT128_MAX - 1))
298     __builtin_abort ();
299   if (cvt <std::float128_t, unsigned __int128> (42ULL) != (std::float128_t) (unsigned __int128) 42ULL
300       || cvt <std::float128_t, unsigned __int128> (~(unsigned __int128) 0) != (std::float128_t) (~(unsigned __int128) 0))
301     __builtin_abort ();
302 #endif
303 #endif
305 #ifdef __STDCPP_FLOAT16_T__
306   if (cvt <signed char, std::float16_t> (42.0f16) != (signed char) (std::float16_t) 42.0f16
307       || cvt <signed char, std::float16_t> (-42.0f16) != (signed char) (std::float16_t) -42.0f16
308 #if __SCHAR_MAX__ < 65504
309       || cvt <signed char, std::float16_t> ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2)) != (signed char) (std::float16_t) ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))
310       || cvt <signed char, std::float16_t> (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))) != (signed char) (std::float16_t) (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2)))
311 #endif
312      )
313     __builtin_abort ();
314   if (cvt <unsigned char, std::float16_t> (42.0f16) != (unsigned char) (std::float16_t) 42.0f16
315 #if __SCHAR_MAX__ * 2 + 1 < 65504
316       || cvt <unsigned char, std::float16_t> ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)) != (unsigned char) (std::float16_t) ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1))
317 #endif
318      )
319     __builtin_abort ();
320   if (cvt <signed short, std::float16_t> (42.0f16) != (signed short) (std::float16_t) 42.0f16
321       || cvt <signed short, std::float16_t> (-42.0f16) != (signed short) (std::float16_t) -42.0f16
322 #if __SHRT_MAX__ < 65504
323       || cvt <signed short, std::float16_t> ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2)) != (signed short) (std::float16_t) ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))
324       || cvt <signed short, std::float16_t> (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))) != (signed short) (std::float16_t) (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2)))
325 #else
326       || cvt <signed short, std::float16_t> (65504.0f16) != (signed short) (std::float16_t) 65504.0f16
327       || cvt <signed short, std::float16_t> (-65504.0f16) != (signed short) (std::float16_t) -65504.0f16
328 #endif
329      )
330     __builtin_abort ();
331   if (cvt <unsigned short, std::float16_t> (42.0f16) != (unsigned short) (std::float16_t) 42.0f16
332       || cvt <unsigned short, std::float16_t> (65504.0f16) != (unsigned short) (std::float16_t) 65504.0f16)
333     __builtin_abort ();
334   if (cvt <signed int, std::float16_t> (42.0f16) != (signed int) (std::float16_t) 42.0f16
335       || cvt <signed int, std::float16_t> (-42.0f16) != (signed int) (std::float16_t) -42.0f16
336 #if __INT_MAX__ < 65504
337       || cvt <signed int, std::float16_t> ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2)) != (signed int) (std::float16_t) ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))
338       || cvt <signed int, std::float16_t> (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))) != (signed int) (std::float16_t) (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2)))
339 #else
340       || cvt <signed int, std::float16_t> (65504.0f16) != (signed int) (std::float16_t) 65504.0f16
341       || cvt <signed int, std::float16_t> (-65504.0f16) != (signed int) (std::float16_t) -65504.0f16
342 #endif
343      )
344     __builtin_abort ();
345   if (cvt <unsigned int, std::float16_t> (42.0f16) != (unsigned int) (std::float16_t) 42.0f16
346       || cvt <unsigned int, std::float16_t> (65504.0f16) != (unsigned int) (std::float16_t) 65504.0f16)
347     __builtin_abort ();
348   if (cvt <signed long int, std::float16_t> (42.0f16) != (signed long int) (std::float16_t) 42.0f16
349       || cvt <signed long int, std::float16_t> (-42.0f16) != (signed long int) (std::float16_t) -42.0f16
350       || cvt <signed long int, std::float16_t> (65504.0f16) != (signed long int) (std::float16_t) 65504.0f16
351       || cvt <signed long int, std::float16_t> (-65504.0f16) != (signed long int) (std::float16_t) -65504.0f16)
352     __builtin_abort ();
353   if (cvt <unsigned long int, std::float16_t> (42.0f16) != (unsigned long int) (std::float16_t) 42.0f16
354       || cvt <unsigned long int, std::float16_t> (65504.0f16) != (unsigned long int) (std::float16_t) 65504.0f16)
355     __builtin_abort ();
356   if (cvt <signed long long int, std::float16_t> (42.0f16) != (signed long long int) (std::float16_t) 42.0f16
357       || cvt <signed long long int, std::float16_t> (-42.0f16) != (signed long long int) (std::float16_t) -42.0f16
358       || cvt <signed long long int, std::float16_t> (65504.0f16) != (signed long long int) (std::float16_t) 65504.0f16
359       || cvt <signed long long int, std::float16_t> (-65504.0f16) != (signed long long int) (std::float16_t) -65504.0f16)
360     __builtin_abort ();
361   if (cvt <unsigned long long int, std::float16_t> (42.0f16) != (unsigned long long int) (std::float16_t) 42.0f16
362       || cvt <unsigned long long int, std::float16_t> (65504.0f16) != (unsigned long long int) (std::float16_t) 65504.0f16)
363     __builtin_abort ();
364 #ifdef __SIZEOF_INT128__
365   if (cvt <signed __int128, std::float16_t> (42.0f16) != (signed __int128) (std::float16_t) 42.0f16
366       || cvt <signed __int128, std::float16_t> (-42.0f16) != (signed __int128) (std::float16_t) -42.0f16
367       || cvt <signed __int128, std::float16_t> (65504.0f16) != (signed __int128) (std::float16_t) 65504.0f16
368       || cvt <signed __int128, std::float16_t> (-65504.0f16) != (signed __int128) (std::float16_t) -65504.0f16)
369     __builtin_abort ();
370   if (cvt <unsigned __int128, std::float16_t> (42.0f16) != (unsigned __int128) (std::float16_t) 42.0f16
371       || cvt <unsigned __int128, std::float16_t> (65504.0f16) != (unsigned __int128) (std::float16_t) 65504.0f16)
372     __builtin_abort ();
373 #endif
374 #endif
375 #ifdef __STDCPP_BFLOAT16_T__
376   if (cvt <signed char, std::bfloat16_t> (42.0bf16) != (signed char) (std::bfloat16_t) 42.0bf16
377       || cvt <signed char, std::bfloat16_t> (-42.0bf16) != (signed char) (std::bfloat16_t) -42.0bf16
378       || cvt <signed char, std::bfloat16_t> ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2)) != (signed char) (std::bfloat16_t) ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))
379       || cvt <signed char, std::bfloat16_t> (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))) != (signed char) (std::bfloat16_t) (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))))
380     __builtin_abort ();
381   if (cvt <unsigned char, std::bfloat16_t> (42.0bf16) != (unsigned char) (std::bfloat16_t) 42.0bf16
382       || cvt <unsigned char, std::bfloat16_t> ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)) != (unsigned char) (std::bfloat16_t) ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)))
383     __builtin_abort ();
384   if (cvt <signed short, std::bfloat16_t> (42.0bf16) != (signed short) (std::bfloat16_t) 42.0bf16
385       || cvt <signed short, std::bfloat16_t> (-42.0bf16) != (signed short) (std::bfloat16_t) -42.0bf16
386       || cvt <signed short, std::bfloat16_t> ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2)) != (signed short) (std::bfloat16_t) ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))
387       || cvt <signed short, std::bfloat16_t> (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))) != (signed short) (std::bfloat16_t) (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))))
388     __builtin_abort ();
389   if (cvt <unsigned short, std::bfloat16_t> (42.0bf16) != (unsigned short) (std::bfloat16_t) 42.0bf16
390       || cvt <unsigned short, std::bfloat16_t> ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)) != (unsigned short) (std::bfloat16_t) ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)))
391     __builtin_abort ();
392   if (cvt <signed int, std::bfloat16_t> (42.0bf16) != (signed int) (std::bfloat16_t) 42.0bf16
393       || cvt <signed int, std::bfloat16_t> (-42.0bf16) != (signed int) (std::bfloat16_t) -42.0bf16
394       || cvt <signed int, std::bfloat16_t> ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2)) != (signed int) (std::bfloat16_t) ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))
395       || cvt <signed int, std::bfloat16_t> (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))) != (signed int) (std::bfloat16_t) (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))))
396     __builtin_abort ();
397   if (cvt <unsigned int, std::bfloat16_t> (42.0bf16) != (unsigned int) (std::bfloat16_t) 42.0bf16
398       || cvt <unsigned int, std::bfloat16_t> ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)) != (unsigned int) (std::bfloat16_t) ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)))
399     __builtin_abort ();
400   if (cvt <signed long int, std::bfloat16_t> (42.0bf16) != (signed long int) (std::bfloat16_t) 42.0bf16
401       || cvt <signed long int, std::bfloat16_t> (-42.0bf16) != (signed long int) (std::bfloat16_t) -42.0bf16
402       || cvt <signed long int, std::bfloat16_t> ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2)) != (signed long int) (std::bfloat16_t) ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))
403       || cvt <signed long int, std::bfloat16_t> (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))) != (signed long int) (std::bfloat16_t) (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))))
404     __builtin_abort ();
405   if (cvt <unsigned long int, std::bfloat16_t> (42.0bf16) != (unsigned long int) (std::bfloat16_t) 42.0bf16
406       || cvt <unsigned long int, std::bfloat16_t> ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)) != (unsigned long int) (std::bfloat16_t) ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)))
407     __builtin_abort ();
408   if (cvt <signed long long int, std::bfloat16_t> (42.0bf16) != (signed long long int) (std::bfloat16_t) 42.0bf16
409       || cvt <signed long long int, std::bfloat16_t> (-42.0bf16) != (signed long long int) (std::bfloat16_t) -42.0bf16
410       || cvt <signed long long int, std::bfloat16_t> ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2)) != (signed long long int) (std::bfloat16_t) ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))
411       || cvt <signed long long int, std::bfloat16_t> (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))) != (signed long long int) (std::bfloat16_t) (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))))
412     __builtin_abort ();
413   if (cvt <unsigned long long int, std::bfloat16_t> (42.0bf16) != (unsigned long long int) (std::bfloat16_t) 42.0bf16
414       || cvt <unsigned long long int, std::bfloat16_t> ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)) != (unsigned long long int) (std::bfloat16_t) ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)))
415     __builtin_abort ();
416 #ifdef __SIZEOF_INT128__
417   if (cvt <signed __int128, std::bfloat16_t> (42.0bf16) != (signed __int128) (std::bfloat16_t) 42.0bf16
418       || cvt <signed __int128, std::bfloat16_t> (-42.0bf16) != (signed __int128) (std::bfloat16_t) -42.0bf16
419       || cvt <signed __int128, std::bfloat16_t> ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2)) != (signed __int128) (std::bfloat16_t) ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))
420       || cvt <signed __int128, std::bfloat16_t> (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))) != (signed __int128) (std::bfloat16_t) (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))))
421     __builtin_abort ();
422   if (cvt <unsigned __int128, std::bfloat16_t> (42.0bf16) != (unsigned __int128) (std::bfloat16_t) 42.0bf16
423       || cvt <unsigned __int128, std::bfloat16_t> ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)) != (unsigned __int128) (std::bfloat16_t) ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)))
424     __builtin_abort ();
425 #endif
426 #endif
427 #ifdef __STDCPP_FLOAT32_T__
428   if (cvt <signed char, std::float32_t> (42.0f32) != (signed char) (std::float32_t) 42.0f32
429       || cvt <signed char, std::float32_t> (-42.0f32) != (signed char) (std::float32_t) -42.0f32
430       || cvt <signed char, std::float32_t> ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2)) != (signed char) (std::float32_t) ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))
431       || cvt <signed char, std::float32_t> (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))) != (signed char) (std::float32_t) (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))))
432     __builtin_abort ();
433   if (cvt <unsigned char, std::float32_t> (42.0f32) != (unsigned char) (std::float32_t) 42.0f32
434       || cvt <unsigned char, std::float32_t> ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)) != (unsigned char) (std::float32_t) ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)))
435     __builtin_abort ();
436   if (cvt <signed short, std::float32_t> (42.0f32) != (signed short) (std::float32_t) 42.0f32
437       || cvt <signed short, std::float32_t> (-42.0f32) != (signed short) (std::float32_t) -42.0f32
438       || cvt <signed short, std::float32_t> ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2)) != (signed short) (std::float32_t) ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))
439       || cvt <signed short, std::float32_t> (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))) != (signed short) (std::float32_t) (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))))
440     __builtin_abort ();
441   if (cvt <unsigned short, std::float32_t> (42.0f32) != (unsigned short) (std::float32_t) 42.0f32
442       || cvt <unsigned short, std::float32_t> ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)) != (unsigned short) (std::float32_t) ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)))
443     __builtin_abort ();
444   if (cvt <signed int, std::float32_t> (42.0f32) != (signed int) (std::float32_t) 42.0f32
445       || cvt <signed int, std::float32_t> (-42.0f32) != (signed int) (std::float32_t) -42.0f32
446       || cvt <signed int, std::float32_t> ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2)) != (signed int) (std::float32_t) ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))
447       || cvt <signed int, std::float32_t> (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))) != (signed int) (std::float32_t) (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))))
448     __builtin_abort ();
449   if (cvt <unsigned int, std::float32_t> (42.0f32) != (unsigned int) (std::float32_t) 42.0f32
450       || cvt <unsigned int, std::float32_t> ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)) != (unsigned int) (std::float32_t) ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)))
451     __builtin_abort ();
452   if (cvt <signed long int, std::float32_t> (42.0f32) != (signed long int) (std::float32_t) 42.0f32
453       || cvt <signed long int, std::float32_t> (-42.0f32) != (signed long int) (std::float32_t) -42.0f32
454       || cvt <signed long int, std::float32_t> ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2)) != (signed long int) (std::float32_t) ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))
455       || cvt <signed long int, std::float32_t> (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))) != (signed long int) (std::float32_t) (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))))
456     __builtin_abort ();
457   if (cvt <unsigned long int, std::float32_t> (42.0f32) != (unsigned long int) (std::float32_t) 42.0f32
458       || cvt <unsigned long int, std::float32_t> ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)) != (unsigned long int) (std::float32_t) ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)))
459     __builtin_abort ();
460   if (cvt <signed long long int, std::float32_t> (42.0f32) != (signed long long int) (std::float32_t) 42.0f32
461       || cvt <signed long long int, std::float32_t> (-42.0f32) != (signed long long int) (std::float32_t) -42.0f32
462       || cvt <signed long long int, std::float32_t> ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2)) != (signed long long int) (std::float32_t) ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))
463       || cvt <signed long long int, std::float32_t> (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))) != (signed long long int) (std::float32_t) (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))))
464     __builtin_abort ();
465   if (cvt <unsigned long long int, std::float32_t> (42.0f32) != (unsigned long long int) (std::float32_t) 42.0f32
466       || cvt <unsigned long long int, std::float32_t> ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)) != (unsigned long long int) (std::float32_t) ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)))
467     __builtin_abort ();
468 #ifdef __SIZEOF_INT128__
469   if (cvt <signed __int128, std::float32_t> (42.0f32) != (signed __int128) (std::float32_t) 42.0f32
470       || cvt <signed __int128, std::float32_t> (-42.0f32) != (signed __int128) (std::float32_t) -42.0f32
471       || cvt <signed __int128, std::float32_t> ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2)) != (signed __int128) (std::float32_t) ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))
472       || cvt <signed __int128, std::float32_t> (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))) != (signed __int128) (std::float32_t) (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))))
473     __builtin_abort ();
474   if (cvt <unsigned __int128, std::float32_t> (42.0f32) != (unsigned __int128) (std::float32_t) 42.0f32
475       || cvt <unsigned __int128, std::float32_t> ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)) != (unsigned __int128) (std::float32_t) ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)))
476     __builtin_abort ();
477 #endif
478 #endif
479 #ifdef __STDCPP_FLOAT64_T__
480   if (cvt <signed char, std::float64_t> (42.0f64) != (signed char) (std::float64_t) 42.0f64
481       || cvt <signed char, std::float64_t> (-42.0f64) != (signed char) (std::float64_t) -42.0f64
482       || cvt <signed char, std::float64_t> ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2)) != (signed char) (std::float64_t) ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))
483       || cvt <signed char, std::float64_t> (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))) != (signed char) (std::float64_t) (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))))
484     __builtin_abort ();
485   if (cvt <unsigned char, std::float64_t> (42.0f64) != (unsigned char) (std::float64_t) 42.0f64
486       || cvt <unsigned char, std::float64_t> ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)) != (unsigned char) (std::float64_t) ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)))
487     __builtin_abort ();
488   if (cvt <signed short, std::float64_t> (42.0f64) != (signed short) (std::float64_t) 42.0f64
489       || cvt <signed short, std::float64_t> (-42.0f64) != (signed short) (std::float64_t) -42.0f64
490       || cvt <signed short, std::float64_t> ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2)) != (signed short) (std::float64_t) ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))
491       || cvt <signed short, std::float64_t> (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))) != (signed short) (std::float64_t) (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))))
492     __builtin_abort ();
493   if (cvt <unsigned short, std::float64_t> (42.0f64) != (unsigned short) (std::float64_t) 42.0f64
494       || cvt <unsigned short, std::float64_t> ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)) != (unsigned short) (std::float64_t) ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)))
495     __builtin_abort ();
496   if (cvt <signed int, std::float64_t> (42.0f64) != (signed int) (std::float64_t) 42.0f64
497       || cvt <signed int, std::float64_t> (-42.0f64) != (signed int) (std::float64_t) -42.0f64
498       || cvt <signed int, std::float64_t> ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2)) != (signed int) (std::float64_t) ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))
499       || cvt <signed int, std::float64_t> (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))) != (signed int) (std::float64_t) (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))))
500     __builtin_abort ();
501   if (cvt <unsigned int, std::float64_t> (42.0f64) != (unsigned int) (std::float64_t) 42.0f64
502       || cvt <unsigned int, std::float64_t> ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)) != (unsigned int) (std::float64_t) ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)))
503     __builtin_abort ();
504   if (cvt <signed long int, std::float64_t> (42.0f64) != (signed long int) (std::float64_t) 42.0f64
505       || cvt <signed long int, std::float64_t> (-42.0f64) != (signed long int) (std::float64_t) -42.0f64
506       || cvt <signed long int, std::float64_t> ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2)) != (signed long int) (std::float64_t) ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))
507       || cvt <signed long int, std::float64_t> (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))) != (signed long int) (std::float64_t) (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))))
508     __builtin_abort ();
509   if (cvt <unsigned long int, std::float64_t> (42.0f64) != (unsigned long int) (std::float64_t) 42.0f64
510       || cvt <unsigned long int, std::float64_t> ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)) != (unsigned long int) (std::float64_t) ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)))
511     __builtin_abort ();
512   if (cvt <signed long long int, std::float64_t> (42.0f64) != (signed long long int) (std::float64_t) 42.0f64
513       || cvt <signed long long int, std::float64_t> (-42.0f64) != (signed long long int) (std::float64_t) -42.0f64
514       || cvt <signed long long int, std::float64_t> ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2)) != (signed long long int) (std::float64_t) ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))
515       || cvt <signed long long int, std::float64_t> (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))) != (signed long long int) (std::float64_t) (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))))
516     __builtin_abort ();
517   if (cvt <unsigned long long int, std::float64_t> (42.0f64) != (unsigned long long int) (std::float64_t) 42.0f64
518       || cvt <unsigned long long int, std::float64_t> ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)) != (unsigned long long int) (std::float64_t) ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)))
519     __builtin_abort ();
520 #ifdef __SIZEOF_INT128__
521   if (cvt <signed __int128, std::float64_t> (42.0f64) != (signed __int128) (std::float64_t) 42.0f64
522       || cvt <signed __int128, std::float64_t> (-42.0f64) != (signed __int128) (std::float64_t) -42.0f64
523       || cvt <signed __int128, std::float64_t> ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2)) != (signed __int128) (std::float64_t) ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))
524       || cvt <signed __int128, std::float64_t> (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))) != (signed __int128) (std::float64_t) (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))))
525     __builtin_abort ();
526   if (cvt <unsigned __int128, std::float64_t> (42.0f64) != (unsigned __int128) (std::float64_t) 42.0f64
527       || cvt <unsigned __int128, std::float64_t> ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)) != (unsigned __int128) (std::float64_t) ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)))
528     __builtin_abort ();
529 #endif
530 #endif
531 #ifdef __STDCPP_FLOAT128_T__
532   if (cvt <signed char, std::float128_t> (42.0f128) != (signed char) (std::float128_t) 42.0f128
533       || cvt <signed char, std::float128_t> (-42.0f128) != (signed char) (std::float128_t) -42.0f128
534       || cvt <signed char, std::float128_t> ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2)) != (signed char) (std::float128_t) ((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))
535       || cvt <signed char, std::float128_t> (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))) != (signed char) (std::float128_t) (-((signed char) 1 << (__CHAR_BIT__ * sizeof (signed char) - 2))))
536     __builtin_abort ();
537   if (cvt <unsigned char, std::float128_t> (42.0f128) != (unsigned char) (std::float128_t) 42.0f128
538       || cvt <unsigned char, std::float128_t> ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)) != (unsigned char) (std::float128_t) ((unsigned char) 1 << (__CHAR_BIT__ * sizeof (unsigned char) - 1)))
539     __builtin_abort ();
540   if (cvt <signed short, std::float128_t> (42.0f128) != (signed short) (std::float128_t) 42.0f128
541       || cvt <signed short, std::float128_t> (-42.0f128) != (signed short) (std::float128_t) -42.0f128
542       || cvt <signed short, std::float128_t> ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2)) != (signed short) (std::float128_t) ((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))
543       || cvt <signed short, std::float128_t> (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))) != (signed short) (std::float128_t) (-((signed short) 1 << (__CHAR_BIT__ * sizeof (signed short) - 2))))
544     __builtin_abort ();
545   if (cvt <unsigned short, std::float128_t> (42.0f128) != (unsigned short) (std::float128_t) 42.0f128
546       || cvt <unsigned short, std::float128_t> ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)) != (unsigned short) (std::float128_t) ((unsigned short) 1 << (__CHAR_BIT__ * sizeof (unsigned short) - 1)))
547     __builtin_abort ();
548   if (cvt <signed int, std::float128_t> (42.0f128) != (signed int) (std::float128_t) 42.0f128
549       || cvt <signed int, std::float128_t> (-42.0f128) != (signed int) (std::float128_t) -42.0f128
550       || cvt <signed int, std::float128_t> ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2)) != (signed int) (std::float128_t) ((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))
551       || cvt <signed int, std::float128_t> (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))) != (signed int) (std::float128_t) (-((signed int) 1 << (__CHAR_BIT__ * sizeof (signed int) - 2))))
552     __builtin_abort ();
553   if (cvt <unsigned int, std::float128_t> (42.0f128) != (unsigned int) (std::float128_t) 42.0f128
554       || cvt <unsigned int, std::float128_t> ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)) != (unsigned int) (std::float128_t) ((unsigned int) 1 << (__CHAR_BIT__ * sizeof (unsigned int) - 1)))
555     __builtin_abort ();
556   if (cvt <signed long int, std::float128_t> (42.0f128) != (signed long int) (std::float128_t) 42.0f128
557       || cvt <signed long int, std::float128_t> (-42.0f128) != (signed long int) (std::float128_t) -42.0f128
558       || cvt <signed long int, std::float128_t> ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2)) != (signed long int) (std::float128_t) ((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))
559       || cvt <signed long int, std::float128_t> (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))) != (signed long int) (std::float128_t) (-((signed long int) 1 << (__CHAR_BIT__ * sizeof (signed long int) - 2))))
560     __builtin_abort ();
561   if (cvt <unsigned long int, std::float128_t> (42.0f128) != (unsigned long int) (std::float128_t) 42.0f128
562       || cvt <unsigned long int, std::float128_t> ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)) != (unsigned long int) (std::float128_t) ((unsigned long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long int) - 1)))
563     __builtin_abort ();
564   if (cvt <signed long long int, std::float128_t> (42.0f128) != (signed long long int) (std::float128_t) 42.0f128
565       || cvt <signed long long int, std::float128_t> (-42.0f128) != (signed long long int) (std::float128_t) -42.0f128
566       || cvt <signed long long int, std::float128_t> ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2)) != (signed long long int) (std::float128_t) ((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))
567       || cvt <signed long long int, std::float128_t> (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))) != (signed long long int) (std::float128_t) (-((signed long long int) 1 << (__CHAR_BIT__ * sizeof (signed long long int) - 2))))
568     __builtin_abort ();
569   if (cvt <unsigned long long int, std::float128_t> (42.0f128) != (unsigned long long int) (std::float128_t) 42.0f128
570       || cvt <unsigned long long int, std::float128_t> ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)) != (unsigned long long int) (std::float128_t) ((unsigned long long int) 1 << (__CHAR_BIT__ * sizeof (unsigned long long int) - 1)))
571     __builtin_abort ();
572 #ifdef __SIZEOF_INT128__
573   if (cvt <signed __int128, std::float128_t> (42.0f128) != (signed __int128) (std::float128_t) 42.0f128
574       || cvt <signed __int128, std::float128_t> (-42.0f128) != (signed __int128) (std::float128_t) -42.0f128
575       || cvt <signed __int128, std::float128_t> ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2)) != (signed __int128) (std::float128_t) ((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))
576       || cvt <signed __int128, std::float128_t> (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))) != (signed __int128) (std::float128_t) (-((signed __int128) 1 << (__CHAR_BIT__ * sizeof (signed __int128) - 2))))
577     __builtin_abort ();
578   if (cvt <unsigned __int128, std::float128_t> (42.0f128) != (unsigned __int128) (std::float128_t) 42.0f128
579       || cvt <unsigned __int128, std::float128_t> ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)) != (unsigned __int128) (std::float128_t) ((unsigned __int128) 1 << (__CHAR_BIT__ * sizeof (unsigned __int128) - 1)))
580     __builtin_abort ();
581 #endif
582 #endif
583 #endif
584 #endif