diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/hex-round-2.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/hex-round-2.c | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/hex-round-2.c b/gcc/testsuite/gcc.dg/hex-round-2.c new file mode 100644 index 000000000..af49536ab --- /dev/null +++ b/gcc/testsuite/gcc.dg/hex-round-2.c @@ -0,0 +1,115 @@ +/* Test for hexadecimal float rounding: bug 21720. Test with no "." + in number. */ +/* { dg-do link } */ +/* { dg-options "-O -std=gnu99" } */ +/* { dg-skip-if "SPU float rounds towards zero" { spu-*-* } } */ + +#include <float.h> + +extern void link_failure (void); + +int +main (void) +{ +#if FLT_RADIX == 2 && FLT_MANT_DIG == 24 + if (0x10000011p-28f == 1) + link_failure (); + if (0x100000101p-32f == 1) + link_failure (); + if (0x1000001001p-36f == 1) + link_failure (); + if (0x10000010001p-40f == 1) + link_failure (); + if (0x100000100001p-44f == 1) + link_failure (); + if (0x1000001000001p-48f == 1) + link_failure (); + if (0x10000010000001p-52f == 1) + link_failure (); + if (0x100000100000001p-56f == 1) + link_failure (); + if (0x1000001000000001p-60f == 1) + link_failure (); + if (0x10000010000000001p-64f == 1) + link_failure (); + if (0x100000100000000001p-68f == 1) + link_failure (); + if (0x1000001000000000001p-72f == 1) + link_failure (); + if (0x10000010000000000001p-76f == 1) + link_failure (); + if (0x100000100000000000001p-80f == 1) + link_failure (); + if (0x1000001000000000000001p-84f == 1) + link_failure (); + if (0x10000010000000000000001p-88f == 1) + link_failure (); + if (0x100000100000000000000001p-92f == 1) + link_failure (); + if (0x1000001000000000000000001p-96f == 1) + link_failure (); + if (0x10000010000000000000000001p-100f == 1) + link_failure (); + if (0x100000100000000000000000001p-104f == 1) + link_failure (); + if (0x1000001000000000000000000001p-108f == 1) + link_failure (); + if (0x10000010000000000000000000001p-112f == 1) + link_failure (); + if (0x100000100000000000000000000001p-116f == 1) + link_failure (); + if (0x1000001000000000000000000000001p-120f == 1) + link_failure (); + if (0x10000010000000000000000000000001p-124f == 1) + link_failure (); + if (0x100000100000000000000000000000001p-128f == 1) + link_failure (); + if (0x1000001000000000000000000000000001p-132f == 1) + link_failure (); + if (0x10000010000000000000000000000000001p-136f == 1) + link_failure (); + if (0x100000100000000000000000000000000001p-140f == 1) + link_failure (); + if (0x1000001000000000000000000000000000001p-144f == 1) + link_failure (); + if (0x10000010000000000000000000000000000001p-148f == 1) + link_failure (); + if (0x100000100000000000000000000000000000001p-152f == 1) + link_failure (); + if (0x1000001000000000000000000000000000000001p-156f == 1) + link_failure (); + if (0x10000010000000000000000000000000000000001p-160f == 1) + link_failure (); + if (0x100000100000000000000000000000000000000001p-164f == 1) + link_failure (); + if (0x1000001000000000000000000000000000000000001p-168f == 1) + link_failure (); + if (0x10000010000000000000000000000000000000000001p-172f == 1) + link_failure (); + if (0x100000100000000000000000000000000000000000001p-176f == 1) + link_failure (); + if (0x1000001000000000000000000000000000000000000001p-180f == 1) + link_failure (); + if (0x10000010000000000000000000000000000000000000001p-184f == 1) + link_failure (); + if (0x100000100000000000000000000000000000000000000001p-188f == 1) + link_failure (); + if (0x1000001000000000000000000000000000000000000000001p-192f == 1) + link_failure (); + if (0x10000010000000000000000000000000000000000000000001p-196f == 1) + link_failure (); + if (0x100000100000000000000000000000000000000000000000001p-200f == 1) + link_failure (); + if (0x1000001000000000000000000000000000000000000000000001p-204f == 1) + link_failure (); + if (0x10000010000000000000000000000000000000000000000000001p-208f == 1) + link_failure (); + if (0x100000100000000000000000000000000000000000000000000001p-212f == 1) + link_failure (); + if (0x1000001000000000000000000000000000000000000000000000001p-216f == 1) + link_failure (); + if (0x10000010000000000000000000000000000000000000000000000001p-220f == 1) + link_failure (); +#endif + return 0; +} |