https://gcc.gnu.org/g:00aa59e5b120e4f5f70dcabafa57f7d4b5b9ad5d

commit r16-1489-g00aa59e5b120e4f5f70dcabafa57f7d4b5b9ad5d
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Thu Jun 12 19:53:07 2025 +0200

    testsuite: Add testcase for already fixed PR [PR120630]
    
    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  <ja...@redhat.com>
    
            PR middle-end/120630
            * gcc.dg/pr120630.c: New test.
            * gcc.c-torture/execute/pr120630.c: New test.

Diff:
---
 gcc/testsuite/gcc.c-torture/execute/pr120630.c | 29 ++++++++++++++++++++++++++
 gcc/testsuite/gcc.dg/pr120630.c                | 25 ++++++++++++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/gcc/testsuite/gcc.c-torture/execute/pr120630.c 
b/gcc/testsuite/gcc.c-torture/execute/pr120630.c
new file mode 100644
index 000000000000..46cfac9a1311
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/pr120630.c
@@ -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
index 000000000000..14b0aaf103d9
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr120630.c
@@ -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 ();
+}

Reply via email to