From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32259 invoked by alias); 29 Apr 2003 19:46:01 -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 32234 invoked by uid 71); 29 Apr 2003 19:46:00 -0000 Resent-Date: 29 Apr 2003 19:46:00 -0000 Resent-Message-ID: <20030429194600.32233.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, reichelt@igpm.rwth-aachen.de Received: (qmail 28244 invoked by uid 48); 29 Apr 2003 19:38:36 -0000 Message-Id: <20030429193836.28243.qmail@sources.redhat.com> Date: Tue, 29 Apr 2003 19:46:00 -0000 From: reichelt@igpm.rwth-aachen.de Reply-To: reichelt@igpm.rwth-aachen.de To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: c++/10553: [3.4 regression] ICE with undefined template parameter X-SW-Source: 2003-04/txt/msg01393.txt.bz2 List-Id: >Number: 10553 >Category: c++ >Synopsis: [3.4 regression] ICE with undefined template parameter >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: ice-on-illegal-code >Submitter-Id: net >Arrival-Date: Tue Apr 29 19:46:00 UTC 2003 >Closed-Date: >Last-Modified: >Originator: Volker Reichelt >Release: gcc 3.4-20030402 >Organization: >Environment: i686-pc-linux-gnu >Description: Consider the following code snippet: ----------------------------snip here--------------------------------- template struct A {}; template struct B { typedef A C; }; ----------------------------snip here--------------------------------- Compiling this with mainline I get: PR8582B.cc:5: error: `X' is not a class-name or namespace-name PR8582B.cc:5: internal compiler error: Segmentation fault Please submit a full bug report, [etc.] With gcc 3.2.3 or 3.3 branch I get: PR8582B.cc:5: error: `X' is not a class or namespace PR8582B.cc:5: error: `Y' is not a class or namespace PR8582B.cc:5: error: `X' fails to be a typedef or built in type PR8582B.cc:5: error: ISO C++ forbids declaration of `type name' with no type So we have an ice-on-illegal-code (error recovery problem) on mainline which is a regression w.r.t. 3.3 branch. >How-To-Repeat: g++ -c >Fix: >Release-Note: >Audit-Trail: >Unformatted: