Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/torture/builtin-sprintf.c @ 158:494b0b89df80 default tip
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 25 May 2020 18:13:55 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
/* 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; }