]> git.ipfire.org Git - thirdparty/gcc.git/commit - libstdc++-v3/src/c++98/istream.cc
re PR other/28145 (C++ (throw() and catch(...) {/* fall through */ } ) and pthread...
authorJason Merrill <jason@redhat.com>
Mon, 7 May 2007 21:27:54 +0000 (17:27 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Mon, 7 May 2007 21:27:54 +0000 (17:27 -0400)
commitd05f74f16e130e97210ad2eaad12915192ea8c9e
treec30258339d2a08a69bc22ef35afceb0e8fe1957c
parent1e7c1ba87df3e201199408f4cef5cbd0aaad475a
re PR other/28145 (C++ (throw() and catch(...) {/*  fall through */ } ) and pthread cancellation are incompatible (at least with NPTL))

        PR c++/28145
        * libsupc++/cxxabi.h (__forced_unwind, __foreign_exception):
        New classes.
        * libsupc++/eh_exception.cc: Define their destructors.
        * config/abi/pre/gnu.ver: Export their type_infos.
        * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
        * libsupc++/eh_personality.cc: A handler for abi::__forced_unwind
        matches a forced unwind, and a handler for abi::__foreign_exception
        matches a foreign exception.

        * include/bits/istream.tcc: Rethrow forced unwind.
        * include/bits/ostream.tcc: Likewise.
        * include/bits/ostream_insert.h: Likewise.
        * include/bits/basic_string.tcc (operator>>, getline): Likewise.
        * include/bits/fstream.tcc (basic_filebuf::close): Likewise.
        * include/ext/vstring.cc (operator>>, getline): Likewise.
        * src/istream.cc: Likewise.
        * src/compatibility.cc (basic_istream::ignore): Likewise.
        * include/std/bitset (operator>>): Likewise.
        * include/std/fstream (basic_filebuf::close): Remove throw() spec.
        * libsupc++/cxxabi-internal.h: Split out from...
        * libsupc++/cxxabi.h: ...here.

From-SVN: r124517
25 files changed:
gcc/testsuite/g++.dg/abi/forced.C [new file with mode: 0644]
libstdc++-v3/ChangeLog
libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
libstdc++-v3/config/abi/pre/gnu.ver
libstdc++-v3/config/locale/gnu/monetary_members.cc
libstdc++-v3/include/bits/basic_string.tcc
libstdc++-v3/include/bits/fstream.tcc
libstdc++-v3/include/bits/istream.tcc
libstdc++-v3/include/bits/locale_classes.h
libstdc++-v3/include/bits/ostream.tcc
libstdc++-v3/include/bits/ostream_insert.h
libstdc++-v3/include/debug/deque
libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp
libstdc++-v3/include/ext/vstring.tcc
libstdc++-v3/include/std/bitset
libstdc++-v3/include/std/fstream
libstdc++-v3/include/tr1/hypergeometric.tcc
libstdc++-v3/libsupc++/cxxabi-internal.h [new file with mode: 0644]
libstdc++-v3/libsupc++/cxxabi.h
libstdc++-v3/libsupc++/eh_exception.cc
libstdc++-v3/libsupc++/eh_personality.cc
libstdc++-v3/src/compatibility.cc
libstdc++-v3/src/ios.cc
libstdc++-v3/src/ios_init.cc
libstdc++-v3/src/istream.cc