From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4152 invoked by alias); 29 Mar 2008 15:20:10 -0000 Received: (qmail 3972 invoked by uid 48); 29 Mar 2008 15:19:27 -0000 Date: Sat, 29 Mar 2008 15:20:00 -0000 Message-ID: <20080329151927.3971.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug c++/35708] jump to label enters catch block In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jason 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: 2008-03/txt/msg02369.txt.bz2 ------- Comment #7 from jason at gcc dot gnu dot org 2008-03-29 15:19 ------- The bug is that the temporary object created by the C99 compound literal syntax doesn't have proper C++ temporary lifetime; the compiler treats it as living until the end of the block, so the goto seems to be skipping its initialization. The compiler talks about a catch block because it assumes that the only artificial decl a goto could jump into is the one for the catch parameter. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35708