diff options
Diffstat (limited to 'gcc/testsuite/c-c++-common/dfp/compare-eq-const.c')
-rw-r--r-- | gcc/testsuite/c-c++-common/dfp/compare-eq-const.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/c-c++-common/dfp/compare-eq-const.c b/gcc/testsuite/c-c++-common/dfp/compare-eq-const.c new file mode 100644 index 000000000..0c9ff200b --- /dev/null +++ b/gcc/testsuite/c-c++-common/dfp/compare-eq-const.c @@ -0,0 +1,28 @@ +/* C99 6.5.9 Equality operators. + Compare decimal float constants against each other. */ + +#include "dfp-dbg.h" + +extern void link_error (void); + +int +main () +{ + /* Compare like-typed positive constants. */ + if (2.0df != 2.0df) + link_error (); + + /* Compare decimal float constants of different types. */ + if (500e-2dl != 0.05e2df) + link_error (); + + /* Binary floating point introduces errors to decimal values. */ + if (1.4 + 1.4 + 1.4 == 4.2) + link_error (); + + /* But, this looks more like what one would expect. */ + if (1.4dd + 1.4dd + 1.4dd != 4.2dd) + link_error (); + + FINISH +} |