modula2: M2MetaError.{def,mod} and P2SymBuild.mod further cleanup
[official-gcc.git] / gcc / testsuite / gcc.dg / c23-constexpr-8.c
blob02c039b6b393fe9053673a26f68ac83f2d90c0f5
1 /* Test C23 constexpr. Valid code, compilation tests, IEEE arithmetic. */
2 /* { dg-do compile } */
3 /* { dg-options "-std=c23 -pedantic-errors" } */
4 /* { dg-add-options ieee } */
5 /* { dg-require-effective-target inff } */
7 constexpr float fi = __builtin_inf ();
8 constexpr double di = __builtin_inff ();
9 constexpr float fn = __builtin_nan ("");
10 constexpr double dn = __builtin_nanf ("");
11 constexpr float fns = __builtin_nansf ("");
12 constexpr double dns = __builtin_nans ("");
13 constexpr _Complex double cdns = __builtin_nans ("");
15 void
16 f0 (void)
18 (constexpr float) { __builtin_inf () };
19 (constexpr double) { __builtin_inff () };
20 (constexpr float) { __builtin_nan ("") };
21 (constexpr double) { __builtin_nanf ("") };
22 (constexpr float) { __builtin_nansf ("") };
23 (constexpr double) { __builtin_nans ("") };
24 (constexpr _Complex double) { __builtin_nans ("") };