]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/52996 (ice in verify_loop_structure, at cfgloop.c:1567)
authorRichard Biener <rguenther@suse.de>
Fri, 21 Dec 2012 10:32:43 +0000 (10:32 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 21 Dec 2012 10:32:43 +0000 (10:32 +0000)
2012-12-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/52996
* gcc.dg/torture/pr52996.c: New testcase.

From-SVN: r194659

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

index b89fa028ac6c0beb87b8002badf2423908f2072e..a51f09e2aadd25e9f9207eac75102ca2fd603963 100644 (file)
@@ -1,3 +1,8 @@
+2012-12-21  Richard Biener  <rguenther@suse.de>
+
+       PR tree-optimization/52996
+       * gcc.dg/torture/pr52996.c: New testcase.
+
 2012-12-20  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/55750
diff --git a/gcc/testsuite/gcc.dg/torture/pr52996.c b/gcc/testsuite/gcc.dg/torture/pr52996.c
new file mode 100644 (file)
index 0000000..200bc36
--- /dev/null
@@ -0,0 +1,33 @@
+/* { dg-do compile } */\r
+/* { dg-options "-funswitch-loops" } */\r
+\r
+int a, b, c, d, e, f;\r
+void\r
+fn1 ()\r
+{\r
+    int g, h;\r
+lbl_173:\r
+    if (a)\r
+        c++;\r
+lbl_158:\r
+    e = 0;\r
+    h = 0;\r
+    for (; h > -8; h--)\r
+    {\r
+        g = 0;\r
+        for (; g <= 0; g += 1)\r
+        {\r
+            d = 1;\r
+            for (; d >= 0; d -= 1)\r
+                a = 1;\r
+            if (b)\r
+                break;\r
+            if (f)\r
+                return;\r
+            if (h)\r
+                goto lbl_158;\r
+        }\r
+    }\r
+    goto lbl_173;\r
+}\r
+\r