public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* (1.0.2) std/bastring.h change -- Why add std/bastring.cc?
@ 1998-02-17  9:51 Mumit Khan
  1998-02-17 10:40 ` Joe Buck
       [not found] ` <199802171840.KAA06006.cygnus.egcs@atrus.synopsys.com>
  0 siblings, 2 replies; 19+ messages in thread
From: Mumit Khan @ 1998-02-17  9:51 UTC (permalink / raw)
  To: egcs

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 <string>
  int main () {
      string s ("hello");
      return 0;
  }

before:

  U   basic_string<char, string_char_traits<char> >::~basic_string(void)
  U   basic_string<char, string_char_traits<char> >::basic_string(char const *)

and now (Yikes!):
  
  t   __default_alloc_template<false, 0>::FREELIST_INDEX(unsigned int)
  t   __default_alloc_template<false, 0>::ROUND_UP(unsigned int)
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::~basic_string(void)
  t   ___dl__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepPv
  t   ___nw__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUiUi
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::basic_string(char const *)
  U   basic_string<char, string_char_traits<char>,
	__default_alloc_template<false, 0> >::nilRep
  t   __malloc_alloc_template<0>::allocate(unsigned int)
  t   __default_alloc_template<false, 0>::allocate(unsigned int)
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::assign(char const *)
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::assign(char const *, unsigned int)
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::capacity(void) const
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::check_realloc(unsigned int) const
  t   __default_alloc_template<false, 0>::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<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::data(void) const
  t   _data__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep
  t   __default_alloc_template<false, 0>::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<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::length(void) const
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::max_size(void) const
  t   _move__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepUiPCcUi
  t   __default_alloc_template<false, 0>::refill(unsigned int)
  t   _release__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::rep(void) const
  t   basic_string<char, string_char_traits<char>, 
	__default_alloc_template<false, 0> >::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

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~1998-02-23 11:00 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-02-17  9:51 (1.0.2) std/bastring.h change -- Why add std/bastring.cc? Mumit Khan
1998-02-17 10:40 ` Joe Buck
     [not found] ` <199802171840.KAA06006.cygnus.egcs@atrus.synopsys.com>
1998-02-17 13:54   ` Jason Merrill
1998-02-17 15:16     ` H.J. Lu
1998-02-17 23:59     ` Mumit Khan
1998-02-18 14:54       ` A STL patch for egcs 1.0.2 H.J. Lu
1998-02-18 14:54       ` (1.0.2) std/bastring.h change -- Why add std/bastring.cc? H.J. Lu
     [not found]       ` <m0y5H2p-00058KC.cygnus.egcs@ocean.lucon.org>
1998-02-19 10:45         ` Jason Merrill
     [not found]       ` <m0y5H5T-00058KC.cygnus.egcs@ocean.lucon.org>
1998-02-19 10:47         ` A STL patch for egcs 1.0.2 Jason Merrill
1998-02-19 10:47           ` H.J. Lu
1998-02-19 12:42             ` Jason Merrill
1998-02-20 12:26               ` H.J. Lu
1998-02-20 12:26                 ` Jason Merrill
1998-02-20 12:26                   ` H.J. Lu
1998-02-20 11:09                     ` Jason Merrill
1998-02-19 14:09           ` Ulrich Drepper
1998-02-22 16:39             ` Jeffrey A Law
1998-02-23 11:00               ` H.J. Lu
1998-02-23  9:19                 ` Jeffrey A Law

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).