From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31441 invoked by alias); 23 Oct 2008 12:41:59 -0000 Received: (qmail 30961 invoked by uid 48); 23 Oct 2008 12:40:26 -0000 Date: Thu, 23 Oct 2008 12:41:00 -0000 Message-ID: <20081023124026.30960.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/37902] [4.3 Regression] in_system_header bug In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "jakub 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-10/txt/msg01525.txt.bz2 ------- Comment #1 from jakub at gcc dot gnu dot org 2008-10-23 12:40 ------- The regression has been introduced by PR32256, before that in_system_header flag wasn't saved/restored in push_cfun/pop_cfun. The issue seems to be that allocate_struct_function call in store_parm_decls doesn't seem to have a corresponding set_cfun (NULL); call, so when push_cfun during gimplification is called, it doesn't save in_system_header (as cfun is already non-NULL) and more importantly, pop_cfun at the end of gimplification pops to the same cfun, which means in_system_header remains 1 when leaving the gimplifier and is then used by subsequent parsing of bar function. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37902