From: Jonathan Wakely Date: Mon, 18 Jan 2016 11:24:20 +0000 (+0000) Subject: Fix libstdc++ build with -fno-exceptions X-Git-Tag: basepoints/gcc-7~1544 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5460595a488ce9c131815016d0c89dc0d17ca14;p=thirdparty%2Fgcc.git Fix libstdc++ build with -fno-exceptions PR libstdc++/69340 * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions): Use macros for exception handling and fix unused parameter warning. From-SVN: r232502 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 48600ad7d6d9..74ef4f61eab5 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2016-01-18 Jonathan Wakely + + PR libstdc++/69340 + * src/c++11/cow-stdexcept.cc (_txnal_cow_string_C1_for_exceptions): + Use macros for exception handling and fix unused parameter warning. + 2016-01-17 John David Anglin PR libstdc++/68734 diff --git a/libstdc++-v3/src/c++11/cow-stdexcept.cc b/libstdc++-v3/src/c++11/cow-stdexcept.cc index e2d7e7614933..eddb36b48c49 100644 --- a/libstdc++-v3/src/c++11/cow-stdexcept.cc +++ b/libstdc++-v3/src/c++11/cow-stdexcept.cc @@ -232,7 +232,8 @@ void _ITM_addUserCommitAction(void (*)(void *), uint64_t, void *) { }; // that also notifies the TM runtime about allocations belonging to this // exception. void -_txnal_cow_string_C1_for_exceptions(void* that, const char* s, void *exc) +_txnal_cow_string_C1_for_exceptions(void* that, const char* s, + void *exc __attribute__((unused))) { typedef std::basic_string bs_type; bs_type *bs = (bs_type*) that; @@ -249,17 +250,17 @@ _txnal_cow_string_C1_for_exceptions(void* that, const char* s, void *exc) // TODO Once this is supported, link the following allocation to this // exception: void *prev = _ITM_setAssociatedException(exc); bs_type::_Rep *rep; - try + __try { rep = (bs_type::_Rep*) _ZGTtnaX (len + sizeof (bs_type::_Rep)); } - catch (...) + __catch (...) { // Pop the association with this exception. // TODO Once this is supported, link the following allocation to this // exception: _ITM_setAssociatedException(prev); // We do not need to instrument a rethrow. - throw; + __throw_exception_again; } // Pop the association with this exception. // TODO Once this is supported, link the following allocation to this