diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2016-01-18 11:24:20 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2016-01-18 11:24:20 +0000 |
commit | f5460595a488ce9c131815016d0c89dc0d17ca14 (patch) | |
tree | 43c441e2bc317c76d06b2a6b1e409a474711ba7b | |
parent | 7c775aca298673f95dddfb8605f11b0e2f236361 (diff) | |
download | gcc-f5460595a488ce9c131815016d0c89dc0d17ca14.zip gcc-f5460595a488ce9c131815016d0c89dc0d17ca14.tar.gz gcc-f5460595a488ce9c131815016d0c89dc0d17ca14.tar.bz2 |
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
-rw-r--r-- | libstdc++-v3/ChangeLog | 6 | ||||
-rw-r--r-- | libstdc++-v3/src/c++11/cow-stdexcept.cc | 9 |
2 files changed, 11 insertions, 4 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 48600ad..74ef4f6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,9 @@ +2016-01-18 Jonathan Wakely <jwakely@redhat.com> + + 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 <danglin@gcc.gnu.org> PR libstdc++/68734 diff --git a/libstdc++-v3/src/c++11/cow-stdexcept.cc b/libstdc++-v3/src/c++11/cow-stdexcept.cc index e2d7e76..eddb36b 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<char> 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 |