| /* { dg-options "-O2 -mcmodel=small -fPIC" } */ |
| /* { dg-do compile } */ |
| /* { dg-require-effective-target fpic } */ |
| |
| extern int __finite (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); |
| extern int __finitef (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); |
| extern int __signbit (double __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); |
| extern int __signbitf (float __value) __attribute__ ((__nothrow__)) __attribute__ ((__const__)); |
| int |
| __ecvt_r (value, ndigit, decpt, sign, buf, len) |
| double value; |
| int ndigit, *decpt, *sign, len; |
| 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; |
| } |
| } |