egcs 1.1.2 explicit template bug

Sean C. Rhea srhea@ibmoto.com
Thu Apr 1 13:23:00 GMT 1999


When I do: 

     /usr/local/bin/g++ -fno-implicit-templates candy.C

where candy.C looks like:

     #include <list>

     int main ()
     {
       list<int> l;
       return 0;
     }

     template class list<int>;

I get this:

/var/tmp/cc8ScNzz.o: In function `list<int,
__default_alloc_template<false, 0> >::operator=(list<int,
__default_alloc_template<false, 0> > const &)':
/var/tmp/cc8ScNzz.o(.text+0x1040): undefined reference to `void
list<int, __default_alloc_template<false, 0>
>::insert<__list_iterator<int, int const &, int const *> >(__list_iterator<int, int &, int *>, __list_iterator<int, int const &, int const *>, __list_iterator<int, int const &, int const *>)'
/var/tmp/cc8ScNzz.o: In function `void list<int,
__default_alloc_template<false, 0>
>::range_initialize<__list_iterator<int, int const &, int const *> >(__list_iterator<int, int const &, int const *>, __list_iterator<int, int const &, int const *>)':
/var/tmp/cc8ScNzz.o(.void list<int, __default_alloc_template<0, 0>
>::gnu.linkonce.t.range_initialize<__list_iterator<int, int const &, int const *> >(__list_iterator<int, int const &, int const *>, __list_iterator<int, int const &, int const *>)+0x6c): undefined reference to `void list<int, __default_alloc_template<false, 0> >::insert<__list_iterator<int, int const &, int const *> >(__list_iterator<int, int &, int *>, __list_iterator<int, int const &, int const *>, __list_iterator<int, int const &, int const *>)'
collect2: ld returned 1 exit status

I know that's hard to parse, but it looks to me like a version of insert
is not getting instanciated by the compiler.  A full bug report is
enclosed.

Thanks, 
Sean C. Rhea
egcs-1.1.2-bug-report.tar.gz



More information about the Gcc-bugs mailing list