Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior of basic_string...
authorPaolo Carlini <pcarlini@suse.de>
Fri, 7 Oct 2005 15:55:17 +0000 (15:55 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Fri, 7 Oct 2005 15:55:17 +0000 (15:55 +0000)
commita5cee4808e6598c60068f798542e3c9f690321f2
tree35667c891da9eb4b7fac1a83cb8b0d21303206c5
parent05f680972a4639d8e0471b47ff2695fa577bab11
Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior of basic_string pre-2003-06-13...

2005-10-07  Paolo Carlini  <pcarlini@suse.de>

Fix libstdc++/24196 for ext/vstring/rc by returning to the behavior
of basic_string pre-2003-06-13; remove fully-dynamic-string stuff.
* include/ext/rc_string_base.h (_M_refcopy): Move inside the
_Rep class and remove code in macro.
(__rc_string_base()): Construct with _S_empty_rep()._M_refcopy().
(_M_dispose, _M_leak_hard): Remove code in macro.
(_S_construct): Return _S_empty_rep()._M_refcopy() for empty string.
(_M_grab): Adjust.

* include/ext/rc_string_base.h (_Rep::_M_refdata()): Minor tweak,
mark throw().

From-SVN: r105090
libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/rc_string_base.h