From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mumit Khan To: egcs@cygnus.com Subject: (1.0.2) std/bastring.h change -- Why add std/bastring.cc? Date: Tue, 17 Feb 1998 09:51:00 -0000 Message-id: <9802171751.AA16745@modi.xraylith.wisc.edu> X-SW-Source: 1998-02/msg00821.html Both pre-1.0.2 and new'ish snapshots have the Jason's Feb 12 change where he adds bastring.cc to bastring.h. Why was this necessary? It would seem to cause unnecessary code-bloat on non-ELF (and PE when the bugs are fixed) systems. What am I missing here? For example, given the following code on sparc-sun-sunos4.1.3, stock assembler: #include int main () { string s ("hello"); return 0; } before: U basic_string >::~basic_string(void) U basic_string >::basic_string(char const *) and now (Yikes!): t __default_alloc_template::FREELIST_INDEX(unsigned int) t __default_alloc_template::ROUND_UP(unsigned int) t basic_string, __default_alloc_template >::~basic_string(void) t ___dl__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepPv t ___nw__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUiUi t basic_string, __default_alloc_template >::basic_string(char const *) U basic_string, __default_alloc_template >::nilRep t __malloc_alloc_template<0>::allocate(unsigned int) t __default_alloc_template::allocate(unsigned int) t basic_string, __default_alloc_template >::assign(char const *) t basic_string, __default_alloc_template >::assign(char const *, unsigned int) t basic_string, __default_alloc_template >::capacity(void) const t basic_string, __default_alloc_template >::check_realloc(unsigned int) const t __default_alloc_template::chunk_alloc(unsigned int, int &) t _clone__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep t _copy__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUiPCcUi t _create__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUi t basic_string, __default_alloc_template >::data(void) const t _data__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep t __default_alloc_template::deallocate(void *, unsigned int) t _excess_slop__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUiUi t _frob_size__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUi t _grab__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep t basic_string, __default_alloc_template >::length(void) const t basic_string, __default_alloc_template >::max_size(void) const t _move__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUiPCcUi t __default_alloc_template::refill(unsigned int) t _release__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep t basic_string, __default_alloc_template >::rep(void) const t basic_string, __default_alloc_template >::replace(unsigned int, unsigned int, char const *, unsigned int) t _repup__t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i0PQ2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep Regards, Mumit