From: Jakub Jelinek Date: Fri, 30 Aug 2019 12:11:38 +0000 (+0200) Subject: backport: re PR c/89521 (ICE in expand_builtin_int_roundingfn, at builtins.c:2697) X-Git-Tag: releases/gcc-7.5.0~242 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=920647ea4171b490e35364c6725066c3d2e066fd;p=thirdparty%2Fgcc.git backport: re PR c/89521 (ICE in expand_builtin_int_roundingfn, at builtins.c:2697) Backported from mainline 2019-02-28 Jakub Jelinek PR c/89521 * gcc.dg/pr89521-1.c: New test. * gcc.dg/pr89521-2.c: New test. From-SVN: r275121 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d6e5983fc98d..17d8ee578dda 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -3,6 +3,10 @@ Backported from mainline 2019-02-28 Jakub Jelinek + PR c/89521 + * gcc.dg/pr89521-1.c: New test. + * gcc.dg/pr89521-2.c: New test. + PR c/89520 * gcc.dg/pr89520-1.c: New test. * gcc.dg/pr89520-2.c: New test. diff --git a/gcc/testsuite/gcc.dg/pr89521-1.c b/gcc/testsuite/gcc.dg/pr89521-1.c new file mode 100644 index 000000000000..ebf2c5932c3a --- /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 000000000000..5e37c918fc27 --- /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)