c++/5302: ICE with templates

Reichelt reichelt@igpm.rwth-aachen.de
Tue Jan 8 02:56:00 GMT 2002


The following reply was made to PR c++/5302; it has been noted by GNATS.

From: Reichelt <reichelt@igpm.rwth-aachen.de>
To: kari@lyseo.kotka.fi, gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org,
        nobody@gcc.gnu.org
Cc:  
Subject: Re: c++/5302: ICE with templates
Date: Tue, 8 Jan 2002 12:07:03 +0100

 Hi,
 
 the ICE can be reproduced with the following small example:
 
 namespace N
 {
   template <class T> struct A {};
 }
 
 struct B : public N::A<int>
 {
   B() : N::A() {}  // ill-formed, should be "N::A<int>()"
 };
 
 So it's in fact an ice-on-illegal-code.
 The problem occurs with gcc 3.0.x, but seems to be fixed in gcc 3.1.
 
 By the way, in the original example you have to use "std::vector<_Tp*>"
 instead of "std::vector" in both constructors of "del_vector" to get rid
 of the ICE. In addition you should make the same change in both
 "erase"-functions.
 
 Greetings,
 Volker Reichelt
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5302
 
 



More information about the Gcc-prs mailing list