2005-10-07 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Oct 2005 15:55:17 +0000 (15:55 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 7 Oct 2005 15:55:17 +0000 (15:55 +0000)
commit7f586c25a2c90fdfb7fe6ebc5b0a5819dcb4ac3c
tree35667c891da9eb4b7fac1a83cb8b0d21303206c5
parenta978f42ad44d3866e6e7c0d306d0c6be2028e05c
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().

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@105090 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/ext/rc_string_base.h