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

Reply via email to