This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ARM and __attribute__ long_call error
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