Replace copysign (0,-1) with -0.0 in initializer

GCC 4.9 issues an error for copysign in initializer:

In file included from tst-printf-format-p-double.c:20:0:
tst-printf-format-skeleton-double.c:29:3: error: initializer element is not a constant expression [-Werror]
   { -HUGE_VAL, -DBL_MAX, -DBL_MIN, copysign (0, -1), -NAN, NAN, 0, DBL_MIN,
   ^

since it can't fold "copysign (0, -1)".  Replace copysign (0,-1) with -0.0.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
This commit is contained in:
H.J. Lu 2024-12-14 19:21:15 +08:00
parent 080a320914
commit 7d889b99c1
2 changed files with 2 additions and 2 deletions

View File

@ -26,7 +26,7 @@
#define PREC DBL_MANT_DIG
typedef double type_t;
static const type_t vals[] =
{ -HUGE_VAL, -DBL_MAX, -DBL_MIN, copysign (0, -1), -NAN, NAN, 0, DBL_MIN,
{ -HUGE_VAL, -DBL_MAX, -DBL_MIN, -0.0, -NAN, NAN, 0, DBL_MIN,
DBL_MAX, HUGE_VAL };
static const char length[] = "";

View File

@ -27,7 +27,7 @@
#define PREC LDBL_MANT_DIG
typedef long double type_t;
static const type_t vals[] =
{ -HUGE_VAL, -LDBL_MAX, -LDBL_MIN, copysign (0, -1), -NAN, NAN, 0, LDBL_MIN,
{ -HUGE_VAL, -LDBL_MAX, -LDBL_MIN, -0.0, -NAN, NAN, 0, LDBL_MIN,
LDBL_MAX, HUGE_VAL };
static const char length[] = "L";