This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/13767] [tree-ssa] ICE in verify_flow_info
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Jan 2004 11:11:51 -0000
- Subject: [Bug middle-end/13767] [tree-ssa] ICE in verify_flow_info
- References: <20040120105417.13767.steven@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From steven at gcc dot gnu dot org 2004-01-20 11:11 -------
Another example of why GOTO's in the CFG suck ;-)
The GOTO to L1 is redundant but it's not killed because it
jumps to a nonlocal label.
(gdb) p debug_tree_cfg (0)
main ()
{
static t;
void L1 = <<< error >>>;
int c.1;
# BLOCK 0
# PRED: ENTRY (fallthru)
c.1 = c;
if (c.1 == 0) goto <L0>; else goto <L1>;
# SUCC: 2 (false) 1 (true)
# BLOCK 1
# PRED: 0 (true)
<L0>:;
goto L1;
# SUCC: 2 (fallthru)
# BLOCK 2
# PRED: 1 (fallthru) 0 (false)
<L1>:;
t ();
# SUCC: 3 (fallthru) 4 (ab)
# BLOCK 3
# PRED: 2 (fallthru)
abort ();
# SUCC: 4 (ab)
# BLOCK 4
# PRED: ENTRY (ab) 3 (ab) 2 (ab)
L1:;
return 0;
# SUCC: EXIT
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13767