[PATCH] coroutines: Fix compile error with symmetric transfers [PR94359]

Iain Sandoe iain@sandoe.co.uk
Mon Apr 13 14:37:48 GMT 2020


Hi Rainer,

Rainer Orth <ro@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



More information about the Gcc-patches mailing list