member template naming problem
Tom Asbury
tasbu@cinesite.com
Mon Jun 26 19:36:00 GMT 2000
Here is my code:
template< class A, class B >
class AA {
public:
class Pair {
};
};
template< class C >
class CsIndirectMap {
public:
typedef AA< C, int >::Pair Pair;
};
class D {
protected:
CsIndirectMap<int> _readDict;
};
int main ( )
{
class D;
}
--------------------------------------------
Above gives an ICE, interesting thing is : if I change the name
CsIndirectMap
to something else, it works!
--------------------------------------------
gcc -v --save-temps -c t.C -o t.o
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/specs
gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/cpp -lang-c++ -v -undef
-D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91 -D__ELF__
-Dunix -Di386 -D__i386__ -Dlinux -D__ELF__ -D__unix__ -D__i386__
-D__i386__ -D__linux__ -D__unix -D__i386 -D__linux -Asystem(posix)
-D__EXCEPTIONS -Asystem(unix) -Acpu(i386) -Amachine(i386) -Di386
-D__i386 -D__i386__ -D__tune_i386__ t.C t.ii
GNU CPP version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release) (i386
Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/include/g++-2
/usr/local/include
/usr/i386-redhat-linux/include
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/include
/usr/include
End of search list.
/usr/lib/gcc-lib/i386-redhat-linux/egcs-2.91.66/cc1plus t.ii -quiet
-dumpbase t.cc -version -o t.s
GNU C++ version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)
(i386-redhat-linux) compiled by GNU C version egcs-2.91.66
19990314/Linux (egcs-1.1.2 release).
t.C: In instantiation of `CsIndirectMap<int>':
t.C:16: instantiated from here
t.C:16: Internal compiler error.
t.C:16: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
t.C:16: See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
< tasbu@witsend.hollywood.cinesite.com >
--
Tom Asbury ....(tasbu)
Cinesite
1017 North Las Palmas Ave Suite 300
Hollywood CA 90038
323 - 468 - 4441
323 - 468 - 2316 FAX
More information about the Gcc-bugs
mailing list