inline bug, wrong value is calculated (x86 + [U]Int64)
FPC [main]
app.pas:
program app;
{$mode objfpc}
uses SysUtils;
function func(value: UInt64): UInt64; inline;
begin
Result := value;
Result := Result shl 32;
end;
var
Result: UInt64;
begin
Result := func($ABCD);
WriteLn(IntToHex(Result)); // $0000000000000000
ReadLn;
end.
Compilation: fpc.exe -Twin32 -Pi386 app.pas
Output: 0000000000000000