diff options
author | Benjamin Kosnik <bkoz@redhat.com> | 2004-10-12 01:10:39 +0000 |
---|---|---|
committer | Benjamin Kosnik <bkoz@gcc.gnu.org> | 2004-10-12 01:10:39 +0000 |
commit | 5a1e5472f5864b2a31d3ccee2c08fc26496dfeab (patch) | |
tree | 78c99a88a4a9f7e8634edb1c6c35d4a19485dba1 /libstdc++-v3/include/ext/mt_allocator.h | |
parent | e7b5576858b1f5772430e94f8ded17d0fb7764d0 (diff) | |
download | gcc-5a1e5472f5864b2a31d3ccee2c08fc26496dfeab.zip gcc-5a1e5472f5864b2a31d3ccee2c08fc26496dfeab.tar.gz gcc-5a1e5472f5864b2a31d3ccee2c08fc26496dfeab.tar.bz2 |
re PR libstdc++/17937 (Critical ~__pool troubles)
2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_deque.h: Correct for over-long lines.
2004-10-11 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/17937
* include/ext/mt_allocator.h (__pool::_M_destroy): New.
* src/mt_allocator.cc (__pool::~__pool): Change definitions to
_M_destroy.
* acconfig.h: Remove _GLIBCXX_USE___CXA_ATEXIT.
* acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): Remove.
* configure.ac: Remove call to GLIBCXX_ENABLE_CXA_EXIT.
* configure: Regenerate.
* config/linker-map.gnu: Tweak exports.
* docs/html/ext/mt_allocator.html: Update docs.
* testsuite/ext/mt_allocator/deallocate_global-2.cc: Fix.
* testsuite/ext/mt_allocator/deallocate_global-4.cc: Fix.
* testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Fix.
* testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Fix.
* testsuite/ext/mt_allocator/deallocate_local-2.cc: Fix.
* testsuite/ext/mt_allocator/deallocate_local-4.cc: Fix.
* testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Fix.
* testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Fix.
From-SVN: r88913
Diffstat (limited to 'libstdc++-v3/include/ext/mt_allocator.h')
-rw-r--r-- | libstdc++-v3/include/ext/mt_allocator.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index 5803f5a..115ade7 100644 --- a/libstdc++-v3/include/ext/mt_allocator.h +++ b/libstdc++-v3/include/ext/mt_allocator.h @@ -274,6 +274,9 @@ namespace __gnu_cxx } } + void + _M_destroy() throw(); + char* _M_reserve_block(size_t __bytes, const size_t __thread_id); @@ -319,7 +322,7 @@ namespace __gnu_cxx _M_once = __tmp; } - ~__pool(); + ~__pool() { } private: // An "array" of bin_records each of which represents a specific @@ -364,6 +367,9 @@ namespace __gnu_cxx _M_initialize(); } + void + _M_destroy() throw(); + char* _M_reserve_block(size_t __bytes, const size_t __thread_id); @@ -387,7 +393,7 @@ namespace __gnu_cxx explicit __pool(const __pool_base::_Tune& __tune) : __pool_base(__tune), _M_bin(NULL), _M_bin_size(1) { } - ~__pool(); + ~__pool() { } private: // An "array" of bin_records each of which represents a specific @@ -638,9 +644,6 @@ namespace __gnu_cxx typedef __mt_alloc<_Tp1, pol_type> other; }; - // Create pool instance so that order of construction will be - // pool_type first, then allocator. This is necessary for - // correct global and static object construction/destruction. __mt_alloc() throw() { __policy_type::_S_get_pool(); } |