diff options
author | Yao Qi <qiyaoltc@cn.ibm.com> | 2006-01-11 23:44:19 +0000 |
---|---|---|
committer | Ben Elliston <bje@gcc.gnu.org> | 2006-01-12 10:44:19 +1100 |
commit | 088ae68b8ddd38300fbde189506e0fbf05864504 (patch) | |
tree | a7ec8e739456c027e8d69b3ee869cf911d0ec036 | |
parent | af082de3e2d6f8f330380ad00f4efd586fe768dd (diff) | |
download | gcc-088ae68b8ddd38300fbde189506e0fbf05864504.zip gcc-088ae68b8ddd38300fbde189506e0fbf05864504.tar.gz gcc-088ae68b8ddd38300fbde189506e0fbf05864504.tar.bz2 |
inf-1.c: New test.
* gcc.dg/dfp/inf-1.c: New test.
Co-Authored-By: Ben Elliston <bje@au.ibm.com>
From-SVN: r109611
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/dfp/inf-1.c | 64 |
2 files changed, 69 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 14988a9..e28bd6c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-01-12 Yao Qi <qiyaoltc@cn.ibm.com> + Ben Elliston <bje@au.ibm.com> + + * gcc.dg/dfp/inf-1.c: New test. + 2006-01-12 Janis Johnson <janis187@us.ibm.com> Yao Qi <qiyaoltc@cn.ibm.com> Ben Elliston <bje@au.ibm.com> diff --git a/gcc/testsuite/gcc.dg/dfp/inf-1.c b/gcc/testsuite/gcc.dg/dfp/inf-1.c new file mode 100644 index 0000000..ae4f286 --- /dev/null +++ b/gcc/testsuite/gcc.dg/dfp/inf-1.c @@ -0,0 +1,64 @@ +/* { dg-do run } */ +/* { dg-options "-std=gnu99" } */ + +/* N1150 4: Characteristics of decimal floating types (not explicit) + C99 5.2.4.2.2: Characteristics of floating types. + A few simple checks on arithmetic operations. */ + +extern void abort (void); + +int main() +{ + /* Assumes rounding mode. */ + if (9999999.E90DF + 1.E90df != __builtin_infd32 ()) + abort (); + + if (!__builtin_isinfd32 (9999999.E90DF + 1.E90df)) + abort (); + + if (9.999999999999999E384dd + .000000000000001e384dd + != __builtin_infd32 ()) + abort (); + + if (-9999999.E90DF - 1.E90df != -__builtin_infd32 ()) + abort (); + + if (!__builtin_isinfd32 (9.999999999999999E384dd + .000000000000001e384dd)) + abort (); + + if (7.999999999999999999999999999999999E6144dl + 3.0E6144dl + != __builtin_infd32 ()) + abort (); + + if (__builtin_infd32 () * __builtin_infd32 () != __builtin_infd32 ()) + abort (); + + if (__builtin_infd32 () * 2 != __builtin_infd32 ()) + abort (); + + if (__builtin_infd64 () * -5 != -__builtin_infd32 ()) + abort (); + + if (!__builtin_isinfd128 (__builtin_infd32 () / 4)) + abort (); + + if (__builtin_infd64 () != __builtin_infd128 ()) + abort (); + + if (!__builtin_isinfd64 (__builtin_infd128 ())) + abort (); + + if (__builtin_finited64 (__builtin_infd32 () * 4)) + abort (); + + if (!__builtin_finited128 (9.999999E90DL - 1.E90dd)) + abort (); + + if (__builtin_finited128 (__builtin_infd32 () *__builtin_infd128 ())) + abort (); + + if (__builtin_finited32 (__builtin_nand32 (""))) + abort (); + + return 0; +} |