From: Yao Qi Date: Wed, 11 Jan 2006 23:44:19 +0000 (+0000) Subject: inf-1.c: New test. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=088ae68b8ddd38300fbde189506e0fbf05864504;p=gcc.git inf-1.c: New test. * gcc.dg/dfp/inf-1.c: New test. Co-Authored-By: Ben Elliston From-SVN: r109611 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 14988a90115..e28bd6c56de 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2006-01-12 Yao Qi + Ben Elliston + + * gcc.dg/dfp/inf-1.c: New test. + 2006-01-12 Janis Johnson Yao Qi Ben Elliston 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 00000000000..ae4f286a2d1 --- /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; +}