https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125061
--- Comment #6 from Surya Kumari Jangala <jskumari at gcc dot gnu.org> ---
(In reply to uecker from comment #5)
>
> So what would be the right test? I guess
>
> { dg-require-effective-target trampolines }
>
> would not work. The following?
>
> { dg-skip-if "" { powerpc*-*-* s390*-*-* } }
>
> I notice Wtrampolines.c has
>
> /* { dg-warning "trampoline generated for nested function 'b'" "standard
> descriptors" { xfail { { ia64-*-* *-*-aix* } || { powerpc*-*-* && lp64 } } }
> } */
>
> which does not make sense to me.
PowerPC 32bit (ppc32) follows the System V ABI. This ABI does not specify
function descriptors for function pointers. Instead, the function pointer is a
scalar 32bit value.
The testcase Wtrampolines-3.c works fine when compiled with -m32. Hence the
correct fix would be:
{ xfail { powerpc*-*-* && lp64 } }