[PATCH v2] libstdc++: Make certain exceptions transaction_safe.
Dominique d'Humières
dominiq@lps.ens.fr
Thu Jan 21 10:00:00 GMT 2016
Torvald,
Now that I can bootstrap on darwin, I have found the following failure for libitm.c++/libstdc++-safeexc.C
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::underflow_error::underflow_error(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::overflow_error::overflow_error(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::range_error::range_error(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::runtime_error::runtime_error(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::out_of_range::out_of_range(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::length_error::length_error(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::invalid_argument::invalid_argument(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::domain_error::domain_error(const string&)' within atomic transaction
throw T (what);
^~~~~
/opt/gcc/work/libitm/testsuite/libitm.c++/libstdc++-safeexc.C:50:2: error: unsafe function call 'std::logic_error::logic_error(const string&)' within atomic transaction
throw T (what);
^~~~~
TIA
Dominique
> Le 19 janv. 2016 à 20:20, Jonathan Wakely <jwakely@redhat.com> a écrit :
>
> On 19/01/16 20:10 +0100, Torvald Riegel wrote:
>> On Sat, 2016-01-16 at 10:57 +0100, Dominique d'Humières wrote:
>>> > Addressed these, fixed a problem with using GLIBCXX_WEAK_DEFINITION
>>> > (which is only set on Darwin despite the generic-sounding name -- so
>>> > just use __attribute__((weak)) directly), and also updated
>>> > testsuite_abi.cc so that it knows about CXXABI_1.3.10.
>>> >
>>> > Approved by Jonathan Wakely. Committed as r232454.
>>> This breaks bootstrap on darwin, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69310.
>>
>> Please give this patch a try. I've only tested it on x86_64-linux.
>> Jon, okay from your side if Darwin testing succeeds?
>
> Yes, OK.
More information about the Libstdc++
mailing list