From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2607 invoked by alias); 18 Feb 2002 17:46:07 -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 2559 invoked by uid 71); 18 Feb 2002 17:46:03 -0000 Resent-Date: 18 Feb 2002 17:46:03 -0000 Resent-Message-ID: <20020218174603.2550.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 Resent-Reply-To: gcc-gnats@gcc.gnu.org, matthias@schlaffi.walpergenhaus Received:(qmail 1887 invoked from network); 18 Feb 2002 17:44:44 -0000 Received: from unknown (HELO schlaffi.walpergenhaus) (217.80.105.47) by sources.redhat.com with SMTP; 18 Feb 2002 17:44:44 -0000 Received: (from matthias@localhost) by schlaffi.walpergenhaus (8.11.6/8.11.6) id g1IHoXv05038; Mon, 18 Feb 2002 18:50:33 +0100 Message-Id:<200202181750.g1IHoXv05038@schlaffi.walpergenhaus> Date: Mon, 18 Feb 2002 09:46:00 -0000 From: matthias@schlaffi.walpergenhaus To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version:3.113 Subject: c++/5723: GCC 3.0.3 crashes when compiling template forward declaration X-SW-Source: 2002-02/txt/msg00434.txt.bz2 List-Id: >Number: 5723 >Category: c++ >Synopsis: GCC 3.0.3 crashes when compiling template forward declaration >Confidential: no >Severity: non-critical >Priority: low >Responsible: unassigned >State: open >Class: ice-on-legal-code >Submitter-Id: net >Arrival-Date: Mon Feb 18 09:46:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Matthias Kleinmann >Release: 3.0.3 >Organization: >Environment: System: Linux 2.4.17-xfs #2 Sun Feb 3 19:44:37 CET 2002 i686 unknown Architecture: i686 host: i686-pc-linux-gnu build: i686-pc-linux-gnu target: i686-pc-linux-gnu configured with: ../gcc-3.0.3/configure --enable-threads --enable-languages=c,c++ >Description: g++ segfaults if you correctly do a forward declaration of a class, wich was previoulsy declared within a template class. Maybe it is not even legal code. >How-To-Repeat: compile this as t.cc with "g++ -save-temps t.cc" : --- template class class1{class class2;}; template class class1::class2; int main(){return 0;} --- to produce this t.ii: --- # 1 "t.cc" template class class1{class class2;}; template class class1::class2; int main(){return 0;} --- and this error: --- t.cc:5: Internal error: Segmentation fault --- >Fix: I do not see any need for such a forward declaration at all. >Release-Note: >Audit-Trail: >Unformatted: