From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22465 invoked by alias); 20 Apr 2015 08:24:12 -0000 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 Received: (qmail 22402 invoked by uid 48); 20 Apr 2015 08:24:08 -0000 From: "rguenth at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/65802] [6 Regression] ICE in redirect_eh_edge_1, at tree-eh.c:2335 Date: Mon, 20 Apr 2015 08:24:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Version: 6.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: rguenth at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2015-04/txt/msg01580.txt.bz2 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65802 --- Comment #7 from Richard Biener --- (In reply to vries from comment #6) > (In reply to vries from comment #5) > > So the question is: should ifn_va_arg have ECF_NOTHROW? > > Adding ECF_NOTHROW to ifn_va_arg also fixes the ICE. > > And at gimplify_va_arg_expr, the VA_ARG_EXPR tree is non-throwing: Is that always the case (try -fnon-call-exceptions)? Then doing that looks obvious. Richard. > (gdb) call debug_generic_expr (*expr_p ) > VA_ARG_EXPR > (gdb) call debug_tree (*expr_p ) > type type size > unit size > align 32 symtab 0 alias set -1 canonical type 0x7ffff64a7690 > precision 32 min max 0x7ffff64c5078 2147483647> > pointer_to_this > > sizes-gimplified unsigned DI > size > unit size > align 64 symtab 0 alias set -1 canonical type 0x7ffff64c97e0 > pointer_to_this > > side-effects > arg 0 type 0x7ffff64cc738 __va_list_tag> > sizes-gimplified BLK > size > unit size > align 64 symtab 0 alias set -1 canonical type 0x7ffff64cc888 > domain > > used tree_1 decl_5 BLK file test.cc line 13 col 25 size 0x7ffff64c5318 192> unit size > align 64 context > > test.cc:15:32> > (gdb) call tree_could_throw_p (*expr_p ) > $1 = false > ... > > I'll bootstrap and reg-test this fix.