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:
parent
7c775aca29
commit
f5460595a4
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue