[fpc-devel] error when crosscompile for arm

Jonas Maebe jonas.maebe at elis.ugent.be
Thu Dec 3 20:39:10 CET 2009


On 02 Dec 2009, at 18:06, Dariusz Mazur wrote:

> Jonas Maebe pisze:
>> 
>> The reason is because x87 fpu supports a signed 64 bit integer type (which Borland called "comp"). They introduced that type to allow people to perform fairly quick 64 bit arithmetic mathematics on the old Intel 16 bit processors, by making use of the floating point unit. That's the reason for the strange the definition and the non-portability.
> I thinking about treat this, as it is floating point, not as double
> it stay integer but it can be use as float (for example str(c:0:0,aa) where s is comp
> the same as Delphi

It would not be the same as in Delphi (or as in FPC for platforms that support the x87 fpu), because str(c:0:0,aa) would either
a) convert the comp into a double, because the implementation of str(x:0:0,...) only exists for floating point numbers
b) require a separate comp/int64 implementation of all existing routines that take floating point numbers as arguments, which emulates for int64 whatever the floating point variant of that function does


Jonas


More information about the fpc-devel mailing list