re PR c/89521 (ICE in expand_builtin_int_roundingfn, at builtins.c:2697)
authorJakub Jelinek <jakub@redhat.com>
Thu, 28 Feb 2019 13:49:38 +0000 (14:49 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 28 Feb 2019 13:49:38 +0000 (14:49 +0100)
PR c/89521
* gcc.dg/pr89521-1.c: New test.
* gcc.dg/pr89521-2.c: New test.

From-SVN: r269280

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr89521-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr89521-2.c [new file with mode: 0644]

index a32df6c62bd2dada7a51079bfb389e94a870aafb..79de60324e3bc6dd4d2b91cdb84f531e12d8b44e 100644 (file)
@@ -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 (file)
index 0000000..ebf2c59
--- /dev/null
@@ -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 (file)
index 0000000..5e37c91
--- /dev/null
@@ -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)