diff options
author | Peter Bergner <bergner@linux.ibm.com> | 2019-11-08 00:34:09 +0000 |
---|---|---|
committer | Peter Bergner <bergner@gcc.gnu.org> | 2019-11-07 18:34:09 -0600 |
commit | 780bc8922ba77cec3de90ce86eefedf54ad80c8f (patch) | |
tree | b3afaf025196910e8a36daab7fbeaf5d40b29f47 | |
parent | 6a9c4224e411c625e326927ebf75e27b8fe2d26b (diff) | |
download | gcc-780bc8922ba77cec3de90ce86eefedf54ad80c8f.zip gcc-780bc8922ba77cec3de90ce86eefedf54ad80c8f.tar.gz gcc-780bc8922ba77cec3de90ce86eefedf54ad80c8f.tar.bz2 |
Add another test case to exercise the previous MODE_PARTIAL_INT change.
gcc/testsuite/
PR other/92090
* gcc.target/powerpc/pr92090-2.c: New test.
From-SVN: r277942
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/powerpc/pr92090-2.c | 44 |
2 files changed, 49 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c0b019d..e1a8da6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2019-11-07 Peter Bergner <bergner@linux.ibm.com> + + PR other/92090 + * gcc.target/powerpc/pr92090-2.c: New test. + 2019-11-07 Joseph Myers <joseph@codesourcery.com> * gcc.dg/tm/attrs-1.c: New test. diff --git a/gcc/testsuite/gcc.target/powerpc/pr92090-2.c b/gcc/testsuite/gcc.target/powerpc/pr92090-2.c new file mode 100644 index 0000000..8922a53 --- /dev/null +++ b/gcc/testsuite/gcc.target/powerpc/pr92090-2.c @@ -0,0 +1,44 @@ +/* { dg-do compile } */ +/* { dg-options "-mdejagnu-cpu=power8 -Os -mbig -w" } */ + +/* Verify that we don't ICE. */ + +int a; +static _Atomic long double b, c, d, m; +double n; +extern int foo (void); +extern void bar (int, int, int, int); + +void +bug (void) +{ + b = 1.79769313486231580793728971405301199e308L; + for (int i = 0; i < 10000; i++) + if (__builtin_isinf (n)) + b; + c = 1; + int e, f, g, h; + while (a) + ; + for (int i; i; i++) + { + double j = c /= foo (); + if (__builtin_isinf (j)) + { + if (foo == 1 << 31) + e++; + f++; + c = 0; + } + else + { + if (foo == 1 << 30) + g++; + h++; + c = 1; + } + } + bar (e, f, g, h); + d = 1.79769313486231580793728971405301199e308L; + m = 1; +} |