On Thu, Oct 31, 2024 at 05:07:52PM +0000, Joseph Myers wrote: > On Thu, 31 Oct 2024, Jakub Jelinek wrote: > > > On Wed, Oct 23, 2024 at 05:52:13PM +0000, Joseph Myers wrote: > > > 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. > > > > My preference would be just fix the bug in the testcase, i.e. > > -void *foo_ifunc2() __attribute__((ifunc("foo_resolver"))); > > +void foo_ifunc2() __attribute__((ifunc("foo_resolver"))); > > Here is a patch version to do that. OK to commit? > > > testsuite: Fix prototype in gcc.dg/pr114115.c > > 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. Fix the return type for foo_ifunc2 so the > test builds without warnings both with and without -std=gnu23. > > Tested for x86_64. > > * gcc.dg/pr114115.c (foo_ifunc2): Return void.
Ok, thanks. Jakub