Hi Dominique, > On 19 May 2019, at 15:10, Dominique d'Humières <domi...@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). > --- ../_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). thanks for the patch. Iain > (b) Remove the line? > > TIA > > Dominique >