]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR libstdc++/19495 (basic_string::_M_rep() can produce an unnaturally aligned...
authorPaolo Carlini <pcarlini@suse.de>
Wed, 18 May 2005 22:11:24 +0000 (22:11 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 18 May 2005 22:11:24 +0000 (22:11 +0000)
commit66143232bcc2a86d69242f0e911f2d8a6f12ffb4
tree12331c2252e228302cd09fca657e502bb9e75b91
parent7bd3a7bfc96fe0c312476ae407ec7db38cbf498a
re PR libstdc++/19495 (basic_string::_M_rep() can produce an unnaturally aligned pointer to _Rep)

2005-05-18  Paolo Carlini  <pcarlini@suse.de>
    Nathan Myers  <ncm@cantrip.org>

PR libstdc++/19495
* include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
size_type instead of char and rename to _Raw_alloc.
* include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
Use the above.
* src/bitmap_allocator.cc: Add instantiation for size_type.
* src/mt_allocator.cc: Likewise.
* src/pool_allocator.cc: Likewise.
* include/ext/array_allocator.h: Tweak slightly, avoid assuming
the existence of an _Array::begin() and size() members.
* testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
of size_type, instead of char, thus avoiding problems with
rebinds, not treated correctly by array_allocator.

Co-Authored-By: Nathan Myers <ncm@cantrip.org>
From-SVN: r99933
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/basic_string.h
libstdc++-v3/include/bits/basic_string.tcc
libstdc++-v3/include/ext/array_allocator.h
libstdc++-v3/src/bitmap_allocator.cc
libstdc++-v3/src/mt_allocator.cc
libstdc++-v3/src/pool_allocator.cc
libstdc++-v3/testsuite/ext/array_allocator/2.cc