Hi Iain, > Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote: > >>> diff --git >>> a/gcc/testsuite/g++.dg/coroutines/torture/symmetric-transfer-00-basic.C >>> b/gcc/testsuite/g++.dg/coroutines/torture/symmetric-transfer-00-basic.C >>> index 864846e365c..8211e8250ff 100644 >>> --- >>> a/gcc/testsuite/g++.dg/coroutines/torture/symmetric-transfer-00-basic.C >>> +++ >>> b/gcc/testsuite/g++.dg/coroutines/torture/symmetric-transfer-00-basic.C >>> @@ -1,4 +1,5 @@ >>> -// { dg-do run } >>> +// { dg-do run } >>> +// { dg-xfail-run-if "no indirect tailcall" { { lp64 && { >>> powerpc64*-linux-gnu } } || { *-*-solaris2* *-*-aix* } } } >>> >>> #if __has_include(<coroutine>) >> >> unfortunately, the dg-xfail-run-if is wrong. E.g. it causes XPASSes on >> i386-pc-solaris2.11. > > .. so that behaves in a similar way to PPC? > fail on m64 pass on m32? > (I don’t have access to any x86 solaris testing)
no, it PASSes for 32 and 64-bit alike, just as e.g. Linux/x86_64. > according to my testing, sparc solaris fails for m32 and m64 (so the > condition doesn’t need any multilib discriminator there) Right, same here. >> You should base this on the cpu part of the triplet in general, not on >> the OS. Besides, according to gcc-testresults postings, the test FAILs >> on other targets as well: armv8l-unknown-linux-gnueabihf, hppa*, and ia64. >> >> Besides, unless you want to introduce an effective-target keyword (with >> documentation in sourcebuild.texi), probably overkill for a single use, >> you can have more than one dg-xfail-run-if line to improve readibility. > > I’ll take a look at those and make multiple xfail-run-if’s > (one per target might be the neatest, and easier for a target maintainer to > add if one is missed). I thought about separate ones for cases that need additional conditions and an alphabetical list of target triplets (just <cpu wildcard>-*-*) for the rest. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University