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

Reply via email to