/* { dg-options "-O2 -mcmodel=small -fPIC" } */ /* { dg-do compile } */ extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); int __ecvt_r (value, ndigit, decpt, sign, buf, len) double value; int ndigit, *decpt, *sign; char *buf; { if ((sizeof (value) == sizeof (float) ? __finitef (value) : __finite (value)) && value != 0.0) { double d; double f = 1.0; d = -value; if (d < 1.0e-307) { do { f *= 10.0; } while (d * f < 1.0); } } if (ndigit <= 0 && len > 0) { buf[0] = '\0'; *sign = (sizeof (value) == sizeof (float) ? __finitef (value) : __finite (value)) ? (sizeof (value) == sizeof (float) ? __signbitf (value) : __signbit (value)) != 0 : 0; } }