[fpc-devel] error when crosscompile for arm

Dariusz Mazur darekm at emadar.com
Mon Nov 30 23:47:56 CET 2009

>>>> this is from simple function, but when I move them to main unit everything is compiled OK
>>>> what does it mean?
>>> I don't know why it doesn't happen in that case.
>> If units I have compiler directive $E- (emulation of FPU)
> Is this still about moving the function to another unit solving the problem you had, or an unrelated remark?
This the same, units has enable $E-,
but when I remove it second problem is show.
>> but when I remove it, i have problem with COMP type
>> when
>> var
>>  c : comp;
>> begin
>>  c:=int(1.1);
>> end;
>> it claim
>> got Double, expected int64
>> second problem is with str
>> str(c:0:0,ss)
>> is not valid
> Comp is an x87-specific legacy type. On platforms without x87 support it is emulated using int64 (so there it is an integer type rather than a floating point type). You should not use the comp type if you want portable code.

Now I know where is problem. But how solve them.

I cant simple remove all comp. I try to move my whole program. it use 
comp hundreds times.
I can't write from ground.

Is this possible to add special directive, that left the same behavior 
of comp under arm?
or any other hack?

> I don't understand what this has to do with what I said above, or with your ldfd-problem though. Please do not reply to some sentences in a previous mail if you want to explain something else, it makes the discussion confusing. Either write a separate mail, or delete the unrelated sentences.
Sorry for confusing.
For me it is the same problem: FPU
but when enable one switch, one bug disappear, but second is show.

Thx for explanation and patience.


More information about the fpc-devel mailing list