[fpc-devel] error when crosscompile for arm

Dariusz Mazur darekm at emadar.com
Wed Dec 2 16:19:53 CET 2009


Jonas Maebe pisze:
> On 02 Dec 2009, at 00:15, Dariusz Mazur wrote:
>
>   
>> Jonas Maebe pisze:
>>     
>>> On 30 Nov 2009, at 23:47, Dariusz Mazur wrote:
>>>
>>>       
>>>> Is this possible to add special directive, that left the same behavior of comp under arm?
>>>> or any other hack?
>>>>         
>>> Only a hardware hack: solder an x87-fpu on your ARM processor and use that... This cannot be fixed in software without emulating an x87-fpu (or 128 bit floats), because a double precision floating point type does not have the required precision to represent all comp values.
>>>       
>> I was thinking,  that soft FPU can emulate this,
>>     
>
> It could once someone adds float80 support to it. Currently only single and double are supported.
>
>   
>> or compiler can use comp internal as int64 and external as real.
>>     
>
> That would result in precision loss.
>   
Why. comp is 8 byte wide, the same as int64,
As I read Delphi help now, comp is internal Intel int64, but is 
classified as real, because it is not ordinal type.
>   
>> From these stage I have one suggestion.
>> on linux-i368  directive $E claim: switch $E is not supported
>>     
>
> I think that's quite self-explanatory.
>
>   
>> on linux-arm the same switch cause compiling error (problems with units generating with different switch ) remark: all compiled with -CfSOFT
>>     
>
> Compiling with -Cfsoft and {$E-} will indeed probably causes errors. The compiler should simply give an error when you try to do that.
>   
Not simpler ignore this?
On other platforms  this is not enough, and more switches should be added



-- 
  Darek







More information about the fpc-devel mailing list