aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2014-07-29 18:30:25 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2014-07-29 18:30:25 +0100
commitaec20dcf3914c7f60f92efd5b708759d2acc2460 (patch)
treefcecc3c812af3319476dfdf300143ec4bdc5c1d9 /libstdc++-v3/include
parent212c47b4def1116c3822b6072dcb561be76d6cd3 (diff)
downloadgcc-aec20dcf3914c7f60f92efd5b708759d2acc2460.zip
gcc-aec20dcf3914c7f60f92efd5b708759d2acc2460.tar.gz
gcc-aec20dcf3914c7f60f92efd5b708759d2acc2460.tar.bz2
re PR libstdc++/61946 (rope construction, passing allocator referenct without const)
PR libstdc++/61946 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool, const allocator_type&)): Pass non-const allocator to _S_new_RopeFunction. * testsuite/ext/rope/61946.cc: New. From-SVN: r213220
Diffstat (limited to 'libstdc++-v3/include')
-rw-r--r--libstdc++-v3/include/ext/rope7
1 files changed, 4 insertions, 3 deletions
diff --git a/libstdc++-v3/include/ext/rope b/libstdc++-v3/include/ext/rope
index df3d4bb..147b335 100644
--- a/libstdc++-v3/include/ext/rope
+++ b/libstdc++-v3/include/ext/rope
@@ -1544,7 +1544,7 @@ protected:
typedef typename _Base::allocator_type allocator_type;
using _Base::_M_tree_ptr;
using _Base::get_allocator;
- using _Base::_M_get_allocator;
+ using _Base::_M_get_allocator;
typedef __GC_CONST _CharT* _Cstrptr;
static _CharT _S_empty_c_str[1];
@@ -1876,8 +1876,9 @@ protected:
const allocator_type& __a = allocator_type())
: _Base(__a)
{
- this->_M_tree_ptr = (0 == __len) ?
- 0 : _S_new_RopeFunction(__fn, __len, __delete_fn, __a);
+ this->_M_tree_ptr = (0 == __len)
+ ? 0
+ : _S_new_RopeFunction(__fn, __len, __delete_fn, _M_get_allocator());
}
rope(const rope& __x, const allocator_type& __a = allocator_type())