From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21074 invoked by alias); 7 May 2003 11:06: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 21056 invoked by uid 71); 7 May 2003 11:06:00 -0000 Date: Wed, 07 May 2003 11:06:00 -0000 Message-ID: <20030507110600.21055.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: "Giovanni Bajo" Subject: Re: c++/10108: [3.4 regression] Error recovering problem: tree checking ICE: expected var_decl, have error_mark in tsubst_decl Reply-To: "Giovanni Bajo" X-SW-Source: 2003-05/txt/msg00468.txt.bz2 List-Id: The following reply was made to PR c++/10108; it has been noted by GNATS. From: "Giovanni Bajo" To: , , , , Cc: Subject: Re: c++/10108: [3.4 regression] Error recovering problem: tree checking ICE: expected var_decl, have error_mark in tsubst_decl Date: Wed, 7 May 2003 13:03:01 +0200 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=10108 Reduced snippet is: --------------------------------------------------------------- template struct Foo {}; template struct Bar : public Foo { typedef Foo base; typedef typename base::NON_EXISTENT INVALID_TYPE; template Bar(Q q, INVALID_TYPE a) : base(a) {} }; template struct Bar; --------------------------------------------------------------- pr10108.cpp: In instantiation of `Bar': pr10108.cpp:17: instantiated from here pr10108.cpp:9: error: no type named `NON_EXISTENT' in `struct Foo' pr10108.cpp:13: error: no type named `NON_EXISTENT' in `struct Foo' pr10108.cpp:13: internal compiler error: tree check: expected var_decl, have error_mark in tsubst_decl, at cp/pt.c:5957 Please submit a full bug report, This is ICE on error recovery, confirmed with 3.4 CVS 20030503. The same preprocessed source also generates totally different ICE-on-illegal for 3.2 branch and 3.3 branch. I isolated and reported the 3.3 branch failure in c++/10594. Giovanni Bajo