diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 831e14dc731bdd6ba1fcac77a11fbe65ca2a4136..741e887d094355fedfc92d79d2e6ee0c95623f26 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,11 @@ +2002-04-17 Benjamin Kosnik <bkoz@redhat.com> + + * config/linker-map.gnu (__malloc_alloc_template): Add. + (__default_alloc_template): Same. + * include/bits/stl_alloc.h (__malloc_alloc_template): Add extern + template. + (__default_alloc_template): Same. + 2002-04-17 Benjamin Kosnik <bkoz@redhat.com> * testsuite/27_io/filebuf_virtuals.cc: Add _S_pback_size instantiation. diff --git a/libstdc++-v3/config/linker-map.gnu b/libstdc++-v3/config/linker-map.gnu index 0a87f3d79bcc1cb9fca938297e891a173448cfc7..2a55bb2e46339ba84c29b73a95c2305a82303e10 100644 --- a/libstdc++-v3/config/linker-map.gnu +++ b/libstdc++-v3/config/linker-map.gnu @@ -36,7 +36,9 @@ GLIBCPP_3.1 { std::__timepunct*; std::__numeric_limits_base*; std::_S_bit_count; - std::_S_first_one + std::_S_first_one; + std::__default_alloc_template*; + std::__malloc_alloc_template* }; # Names not in an 'extern' block are mangled names. diff --git a/libstdc++-v3/include/bits/stl_alloc.h b/libstdc++-v3/include/bits/stl_alloc.h index e193297513c33219eb404e63bef3527b5b186b5f..7c34000401c13efd68af4270af06a91cf6dbdb76 100644 --- a/libstdc++-v3/include/bits/stl_alloc.h +++ b/libstdc++-v3/include/bits/stl_alloc.h @@ -927,6 +927,11 @@ struct _Alloc_traits<_Tp, __allocator<_Tp1, __debug_alloc<_Alloc> > > // NB: This syntax is a GNU extension. extern template class allocator<char>; extern template class allocator<wchar_t>; +#ifdef __USE_MALLOC + extern template class __malloc_alloc_template<0>; +#else + extern template class __default_alloc_template<true, 0>; +#endif } // namespace std #endif /* __GLIBCPP_INTERNAL_ALLOC_H */