WideString assignment problems under Win64
Original Reporter info from Mantis: lks
-
Reporter name:
Original Reporter info from Mantis: lks
- Reporter name:
Description:
The program below fails to assign 'inner' to the WideString x on win64 (and instead assigns ''):
program Project1;
{$mode objfpc}{$H+}
uses
Classes;
procedure outer;
procedure inner(var ax: WideString);
begin
ax := 'inner';
end;
var
x: WideString;
begin
x := 'outer';
inner(x);
Assert(x <> 'inner');
end;
begin
outer;
end.
Steps to reproduce:
Compile with assertions enabled (-Sa)
Additional information:
This broke starting in revision 30351 (with the reintroduction of the llvm branch).
Mantis conversion info:
- Mantis ID: 27806
- OS: Windows
- OS Build: 8.1
- Build: 30492
- Platform: x86_64-win64
- Version: 3.1.1
- Fixed in version: 3.1.1
- Fixed in revision: 30501 (#a8db5e3d)