aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChavdar Botev <cbotev@yahoo.com>2004-03-28 16:27:27 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2004-03-28 16:27:27 +0000
commitf26e5597f0272d7e4e20fe2c3728a064276f6ab0 (patch)
treee5ec76c7ee8cc0e54eeba22443039fb10b66346e
parente20f3dd1437fad78e3142fe4834773b71c1b100c (diff)
downloadgcc-f26e5597f0272d7e4e20fe2c3728a064276f6ab0.zip
gcc-f26e5597f0272d7e4e20fe2c3728a064276f6ab0.tar.gz
gcc-f26e5597f0272d7e4e20fe2c3728a064276f6ab0.tar.bz2
re PR libstdc++/14245 ([3.4 only] problem with user-defined allocators in std::basic_string)
2004-03-28 Chavdar Botev <cbotev@yahoo.com> PR libstdc++/14245 * include/bits/basic_string.tcc (basic_string::basic_string(const basic_string&)): Pass to _Rep::_M_grab the actual allocator of the string being constructed not the default constructed one. From-SVN: r80041
-rw-r--r--libstdc++-v3/ChangeLog8
-rw-r--r--libstdc++-v3/include/bits/basic_string.tcc5
2 files changed, 11 insertions, 2 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 1756701..a3e9af6 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,11 @@
+2004-03-28 Chavdar Botev <cbotev@yahoo.com>
+
+ PR libstdc++/14245
+ * include/bits/basic_string.tcc
+ (basic_string::basic_string(const basic_string&)): Pass to
+ _Rep::_M_grab the actual allocator of the string being constructed
+ not the default constructed one.
+
2004-03-27 Benjamin Kosnik <bkoz@redhat.com>
libstdc++ PR/13598
diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc
index 4a79333..4fa5e87 100644
--- a/libstdc++-v3/include/bits/basic_string.tcc
+++ b/libstdc++-v3/include/bits/basic_string.tcc
@@ -178,8 +178,9 @@ namespace std
template<typename _CharT, typename _Traits, typename _Alloc>
basic_string<_CharT, _Traits, _Alloc>::
basic_string(const basic_string& __str)
- : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(), __str.get_allocator()),
- __str.get_allocator())
+ : _M_dataplus(__str._M_rep()->_M_grab(_Alloc(__str.get_allocator()),
+ __str.get_allocator()),
+ __str.get_allocator())
{ }
template<typename _CharT, typename _Traits, typename _Alloc>