Static templates bad; instantiations good

Nathan Myers ncm@cantrip.org
Thu May 18 18:17:00 GMT 2000


On Thu, May 18, 2000 at 05:36:29PM -0700, Chip Salzenberg wrote:
> These patches fix some undefined external refs in libstdc++.so.
> 
> diff -u -2 -r1.3 string-inst.cc
> ...
> +  template void __destroy_aux(S *, S *, __false_type);
 
This change is in violation of the C++ Coding Style guidelines.
The following is OK:

Index: src/string-inst.cc
RCS file: /cvs/gcc/egcs/libstdc++-v3/src/string-inst.cc,v
retrieving revision 1.3
diff -u -2 -r1.3 string-inst.cc
--- string-inst.cc	2000/05/15 06:38:55	1.3
+++ string-inst.cc	2000/05/19 00:30:46
@@ -64,4 +64,5 @@
   template S::_Rep* S::_Rep::_S_create(size_t, S::allocator_type const&);
   template void S::_Rep::_M_destroy(S::allocator_type const&) throw();
+  template void __destroy_aux(S*, S*, __false_type);
 #endif


Nathan Myers
ncm at cantrip dot org


More information about the Libstdc++ mailing list