From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24972 invoked by alias); 27 Feb 2004 23:59:20 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 24964 invoked by uid 48); 27 Feb 2004 23:59:19 -0000 Date: Fri, 27 Feb 2004 23:59:00 -0000 From: "jfran at clip dot dia dot fi dot upm dot es" To: gcc-bugs@gcc.gnu.org Message-ID: <20040227235918.14327.jfran@clip.dia.fi.upm.es> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c/14327] New: -O0 -fdefer-pop generates wrong code X-Bugzilla-Reason: CC X-SW-Source: 2004-02/txt/msg02663.txt.bz2 List-Id: The following program is not compiled correctly and produces a segmentation fault if compiled with -O0 -fderef-pop. The code is compiled correctly with -fno-defer-pop, or using a version =<3.2 // int code[]={0,0,0,0,1}; void foo(int x) { volatile int b; b = 0xffffffff; } void bar(int *pc) { static const void *l[] = {&&lab0, &&end}; foo(0); goto *l[*pc]; lab0: foo(0); pc++; goto *l[*pc]; end: return; } int main() { bar(code); return 0; } -- Summary: -O0 -fdefer-pop generates wrong code Product: gcc Version: 3.3.2 Status: UNCONFIRMED Severity: critical Priority: P1 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jfran at clip dot dia dot fi dot upm dot es CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14327