The pdk backends generate wrong code for casting a function pointer to void*:
void *f (void);
void *
f (void)
{
return f;
}
results in:
_f:
mov a, #(_f + 0)
clear p
This affects regression test gcc-torture-execute-20041212-1. Though the code for the cast is wrong in two places, so that in the end both wrong values compare equal, and the test passes. But in the pdk branch, the linker reports an error.
Philipp