From: Richard Biener Date: Mon, 18 Feb 2013 13:09:17 +0000 (+0000) Subject: re PR middle-end/56349 (ICE in create_preheader at cfgloopmanip.c:1525) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=73db8ff1f38c1f867af80ca7d477212485345d61;p=gcc.git re PR middle-end/56349 (ICE in create_preheader at cfgloopmanip.c:1525) 2013-02-18 Richard Biener PR middle-end/56349 * gcc.dg/torture/pr56350.c: Move ... * gcc.dg/torture/pr56349.c: ... here. From-SVN: r196119 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 15a8fd18128..ba374a184b5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,6 +1,6 @@ 2013-02-18 Richard Biener - 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. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f4287ea6878..0c88ce2e0e0 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,7 +1,7 @@ 2013-02-18 Richard Biener - 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 diff --git a/gcc/testsuite/gcc.dg/torture/pr56349.c b/gcc/testsuite/gcc.dg/torture/pr56349.c new file mode 100644 index 00000000000..dc9ed082b8f --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr56349.c @@ -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 index dc9ed082b8f..00000000000 --- a/gcc/testsuite/gcc.dg/torture/pr56350.c +++ /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; - } -}