diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-02-28 14:49:38 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-02-28 14:49:38 +0100 |
commit | 8bd326535cdb03a48c592573358cce95e5b7d040 (patch) | |
tree | 4990767e0acb51013f832d14f671b14c30a79a3b /gcc | |
parent | 32679718409ed923ce55d895a0860e3e2ac8abc3 (diff) | |
download | gcc-8bd326535cdb03a48c592573358cce95e5b7d040.zip gcc-8bd326535cdb03a48c592573358cce95e5b7d040.tar.gz gcc-8bd326535cdb03a48c592573358cce95e5b7d040.tar.bz2 |
re PR c/89521 (ICE in expand_builtin_int_roundingfn, at builtins.c:2697)
PR c/89521
* gcc.dg/pr89521-1.c: New test.
* gcc.dg/pr89521-2.c: New test.
From-SVN: r269280
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr89521-1.c | 13 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr89521-2.c | 42 |
3 files changed, 61 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a32df6c..79de603 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2019-02-28 Jakub Jelinek <jakub@redhat.com> + + PR c/89521 + * gcc.dg/pr89521-1.c: New test. + * gcc.dg/pr89521-2.c: New test. + 2019-02-28 John David Anglin <danglin@gcc.gnu.org> PR testsuite/89441 diff --git a/gcc/testsuite/gcc.dg/pr89521-1.c b/gcc/testsuite/gcc.dg/pr89521-1.c new file mode 100644 index 0000000..ebf2c59 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr89521-1.c @@ -0,0 +1,13 @@ +/* PR c/89521 */ +/* { dg-do compile } */ +/* { dg-options "-Ofast -w" } */ + +#define A(name) __typeof (__builtin_##name (0)) name (); long name##1 () { return name (1); } +#define B(name) A(name) A(name##f) A(name##l) +B (ceil) +B (floor) +B (round) +B (trunc) +B (nearbyint) +B (rint) +B (logb) diff --git a/gcc/testsuite/gcc.dg/pr89521-2.c b/gcc/testsuite/gcc.dg/pr89521-2.c new file mode 100644 index 0000000..5e37c91 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr89521-2.c @@ -0,0 +1,42 @@ +/* PR c/89521 */ +/* { dg-do compile } */ +/* { dg-options "-Ofast -w" } */ + +#define A(name) __typeof (__builtin_##name (0)) name (); \ + float name##1 () { return name (1); } \ + double name##2 () { return name (1); } +#define B(name) A(name) A(name##l) +B (cosh) +B (exp) +B (exp10) +B (exp2) +B (expm1) +B (gamma) +B (j0) +B (j1) +B (lgamma) +B (pow10) +B (sinh) +B (tgamma) +B (y0) +B (y1) +B (acos) +B (acosh) +B (asin) +B (asinh) +B (atan) +B (atanh) +B (cbrt) +B (cos) +B (erf) +B (erfc) +B (log) +B (log10) +B (log2) +B (log1p) +B (sin) +B (tan) +B (tanh) +B (sqrt) +B (fabs) +B (logb) |