apr-2001 libstdc++ outstanding

Benjamin Kosnik bkoz@redhat.com
Mon May 7 21:11:00 GMT 2001


Sorry I'm late on this stuff.... I guess I'll try to get it out the
first week of every month... sliding by this month...

- most major is the std::string memory leak and MT issues.
  libstdc++/2517 gets most of the details, or run this and watch top:

#include <string>

int main()
{
  std::string s1("robert ray, upper haight hippie");
  std::string s2;

  // Should not spike memory
  for (long l = 0; l < 50000000; ++l)
    s2 = s1 + " infinity vs. inevitable vs.";

  return(0);
}

MT issues are referenced here:

   There appears to be a race condition that will make this useless
   on SMP computers in this combination:
    _M_grab(const _Alloc& __alloc1, const _Alloc& __alloc2);
    _M_refcopy() throw();
    _M_leak();
    
   There is no mutex in _M_grab so that after it has checked the 
   !_M_is_leaked(), but before _M_refcopy() is called another thread
   might have executed _M_leak() on another processor.

Repeated calls to help to Nathan have been ignored. I'd appreciate it
if somebody could pick this stuff up, as I'm going to have my hands
full cleaning up the bugs in GNATS. Also, we need to figure out how to
add memory-regression tests like the first example to the test harness
(for string, it would be nice to regression-test all member functions)

- non-gcc patches referenced here:
  http://gcc.gnu.org/ml/libstdc++/2001-04/msg00018.html
  what is the status on this??

- issues WRT gcov, and general debugging issues
  http://gcc.gnu.org/ml/libstdc++/2001-04/msg00037.html
  http://gcc.gnu.org/ml/libstdc++/2001-04/msg00033.html
  one of these days we'll have a debugger that works...

- concept checking tweaks to makefiles, instantiations
  I still think this can be done with autoconf  

lots of work done WRT doxygen, backward headers, C99, testing harness, etc. 
Thanks everyone... the doxygen stuff in particular I find quite impressive.


mar outstanding
http://gcc.gnu.org/ml/libstdc++/2001-04/msg00023.html





More information about the Libstdc++ mailing list