[fpc-devel] I've asked this before, but perhaps I wasn't specific enough that time: what do I *personally*, specifically need to do to ensure that a native Windows 64-bit build winds up on the FPC website for the next release?
Martin Frb
lazarus at mfriebe.de
Wed Jan 12 19:26:39 CET 2022
On 12/01/2022 18:48, Sven Barth via fpc-devel wrote:
>
> [2] From the users view "random", in that the user can not predict
> all
> the factors that will affect the selection.
>
>
> Currently the user must be prepared for the latter.
>
>
> No, it is deterministic, it's simply different from a native
> x86_64-linux compilation or one from Win32 as mentioned above and that
> is bad.
>
You completely missed the point.
I was NOT comparing Win vs Linux
I wrote
> And this is not comparing the behaviour between the Linux and Windows
> exe (both 64 bit). I agree that different behaviour must be expected.
> This is the behaviour between compiling the same code, with the same
> compiler, several times for the same target win-64.
Note the 2nd line.
- The exact same pascal code
- The exact same 32-bit ppcx64.exe
- the exact same target: Only compiling to 64-bit Windows exe
Changing only compiler options (e.g. optimizations), could possible
trigger a behavioural change in the resulting exe.
Because some calculation changed between being compiled to run-time or
compile-time.
=> ok, I have not deep enough insight into the optimizer, maybe
constant-propagation is 100% independent of any option passed to the
compiler.
Maybe constant-propagation will be the same at a levels of optimization....
But, also none functional changes such as
const c = extended(1.234567997807)
var a, b: extended;
begin
a := c;
...
b := c + a;
changed to
b:= c+c;
This is still the same code. There is no reason for a user to assume the
result should change.
But, depending on the code in between, I have seen cases were "c+a" was
done run-time.
While "c+c" should be compile time.
So, maybe it's not byte by byte the same pascal code. But from a
functional point of view, it is the same code.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20220112/4cb4fd12/attachment.htm>
More information about the fpc-devel
mailing list