[fpc-devel] error when crosscompile for arm

Jonas Maebe jonas.maebe at elis.ugent.be
Wed Dec 2 00:39:50 CET 2009


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.

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


Jonas


More information about the fpc-devel mailing list