One test failing with a -std=gnu23 default that I wanted to investigate further is gcc.dg/pr114115.c. Building with -std=gnu23 produces a warning:
pr114115.c:18:8: warning: 'ifunc' resolver for 'foo_ifunc2' should return 'void * (*)(void)' [-Wattribute-alias=] It turns out that this warning (from cgraphunit.cc) is disabled for unprototyped functions. It's not immediately obvious that being unprototyped has much to do with such incompatibilities of return type (void versus void *), but it still seems reasonable to address this warning by adding -std=gnu17 to the options for this testcase, so minimizing the perturbation to what it tests. Tested for x86_64. * gcc.dg/pr114115.c: Use -std=gnu17. diff --git a/gcc/testsuite/gcc.dg/pr114115.c b/gcc/testsuite/gcc.dg/pr114115.c index 2629f591877..c8ed4913dbf 100644 --- a/gcc/testsuite/gcc.dg/pr114115.c +++ b/gcc/testsuite/gcc.dg/pr114115.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O0 -fprofile-generate -fdump-tree-optimized" } */ +/* { dg-options "-std=gnu17 -O0 -fprofile-generate -fdump-tree-optimized" } */ /* { dg-require-profiling "-fprofile-generate" } */ /* { dg-require-ifunc "" } */ -- Joseph S. Myers josmy...@redhat.com