re PR libstdc++/38732 (Openoffice.org segfaults with runtime libs built from GCC...
authorJakub Jelinek <jakub@redhat.com>
Wed, 7 Jan 2009 22:50:42 +0000 (23:50 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Wed, 7 Jan 2009 22:50:42 +0000 (23:50 +0100)
commitc4bca01b27554f8a68a9391b278788bc1092c21f
treec60d6aa70fbdd55088e82c165c1341adb947d48c
parent1f93f6871ed8248e799690c7029cf1d5b12ff2f2
re PR libstdc++/38732 (Openoffice.org segfaults with runtime libs built from GCC trunk)

PR libstdc++/38732
* libsupc++/unwind-cxx.h (__cxxabiv1::__cxa_exception): Remove
referenceCount field again.
(__cxxabiv1::__cxa_refcounted_exception): New struct.
(__cxxabiv1::__get_refcounted_exception_header_from_obj,
__cxxabiv1::__get_refcounted_exception_header_from_ue): New static
inline functions.
* libsupc++/eh_alloc.cc (__cxxabiv1::__cxa_allocate_exception,
__cxxabiv1::__cxa_free_exception): Use __cxa_refcounted_exception
instead of __cxa_exception.
* libsupc++/eh_throw.cc (__gxx_exception_cleanup,
__cxxabiv1::__cxa_throw): Likewise.
* libsupc++/eh_ptr.cc (std::rethrow_exception,
std::__exception_ptr::exception_ptr::_M_addref,
std::__exception_ptr::exception_ptr::_M_release,
__gxx_dependent_exception_cleanup): Likewise.
* testsuite/18_support/exception/38732.cc: New test.

From-SVN: r143170
libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/eh_alloc.cc
libstdc++-v3/libsupc++/eh_ptr.cc
libstdc++-v3/libsupc++/eh_throw.cc
libstdc++-v3/libsupc++/unwind-cxx.h
libstdc++-v3/testsuite/18_support/exception/38732.cc [new file with mode: 0644]