blob: 02c039b6b393fe9053673a26f68ac83f2d90c0f5 [file] [log] [blame]
/* Test C23 constexpr. Valid code, compilation tests, IEEE arithmetic. */
/* { dg-do compile } */
/* { dg-options "-std=c23 -pedantic-errors" } */
/* { dg-add-options ieee } */
/* { dg-require-effective-target inff } */
constexpr float fi = __builtin_inf ();
constexpr double di = __builtin_inff ();
constexpr float fn = __builtin_nan ("");
constexpr double dn = __builtin_nanf ("");
constexpr float fns = __builtin_nansf ("");
constexpr double dns = __builtin_nans ("");
constexpr _Complex double cdns = __builtin_nans ("");
void
f0 (void)
{
(constexpr float) { __builtin_inf () };
(constexpr double) { __builtin_inff () };
(constexpr float) { __builtin_nan ("") };
(constexpr double) { __builtin_nanf ("") };
(constexpr float) { __builtin_nansf ("") };
(constexpr double) { __builtin_nans ("") };
(constexpr _Complex double) { __builtin_nans ("") };
}