@tetrastes
Now I am confused: the mode should not matter in this case: it is not object pascal, but clean pascal. Tests here, but it is Friday, show me there is no difference. My first answer works alike in both Delphi and ObjPas modes: there is no need to specify a mode, so TP also works as does the default FPC mode.
// add or remove dots.
// all dots means fpc mode.
{.$mode delphi}
{$mode TP}
{.$mode objfpc}
var
v: single = pi;
begin
v := Single(PCardinal(@v)^ xor $80000000); // performs the flip
writeln(v); // different value
end.
BTW the release does not matter, at least since fpc 2.6.x
[IMPORTANT EDIT]
I can reproduce the issue with the above code on trunk. That indicates a bug. Probably even a regression.