From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9197 invoked by alias); 28 Oct 2007 01:11:41 -0000 Received: (qmail 9154 invoked by uid 48); 28 Oct 2007 01:11:32 -0000 Date: Sun, 28 Oct 2007 01:11:00 -0000 Message-ID: <20071028011132.9153.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/33589] [4.3 regression] ICE on valid code at -O2: verify_flow_info failed In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "pinskia at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2007-10/txt/msg02456.txt.bz2 ------- Comment #6 from pinskia at gcc dot gnu dot org 2007-10-28 01:11 ------- A quick patch to fix this: Index: tree-outof-ssa.c =================================================================== --- tree-outof-ssa.c (revision 129686) +++ tree-outof-ssa.c (working copy) @@ -758,7 +758,10 @@ rewrite_trees (var_map map, tree *values if (remove) bsi_remove (&si, true); else - bsi_next (&si); + { + maybe_clean_or_replace_eh_stmt (stmt, stmt); + bsi_next (&si); + } } phi = phi_nodes (bb); ----- CUT ---- I don't know if I want to check changed or not, that is the maybe_cleanup_or_replace_eh_stmt statement be replaced with: if (changed) maybe_clean_or_replace_eh_stmt (stmt, stmt); -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33589