Mike Stump <mikest...@comcast.net> writes: > On Feb 6, 2017, at 3:33 AM, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: >> >> Hi Gerald, >> >>> Copying the two guys listed as testsuite maintainers in gcc/MAINTAINERS >>> may help; let me do that for you. >>> >>> That said, if this fails to fail, the patch might be considered obvious, >>> not requiring a approval? >> >> it's not: while it may XPASS with newer glibc versions, it still XFAILs >> e.g. on Solaris (and probably others). So unconditionally removing the >> xfail *-*-* trades an XPASS->PASS on some Linux versions against a >> XFAIL->FAIL elsewhere, which isn't acceptable. > > So, if it passes most everywhere, then I think the systems where it fails > need to be identified and listed. > > Are there any solaris systems where it works?
No, and judging from the comment in the test // that isn't reverse order of construction. We need to move // __cxa_thread_atexit into glibc to get this right. that's no wonder... > Systems like darwin and freebsd and aix seem to suggest that things should > generally work; which means that the problem is likely just specific > implementations of specific software. > > Anyone know of any other systems where it fails? > > I'll copy Jason to see if he recalls any systems where this might still fail. > > Anyway, I'd recommend just xfailing on solaris, and getting on with life. > Other systems that fail, will trivially add themselves, or identify a way > to xfail or otherwise mark as unsupported or add a new requirement if they > prefer. Any objections? No. In fact, I'd go for something like this: 2017-02-07 Dominik Vogt <v...@linux.vnet.ibm.com> Rainer Orth <r...@cebitec.uni-bielefeld.de> * g++.dg/tls/thread_local-order2.C: Only xfail execution on *-*-solaris*.
# HG changeset patch # Parent 031bb7a327cc984d387a8ae64e7c65d4b8793731 Only xfail g++.dg/tls/thread_local-order2.C on Solaris diff --git a/gcc/testsuite/g++.dg/tls/thread_local-order2.C b/gcc/testsuite/g++.dg/tls/thread_local-order2.C --- a/gcc/testsuite/g++.dg/tls/thread_local-order2.C +++ b/gcc/testsuite/g++.dg/tls/thread_local-order2.C @@ -2,10 +2,11 @@ // that isn't reverse order of construction. We need to move // __cxa_thread_atexit into glibc to get this right. -// { dg-do run { xfail *-*-* } } +// { dg-do run } // { dg-require-effective-target c++11 } // { dg-add-options tls } // { dg-require-effective-target tls_runtime } +// { dg-xfail-run-if "" { *-*-solaris* } } extern "C" void abort(); extern "C" int printf (const char *, ...);
This way one can easily add per-target PR references or explanations, e.g. for darwin10 or others should they come up. Tested on i386-pc-solaris2.12 and x86_64-pc-linux-gnu. Ok for mainline? Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University