Martin Frb via fpc-devel <fpc-devel@lists.freepascal.org> schrieb am Mi., 12. Jan. 2022, 18:06:
> On 12/01/2022 17:31, Tomas Hajny via fpc-devel wrote: > > On 2022-01-12 16:03, Martin Frb via fpc-devel wrote: > >> > >> > >> But, if any change to the code (not even necessarily a functional > >> change) would allow the compiler to do those calculations at compile > >> time, then the value changes. And the entire behaviour of the app may > >> change. > >> Possible, this could even be a change just in optimization settings > >> (or upgrading FPC), allowing the compiler to to propagate constants... > >> > >> So does that mean, any code (that is to be compiled for Win-64bit) is > >> considered "unstable" if it contains "extended" ? > > > > Not necessarily - when targetting Win64, the user needs to be prepared > > for the lower precision. However, imagine that that the user compiles > > his source code for target x86_64-linux. The resulting binary and its > > output will be exactly the same if the source code is compiled (with > > the same options, etc.) on Linux or if it is compiled on Windows using > > a Win32 hosted compiler, but it will differ if using a Win64 hosted > > compiler. From compiler support point of view, this is an issue. > > Ok. So a question of priority. (E.g., reducing maintenance on tests?) > No, it's a question of unnecessary support we want. We already had users that complained that their code compiled from Win64 to x86_64-linux behaved differently than if compiled from Win32 or from x86_64-linux. We don't want to promote (and support) a compiler that doesn't produce the same code as the other two variants. > >> when targetting Win64, the user needs to be prepared for the lower > precision > Yes, but It is one thing to be prepared for: > - One (exactly one) "lower precision", and all behaviour (on that > platform [1]) to be always according to that specific precision. > > [1] on that platform, with that exact revision of the compiler. > But with any compile options, and independent of none functional > changes to the users code. > > It is another thing to be prepared for > - A random[2] "precision" that will change depending on compiler options > and/or seemingly unrelated changes in the user's code > > [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. Regards, Sven
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel