diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr39035.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr39035.c | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr39035.c b/gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr39035.c new file mode 100644 index 000000000..2c9e8b386 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/c-c++-common/dfp/pr39035.c @@ -0,0 +1,71 @@ +/* { dg-do run } */ +/* { dg-options "-O" } */ + +/* DFP TR 24732 == WG14 / N1176, N1312 */ +/* Based on a test from Fred Tydeman. */ + +#include "dfp-dbg.h" + +/* Test runtime computations. */ + +void +runtime32 (void) +{ + volatile _Decimal32 d; + d = 0.0DF; + if (d) + FAILURE +} + +void +runtime64 (void) +{ + volatile _Decimal64 d; + d = 0.0DD; + if (d) + FAILURE +} + +void +runtime128 (void) +{ + volatile _Decimal128 d; + d = 0.0DL; + if (d) + FAILURE +} + +void +fold32 (void) +{ + if (0.0DF) + FAILURE +} + +void +fold64 (void) +{ + if (0.0DD) + FAILURE +} + +void +fold128 (void) +{ + if (0.0DL) + FAILURE +} + +int +main(void) +{ + runtime32 (); + runtime64 (); + runtime128 (); + + fold32 (); + fold64 (); + fold128 (); + + FINISH +} |