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" } */ --- ../_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? (a) Fix the dg-require-ifunc as above? (b) Remove the line? TIA Dominique