On 03/16/2011 02:46 PM, Georg-Johann Lay wrote:
> Anatoly Sokolov schrieb:
>
>> /* Returns register number for function return value.*/
>>
>> -int
>> +static inline int
>> avr_ret_register (void)
>> {
>>return 24;
>> }
>
> I always wondered why that works.
>
> SI is returned in r22..r2
Anatoly Sokolov schrieb:
/* Returns register number for function return value.*/
-int
+static inline int
avr_ret_register (void)
{
return 24;
}
I always wondered why that works.
SI is returned in r22..r25 (not in r24..27)
DI is returnet in r18..r25 (not in r24..31)
So according to
Hello.
This patch removes obsolete LIBCALL_VALUE and FUNCTION_VALUE_REGNO_P macros
from AVR back end in the GCC and introduces equivalent TARGET_LIBCALL_VALUE
and TARGET_FUNCTION_VALUE_REGNO_P target hooks.
* config/avr/avr.h (RET_REGISTER, LIBCALL_VALUE,
FUNCTION_VALUE_REGNO_