[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.
--
Darek
More information about the fpc-devel
mailing list