ARM and __attribute__ long_call error

Jani Monoses jani@iv.ro
Wed Jun 8 10:53:00 GMT 2005


>>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



More information about the Gcc mailing list