libgcc fails to compile if DItype is not supported [bswapdi2]
Pompapathi V Gadad
Pompapathi.V.Gadad@nsc.com
Thu Jun 21 06:49:00 GMT 2007
Hello Eric,
The target I am working on is 16-bit target and cannot support 64-bit
data types (DI mode).
How about conditionally declare the function?
#if LONG_LONG_TYPE_SIZE > 32
extern DItype __bswapdi2 (DItype);
#endif
Thanks,
Pompa
Eric Christopher wrote:
>
> On Jun 19, 2007, at 10:50 PM, Pompapathi V Gadad wrote:
>
>> Hello,
>> Current function declaration of __bswapdi2 in libgcc2.h is:
>> DItype __bswapdi2 (DItype u)
>>
>> Since this declaration does not check if DItype is supported, it is
>> bound for compilation failure for targets that do not support DItype.
>> Would it be ok to change the DItype to DWtype as in:
>>
>> DWtype __bswapdi2 (DWtype u)
>>
>> Is the above declaration more safer for all targets?
>
> No, probably best would be a check to make sure DItype is defined. In
> this case it's not a double word operation it is explicitly a 64-bit
> operation.
>
> -eric
>
More information about the Gcc
mailing list