From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6745 invoked by alias); 6 Jan 2010 16:48:18 -0000 Received: (qmail 6675 invoked by uid 48); 6 Jan 2010 16:48:04 -0000 Date: Wed, 06 Jan 2010 16:48:00 -0000 Message-ID: <20100106164804.6674.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/42363] [4.5 Regression] ICE: verify_flow_info failed for gcc.c-torture/compile/pr37913.c -O1 -g In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "rguenth 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: 2010-01/txt/msg00656.txt.bz2 ------- Comment #5 from rguenth at gcc dot gnu dot org 2010-01-06 16:48 ------- (In reply to comment #4) > By the same argument, shouldn't we drop the assignment early, and make it a > non-assigning call? Sure - fixing this during gimplification would be fine with me. I'm not sure it cannot happen via later folding an indirect call to a call that we only then figure is noreturn (maybe there is folding already for that case - you might want to double-check). > The assignment is also supposed to occur after the call, > although it's not denoted in a separate statement, but SSA analysis doesn't > complain about it. Shouldn't it? Well, the assignment in a call stmt is after the call. So we just define it to be correct (I can't see of a better way encoding it - see also the issues with exceptions). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42363