This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/5302: ICE with templates
- From: Reichelt <reichelt at igpm dot rwth-aachen dot de>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 8 Jan 2002 10:56:05 -0000
- Subject: Re: c++/5302: ICE with templates
- Reply-to: Reichelt <reichelt at igpm dot rwth-aachen dot de>
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