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
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.
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>
--- /dev/null
+/* { 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;
+ }
+}
+++ /dev/null
-/* { 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;
- }
-}