$ cat impl.cc struct A {}; template<typename T> struct t { t(); }; template<typename T> t<T>::t() {} int main() { t<A> *foo = new t<A>; return 0; }
$ g++ -c -frepo impl.cc $ c++filt <impl.rpo M impl.cc D /home/users/pluto/rpm/BUILD A '-c' '-frepo' '-mtune=k8' '-frandom-seed=0x5e164bdf' O t<A>::t() O t<A>::t() $ g++ -frepo impl.o -o impl impl.o: In function `main':impl.cc:(.text+0x1c): undefined reference to `t<A>::t()' collect2: ld returned 1 exit status it looks like a regression (it was fixed in 2.95.x, see PR454). -- Summary: template instantiation failure (-frepo). Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pluto at agmk dot net GCC build triplet: x86-64 GCC host triplet: x86-64 GCC target triplet: x86-64 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26230