Il 20/11/2019 19:19, R Smith via lazarus ha scritto:
The problem I've run into is a simple program (made in Lazarus) where
I use floating point constants. It compiles and runs perfectly on
Windows, but when cross-compiling for Linux, it fails for specific
floating point values.
I realise immediately that, if this is a bug, it's probably an FPC bug
and not Lazarus specific, but the problem is so obviously wrong, I'm
thinking it cannot possibly be a compiler bug, and since I am
cross-compiling from Lazarus, figured I would start asking here and
rule out the obvious things first.
I tested your program by compiling natively in Linux, (Lazarus 1.8 and
fpc 3.04) and it works just fine. Output is:
Setting Variable: x := 0.5;
FloatToStr( x ) --> 0.5
FloatToStr( 0.5 ) --> 0.5
Setting Variable: x := 0.35;
FloatToStr( x ) --> 0.35
FloatToStr( 0.35 ) --> 0.35
As with the given code Lazarus does pretty much nothing, and all the job
is done by the fpc compiler,
it must be an fpc cross-compiler specific issue.
Target processor "Default" is the right choice? Maybe a more specific
choice will tell the cross-compiler to pick up the right choice for fp
math. Just a guess.
Giuliano
--
Do not do to others as you would have them do to you.They might have different
tastes.
--
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus