]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite: Add testcase for already fixed PR [PR120630]
authorJakub Jelinek <jakub@redhat.com>
Thu, 12 Jun 2025 17:53:07 +0000 (19:53 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 12 Jun 2025 17:53:07 +0000 (19:53 +0200)
These tests were broken by my r16-1398 PR120434 change and
fixed by r16-1482 PR120629 change.

Committing these to increase testsuite coverage.

2025-06-12  Jakub Jelinek  <jakub@redhat.com>

PR middle-end/120630
* gcc.dg/pr120630.c: New test.
* gcc.c-torture/execute/pr120630.c: New test.

gcc/testsuite/gcc.c-torture/execute/pr120630.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr120630.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.c-torture/execute/pr120630.c b/gcc/testsuite/gcc.c-torture/execute/pr120630.c
new file mode 100644 (file)
index 0000000..46cfac9
--- /dev/null
@@ -0,0 +1,29 @@
+/* PR middle-end/120630 */
+
+__attribute__((noipa)) int
+foo (const char *x, ...)
+{
+  return *x;
+}
+
+int a, b, c;
+unsigned d = 1;
+
+int
+main ()
+{
+  if (a)
+    foo ("0");
+  int e = -1;
+  if (a < 1)
+    {
+      e = c;
+      if (c)
+       while (1)
+         ;
+    }
+  b = (~e + 0UL) / -1;
+  if (d > b)
+    __builtin_abort ();
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr120630.c b/gcc/testsuite/gcc.dg/pr120630.c
new file mode 100644 (file)
index 0000000..14b0aaf
--- /dev/null
@@ -0,0 +1,25 @@
+/* PR middle-end/120630 */
+/* { dg-do run } */
+/* { dg-options "-O3 -fno-tree-loop-im -fno-tree-loop-optimize -fno-tree-ch" } */
+
+int a, c, d;
+
+void
+foo (int b)
+{
+  a = b;
+}
+
+int
+main ()
+{
+  while (d)
+    ;
+  for (c = 0; c > -3; c--)
+    {
+      long f = c;
+      foo (f >> 2);
+    }
+  if (a != -1)
+    __builtin_abort ();
+}