From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21771 invoked by alias); 18 Apr 2002 11:56:04 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 21723 invoked by uid 71); 18 Apr 2002 11:56:02 -0000 Resent-Date: 18 Apr 2002 11:56:02 -0000 Resent-Message-ID: <20020418115602.21721.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-To: nobody@gcc.gnu.org Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, rth@redhat.com, mark@codesourcery.com Resent-Reply-To: gcc-gnats@gcc.gnu.org, gbeauchesne@mandrakesoft.com Received:(qmail 18744 invoked by uid 61); 18 Apr 2002 11:52:40 -0000 Message-Id:<20020418115240.18743.qmail@sources.redhat.com> Date: Thu, 18 Apr 2002 04:56:00 -0000 From: gbeauchesne@mandrakesoft.com Reply-To: gbeauchesne@mandrakesoft.com To: gcc-gnats@gcc.gnu.org Cc: rth@redhat.com, mark@codesourcery.com X-Send-Pr-Version:gnatsweb-2.9.3 (1.1.1.1.2.31) X-GNATS-Notify:rth@redhat.com,mark@codesourcery.com Subject: c++/6352: GCC 3.1 inliner regression from March X-SW-Source: 2002-04/txt/msg00923.txt.bz2 List-Id: >Number: 6352 >Category: c++ >Synopsis: GCC 3.1 inliner regression from March >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Thu Apr 18 04:56:02 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Gwenole Beauchesne >Release: GNU C++ version 3.1 20020418 (prerelease) (i686-pc-linux-gnu) >Organization: >Environment: i586-mandrake-linux-gnu >Description: The testcase below, distilled from Mesa 4.0.2 (si-glu/libnurbs/nurbtess/quicksort.cc), ICEs in current gcc-3.1-branch. This is a regression from gcc-3.0.4. [gb@kernel gcc]$ ./cc1plus -O1 -finline-functions ~/vrac/qsort.cpp void f() void g() void f() void g() /home/gb/vrac/qsort.cpp:11: Internal compiler error in genrtl_finish_function, at cp/semantics.c:2622 Please submit a full bug report, with preprocessed source if appropriate. See for instructions. >How-To-Repeat: Compile the following testcase with -O1 -finline-functions and the current gcc-3.1-branch. [gb@kernel gb]$ cat ~/vrac/qsort.cpp static void g(); void f() { void g(); g(); } void g() { } BTW, do you want the full preprocessed source from Mesa? >Fix: Either don't use inlining or remove the declaration of g() in f(). Ah, as I happen to have a few prebuilt CVS snapshots around, the following might help to spot of the regressing change. 1) It works with GNU C++ version 3.1 20020315 (prerelease) (i686-pc-linux-gnu) 2) But fails as above-mentioned with GNU C++ version 3.1 20020316 (prerelease) (i686-pc-linux-gnu) >Release-Note: >Audit-Trail: >Unformatted: