This is the offending code, which gets compiled successfully. -------------------------- // The base template. template <class T> struct A { int select() { return 0; } };
//Extra "template<>" template <> template <> template <> template <> template <> template <> template <> template <> template <> template <> template <> template <class T> struct A<T*> { int select() { return 1; } }; int main() { return A<int*>().select(); } -------------------------- Compiler and Environment Details: ================================= Reading specs from /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/specs Configured with: ./configure Thread model: posix gcc version 3.3.2 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/cc1plus -E -D__GNUG__=3 -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=2 -D_GNU_SOURCE A.cpp A.ii ignoring nonexistent directory "NONE/include" ignoring nonexistent directory "/usr/local/i686-pc-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include/c++/3.3.2 /usr/local/include/c++/3.3.2/i686-pc-linux-gnu /usr/local/include/c++/3.3.2/backward /usr/local/include /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/include /usr/include End of search list. /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/cc1plus -fpreprocessed A.ii -quiet -dumpbase A.cpp -auxbase A -version -o A.s GNU C++ version 3.3.2 (i686-pc-linux-gnu) compiled by GNU C version 3.2.3 20030502 (Red Hat Linux 3.2.3-20). GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128606 as -V -Qy -o A.o A.s GNU assembler version 2.14.90.0.4 (i386-redhat-linux) using BFD version 2.14.90.0.4 20030523 /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/crtbegin.o -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2 -L/usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../.. A.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/local/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/crtend.o /usr/lib/crtn.o -- Summary: Extra "template<>" in partial specialization is compiled successfuly. Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P4 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: shriram_vishwanathan at persistent dot co dot in http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24314