dg-require-ifunc syntax

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Mon May 20 09:03:00 GMT 2019


Hi Iain,

> Hi Dominique,
>
>> On 19 May 2019, at 15:10, Dominique d'Humières <dominiq@lps.ens.fr> wrote:
>> 
>> AFAICT the syntax for dg-require-ifunc seems to be
>> 
>> /* { dg-require-ifunc "" } */
>> 
>> with two sets of exceptions:
>> 
>> (1) gcc.target/i386/pr90500-*.c
>> 
>> which explains
>> 
>> FAIL: gcc.target/i386/pr90500-1.c  (test for errors, line 6)
>> FAIL: gcc.target/i386/pr90500-1.c  (test for warnings, line 6)
>> FAIL: gcc.target/i386/pr90500-1.c (test for excess errors)
>> FAIL: gcc.target/i386/pr90500-2.c  (test for errors, line 6)
>> FAIL: gcc.target/i386/pr90500-2.c  (test for warnings, line 6)
>> FAIL: gcc.target/i386/pr90500-2.c (test for excess errors)
>> 
>> and is fixed with the trivial patch
>> 
>> --- ../_clean/gcc/testsuite/gcc.target/i386/pr90500-1.c 2019-05-16
>> 17:34:09.000000000 +0200
>> +++ gcc/testsuite/gcc.target/i386/pr90500-1.c 2019-05-18
>> 14:28:12.000000000 +0200
>> @@ -1,6 +1,6 @@
>> /* PR middle-end/84723 */
>> /* { dg-do compile } */
>> -/* { dg-require-ifunc } */
>> +/* { dg-require-ifunc "" } */
>> 
>> __attribute__((target_clones("arch=haswell", "default"))) int __tanh() {}
>> __typeof(__tanh) tanhf64 __attribute__((alias("__tanh")))/* { dg-error
>> "clones for .target_clones. attribute cannot be created" } */
>
> From a Darwin point of view, this is OK (it seems obvious to me, also).

indeed: I have the same issue on Solaris, too.

>> --- ../_clean/gcc/testsuite/gcc.target/i386/pr90500-2.c 2019-05-16
>> 17:34:09.000000000 +0200
>> +++ gcc/testsuite/gcc.target/i386/pr90500-2.c 2019-05-18
>> 14:28:25.000000000 +0200
>> @@ -1,6 +1,6 @@
>> /* PR middle-end/84723 */
>> /* { dg-do compile } */
>> -/* { dg-require-ifunc } */
>> +/* { dg-require-ifunc "" } */
>> 
>> __attribute__((target_clones("arch=haswell", "default"))) int __tanh() {}
>> __typeof(__tanh) tanhf64
>> __attribute__((alias("__tanh"),target_clones("arch=haswell",
>> "default"))); /* { dg-error "clones for .target_clones. attribute cannot
>> be created" } */
>> 
>> (2) gcc.target/i386/pr84723-*.c
>> 
>> which succeed on darwin. What is the suitable fix for that?
>
> My assumption here is that the tests should not be run on a non-ifuncs target, 
> but that it happens to be that they are testing for an erroneous condition 
> - which by chance also gives the correct error on a non-ifuncs target.
>> 
>> (a) Fix the dg-require-ifunc as above?
>
> I would prefer this, (it’s confusing to run tests for an unsupported
> functionality)
> - unless there is some other value to running the tests (will wait for comments
> on that).

Right: I guess we can wait for Jakub's take on that.  The tests PASS on
Solaris/x86 as well, which hasn't ifunc support either, and there are no
gcc-testresults postings showing failures for this test anywhere.

Prompted by the initial bug, I looked around a bit and found some more
instances of the dg-require-* syntax problem.  I'll commit them either
together with the rest of separately, since this stuff tends to be
copied around.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


-------------- next part --------------
A non-text attachment was scrubbed...
Name: testsuite-dg-require-syntax.patch
Type: text/x-patch
Size: 2021 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190520/047e1974/attachment.bin>


More information about the Gcc-patches mailing list