blob: 5684fd704aeebebfb18500ca6a8864abf0bf8ea5 [file] [log] [blame]
/* PR tree-optimization/86274 - SEGFAULT when logging std::to_string(NAN)
{ dg-do run }
{ dg-options "-O2 -Wall" }
{ dg-additional-options "-Wl,-u,_printf_float" { target newlib_nano_io } } */
#define X "0xdeadbeef"
#define nan(x) __builtin_nan (x)
volatile double nan_0 = nan ("0");
volatile double nan_x = nan (X);
int main (void)
{
char buf[80];
/* Verify that folded results match those of the library calls. */
int cst_n_0 = __builtin_sprintf (buf, "%g", nan ("0"));
int cst_n_x = __builtin_sprintf (buf, "%g", nan (X));
int var_n_0 = __builtin_sprintf (buf, "%g", nan_0);
int var_n_x = __builtin_sprintf (buf, "%g", nan_x);
if (cst_n_0 != var_n_0)
__builtin_abort ();
if (cst_n_x != var_n_x)
__builtin_abort ();
return 0;
}