re PR middle-end/56349 (ICE in create_preheader at cfgloopmanip.c:1525)
authorRichard Biener <rguenther@suse.de>
Mon, 18 Feb 2013 13:09:17 +0000 (13:09 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 18 Feb 2013 13:09:17 +0000 (13:09 +0000)
2013-02-18  Richard Biener  <rguenther@suse.de>

        PR middle-end/56349
        * gcc.dg/torture/pr56350.c: Move ...
        * gcc.dg/torture/pr56349.c: ... here.

From-SVN: r196119

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

index 15a8fd18128dc7c794cc40e6b6119276b89ce8ed..ba374a184b57a072068d2562615eaed2837b6deb 100644 (file)
@@ -1,6 +1,6 @@
 2013-02-18  Richard Biener  <rguenther@suse.de>
 
-       PR middle-end/56350
+       PR middle-end/56349
        * cfghooks.c (merge_blocks): If we merge a latch into another
        block adjust references to it.
        * cfgloop.c (flow_loops_find): Reset latch before recomputing it.
index f4287ea68783ca5942ad55a82a94049b5005383f..0c88ce2e0e067b202e2d4bd4f663553689df4137 100644 (file)
@@ -1,7 +1,7 @@
 2013-02-18  Richard Biener  <rguenther@suse.de>
 
-       PR middle-end/56350
-       * gcc.dg/torture/pr56350.c: New testcase.
+       PR middle-end/56349
+       * gcc.dg/torture/pr56349.c: New testcase.
 
 2013-02-18  Richard Biener  <rguenther@suse.de>
 
diff --git a/gcc/testsuite/gcc.dg/torture/pr56349.c b/gcc/testsuite/gcc.dg/torture/pr56349.c
new file mode 100644 (file)
index 0000000..dc9ed08
--- /dev/null
@@ -0,0 +1,41 @@
+/* { dg-do compile } */
+
+int a, b;
+short c;
+
+void f(void)
+{
+  int a = 0;
+  int *k = 0;
+
+  for(; a < 2; a++);
+
+  if(!!(b |= a < 3) - 1)
+    {
+      if(0)
+       for (;; a++)
+         {
+           for (; c; *k = 0);
+lbl1:
+           ;
+         }
+
+      for(; *k; k++)
+       {
+         c = b ? : a;
+
+         if (c)
+           lbl2:
+               b = 0;
+       }
+      goto lbl1;
+    }
+
+  for(;; b++)
+    {
+      if(b)
+       goto lbl2;
+
+      k = &b;
+    }
+}
diff --git a/gcc/testsuite/gcc.dg/torture/pr56350.c b/gcc/testsuite/gcc.dg/torture/pr56350.c
deleted file mode 100644 (file)
index dc9ed08..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/* { dg-do compile } */
-
-int a, b;
-short c;
-
-void f(void)
-{
-  int a = 0;
-  int *k = 0;
-
-  for(; a < 2; a++);
-
-  if(!!(b |= a < 3) - 1)
-    {
-      if(0)
-       for (;; a++)
-         {
-           for (; c; *k = 0);
-lbl1:
-           ;
-         }
-
-      for(; *k; k++)
-       {
-         c = b ? : a;
-
-         if (c)
-           lbl2:
-               b = 0;
-       }
-      goto lbl1;
-    }
-
-  for(;; b++)
-    {
-      if(b)
-       goto lbl2;
-
-      k = &b;
-    }
-}