aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2005-05-18 22:11:24 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2005-05-18 22:11:24 +0000
commit66143232bcc2a86d69242f0e911f2d8a6f12ffb4 (patch)
tree12331c2252e228302cd09fca657e502bb9e75b91 /libstdc++-v3/src
parent7bd3a7bfc96fe0c312476ae407ec7db38cbf498a (diff)
downloadgcc-66143232bcc2a86d69242f0e911f2d8a6f12ffb4.zip
gcc-66143232bcc2a86d69242f0e911f2d8a6f12ffb4.tar.gz
gcc-66143232bcc2a86d69242f0e911f2d8a6f12ffb4.tar.bz2
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
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/bitmap_allocator.cc4
-rw-r--r--libstdc++-v3/src/mt_allocator.cc5
-rw-r--r--libstdc++-v3/src/pool_allocator.cc1
3 files changed, 8 insertions, 2 deletions
diff --git a/libstdc++-v3/src/bitmap_allocator.cc b/libstdc++-v3/src/bitmap_allocator.cc
index c8d94af..4e42cce 100644
--- a/libstdc++-v3/src/bitmap_allocator.cc
+++ b/libstdc++-v3/src/bitmap_allocator.cc
@@ -41,6 +41,10 @@ namespace __gnu_cxx
<bitmap_allocator<wchar_t>::_Alloc_block*,
bitmap_allocator<wchar_t>::_Alloc_block*> >;
+ template class __mini_vector<std::pair
+ <bitmap_allocator<size_t>::_Alloc_block*,
+ bitmap_allocator<size_t>::_Alloc_block*> >;
+
template class __mini_vector<size_t*>;
template size_t** __lower_bound
diff --git a/libstdc++-v3/src/mt_allocator.cc b/libstdc++-v3/src/mt_allocator.cc
index bb6ab89..9c94bc8 100644
--- a/libstdc++-v3/src/mt_allocator.cc
+++ b/libstdc++-v3/src/mt_allocator.cc
@@ -1,8 +1,8 @@
// Allocator details.
-// Copyright (C) 2004 Free Software Foundation, Inc.
+// Copyright (C) 2004, 2005 Free Software Foundation, Inc.
//
-// This file is part of the GNU ISO C++ Librarbooly. This library is free
+// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 2, or (at your option)
@@ -552,4 +552,5 @@ namespace __gnu_cxx
// Instantiations.
template class __mt_alloc<char>;
template class __mt_alloc<wchar_t>;
+ template class __mt_alloc<size_t>;
} // namespace __gnu_cxx
diff --git a/libstdc++-v3/src/pool_allocator.cc b/libstdc++-v3/src/pool_allocator.cc
index 731cfff..1ad4e9c 100644
--- a/libstdc++-v3/src/pool_allocator.cc
+++ b/libstdc++-v3/src/pool_allocator.cc
@@ -170,4 +170,5 @@ namespace __gnu_cxx
// Instantiations.
template class __pool_alloc<char>;
template class __pool_alloc<wchar_t>;
+ template class __pool_alloc<size_t>;
} // namespace __gnu_cxx