Hi Rainer,

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)

according to my testing, sparc solaris fails for m32 and m64 (so the condition doesn’t need any multilib discriminator there)

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).

thanks
Iain

Reply via email to