Message ID | 1453389937.4592.3.camel@localhost.localdomain |
---|---|
State | New |
Headers | show |
> Le 21 janv. 2016 à 16:25, Torvald Riegel <triegel@redhat.com> a écrit : > > On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote: >> 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); >> ^~~~~ > > Does this patch fix it (ie, mark the test unsupported)? AFAIU the error occurs at compile time and If my memory is correct the patch won’t fix the issue (not tested) and the test should be skipped on *-*-darwin* powerpc-ibm-aix*. Dominique
> Le 21 janv. 2016 à 18:15, Dominique d'Humières <dominiq@lps.ens.fr> a écrit : > > >> Le 21 janv. 2016 à 16:25, Torvald Riegel <triegel@redhat.com> a écrit : >> >> On Thu, 2016-01-21 at 11:00 +0100, Dominique d'Humières wrote: >>> 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); >>> ^~~~~ >> >> Does this patch fix it (ie, mark the test unsupported)? > > AFAIU the error occurs at compile time and If my memory is correct the patch won’t fix the issue (not tested) and the test should be skipped on *-*-darwin* powerpc-ibm-aix*. OK, my memory was not good!-( However the target selection in the patch is wrong, the following one works // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } } Dominique
On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } }
A comment to hint that this has something to do with weak undefined would be nice.
On 01/21/2016 06:06 PM, Mike Stump wrote: > On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote: >> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } } > > A comment to hint that this has something to do with weak undefined would be nice. > Or come up with some new "dg-require-effective-target weakref-whatnot", making it self-documenting.
On Thu, 2016-01-21 at 18:12 +0000, Pedro Alves wrote: > On 01/21/2016 06:06 PM, Mike Stump wrote: > > On Jan 21, 2016, at 9:29 AM, Dominique d'Humières <dominiq@lps.ens.fr> wrote: > >> // { dg-do run { target { ! { *-*-darwin* powerpc-ibm-aix* } } } } > > > > A comment to hint that this has something to do with weak undefined would be nice. > > > > Or come up with some new "dg-require-effective-target weakref-whatnot", making it > self-documenting. > It's just one test that needs this right now. If there should be more in the future, I agree that a dg-require-... might be nicer.
commit 259c0cf27d0a88eecc90af1aa500f88f6108cb04 Author: Torvald Riegel <triegel@redhat.com> Date: Thu Jan 21 16:21:33 2016 +0100 libitm: Disable testing transaction-safe exceptions on Darwin and AIX. * testsuite/libitm.c++/libstdc++-safeexc.C: Not supported on darwin or AIX. diff --git a/libitm/testsuite/libitm.c++/libstdc++-safeexc.C b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C index 3e1655e..55ebd25 100644 --- a/libitm/testsuite/libitm.c++/libstdc++-safeexc.C +++ b/libitm/testsuite/libitm.c++/libstdc++-safeexc.C @@ -2,7 +2,10 @@ // are indeed that. Thus, this also tests the transactional clones in // libstdc++ and libsupc++. -// { dg-do run } +// Not supported on Darwin nor AIX because those lack the support for +// weak references to undefined functions that we need in libstdc++ to make +// exceptions transaction-safe. +// { dg-do run { target { ! *-*-darwin* powerpc-ibm-aix* } } } #include <iostream> #include <exception>