[fpc-pascal] Internal error 2006012201 while cross compiling

Jeppe Johansen jepjoh2 at es.aau.dk
Mon Jan 31 11:29:07 CET 2011


Den 31-01-2011 11:18, Julien Devillers skrev:
>
> -------------------
>
>
> OK, I replaced the -va by -vewunchilbdrqpv (everything except
> timestamps).
> With that, the error message reports the last line of the unit.
>
> I removed a lot of code to find out that issue happens here
>
> function RoundTo(const AValue: Double; const ADigit: TRoundToRange):
> Double; var
>    c: extended;
> begin
>    c := power(10,ADigit);
>    Result := c * round(AValue/c);
> end;
>
>
> If I remove   " c := power(10,ADigit);" , no more error.
>
> Julien
My guess is that it's related to 80bit constants. Win64 doesn't support 
80bit extended(according to some of the code, yet other places it 
defined pbestrealtype to s80bit). A crosscompiler should defined 
FPC_HAS_TYPE_EXTENDED for x86_64-linux, so I don't know whether this is 
actually the problem

Try changing c to double, and see whether the problem persists



More information about the fpc-pascal mailing list