Failure of 2371.C
Martin von Loewis
martin@mira.isdn.cs.tu-berlin.de
Sun Feb 15 00:16:00 GMT 1998
Is anybody else seeing that compilation of
gcc/testsuite/g++.old-deja/g++.jason/2371.C fails? Or is it my local
modifications that broke it? The symptom is that the compilation won't
terminate.
I've reduced that to a minimal example, which reads
template<class T>
class ListS {
public:
class Vix {
public:
friend int operator!=(const Vix& x1, const Vix& x2)
{ return 0; }
};
};
class test {
};
template class ListS<test>;
The problem is that pushdecl () is called twice for
__ne__H1Z4test_RCQ2t5ListS1ZX013VixT0_i while in the global binding,
which will produce a cyclic list for the names in that binding. One
copy is produced when iterating over the friends of Vix, and the other
when iterating over the friends of ListS.
Anybody else seeing this?
Martin
More information about the Gcc
mailing list