]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
tree-optimization/111792 - new testcase
authorRichard Biener <rguenther@suse.de>
Mon, 13 Nov 2023 12:38:57 +0000 (13:38 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 13 Nov 2023 12:40:29 +0000 (13:40 +0100)
This was fixed as part of the PR111000 fix.

PR tree-optimization/111792
PR tree-optimization/111000
* gcc.dg/torture/pr111792.c: New testcase.

gcc/testsuite/gcc.dg/torture/pr111792.c [new file with mode: 0644]

diff --git a/gcc/testsuite/gcc.dg/torture/pr111792.c b/gcc/testsuite/gcc.dg/torture/pr111792.c
new file mode 100644 (file)
index 0000000..58ae6f1
--- /dev/null
@@ -0,0 +1,39 @@
+/* { dg-do run } */
+/* { dg-require-effective-target lp64 } */
+
+int c, d, h, i, j, l, *n = &h;
+short e, f, g, *k, m;
+long o;
+short p(short p1, int q) { return q >= 32 || p1 > 5 >> q ? 1 : p1 << q; }
+long u(unsigned p1)
+{
+  int r = 50, s, *t = &c;
+ L:
+  m && (*k = 0);
+  for (d = 1; d; d--)
+    for (s = 0; s < 3; s++) {
+      *n = i ^ p1;
+      *t = p1 > (unsigned)p((unsigned)(o = 4073709551615) >= p1 && 5, r);
+      if (f)
+        goto L;
+    }
+  for (; e < 1;)
+    return j;
+  int *b[2] = {&s, &r};
+  for (; l; l--) {
+    long a[1];
+    for (r = 0; r < 1; r++) {
+      h = a[0];
+      if (g)
+        goto L;
+    }
+  }
+  return 0;
+}
+int main()
+{
+  u(6);
+  if (c != 1)
+    __builtin_abort();
+  return 0;
+}