summaryrefslogtreecommitdiffstats
path: root/libstdc++-v3/src
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-09 02:30:10 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2004-10-09 02:30:10 +0000
commitfac992ef71601620e3ed3ea15c13ecf61b62f92a (patch)
tree8e3e1d2f5f372fc6e36fa64ac8ac0238e33b9d75 /libstdc++-v3/src
parentcd94930b58bb2195826b0e7a46ca677d75253040 (diff)
downloadppe42-gcc-fac992ef71601620e3ed3ea15c13ecf61b62f92a.tar.gz
ppe42-gcc-fac992ef71601620e3ed3ea15c13ecf61b62f92a.zip
2004-10-08 Benjamin Kosnik <bkoz@redhat.com>
* acconfig.h: Add _GLIBCXX_USE___CXA_ATEXIT. * acinclude.m4 (GLIBCXX_ENABLE_CXA_ATEXIT): New. * configure.ac: Call GLIBCXX_ENABLE_CXA_EXIT. * configure: Regenerate. * src/mt_allocator.cc (__pool::~__pool): Make conditional on _GLIBCXX_USE___CXA_ATEXIT macro. * docs/html/ext/mt_allocator.html: Add note about deallocation. * testsuite/ext/mt_allocator/deallocate_local-2.cc: Guard checks with _GLIBCXX_USE___CXA_ATEXIT. * testsuite/ext/mt_allocator/deallocate_global_thread-3.cc: Same. * testsuite/ext/mt_allocator/deallocate_global_thread-1.cc: Same. * testsuite/ext/mt_allocator/deallocate_global-4.cc: Same. * testsuite/ext/mt_allocator/deallocate_global-2.cc: Same. * testsuite/ext/mt_allocator/deallocate_local_thread-3.cc: Same. * testsuite/ext/mt_allocator/deallocate_local_thread-1.cc: Same. * testsuite/ext/mt_allocator/deallocate_local-4.cc: Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88809 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/src')
-rw-r--r--libstdc++-v3/src/mt_allocator.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libstdc++-v3/src/mt_allocator.cc b/libstdc++-v3/src/mt_allocator.cc
index 1e45f4cfb1b..7c3f5a4fa64 100644
--- a/libstdc++-v3/src/mt_allocator.cc
+++ b/libstdc++-v3/src/mt_allocator.cc
@@ -48,6 +48,7 @@ namespace __gnu_cxx
{
__pool<false>::~__pool()
{
+#ifdef _GLIBCXX_USE___CXA_ATEXIT
if (_M_init && !_M_options._M_force_new)
{
for (size_t __n = 0; __n < _M_bin_size; ++__n)
@@ -65,6 +66,7 @@ namespace __gnu_cxx
delete _M_bin;
delete _M_binmap;
}
+#endif
}
void
@@ -174,6 +176,7 @@ namespace __gnu_cxx
#ifdef __GTHREADS
__pool<true>::~__pool()
{
+#ifdef _GLIBCXX_USE___CXA_ATEXIT
if (_M_init && !_M_options._M_force_new)
{
if (__gthread_active_p())
@@ -213,6 +216,7 @@ namespace __gnu_cxx
delete _M_bin;
delete _M_binmap;
}
+#endif
}
void
OpenPOWER on IntegriCloud