Is there anything tricky that prevents an easy implementation?
Yes, internally the routine that's doing the comparison can't
distinguish declarations from definitions. We need to diagnose
Is the routine arm_comp_type_attributes() in gcc/config/arm/arm.c by any chance?
conflicting declarations, and also where the *definition* is attributed
but the declaration was not.
How can you attribute the definition? This results in syntax error.
void pig(void) __attribute__ ((long_call)
{
}
We could relax the rules to allow your case, but only at the expense of
losing checking for the above scenarios. I'm not convinced that is a
good trade-off.
I don't need changes to the existing rules, just to find out how attribute long_call is
_supposed_ to be used :). I see something similar exists for the RS6000 back-end.
Do these not work but are added and waiting for a future implementation?
thanks
Jani