diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/aarch64/pic-constantpool1.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/aarch64/pic-constantpool1.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/aarch64/pic-constantpool1.c b/gcc-4.9/gcc/testsuite/gcc.target/aarch64/pic-constantpool1.c new file mode 100644 index 000000000..3109d9d4e --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/aarch64/pic-constantpool1.c @@ -0,0 +1,30 @@ +/* { 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; + } +} |