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
This commit is contained in:
Jonathan Wakely 2016-01-18 11:24:20 +00:00 committed by Jonathan Wakely
parent 7c775aca29
commit f5460595a4
2 changed files with 11 additions and 4 deletions

View File

@ -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

View File

@ -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