Internal Error 200306031 on absolute assignment and Level 2 optimisation on
Original Reporter info from Mantis: Nitorami
-
Reporter name:
Original Reporter info from Mantis: Nitorami
- Reporter name:
Description:
This unit compiles without errors:
--------------------
unit FTA_Global;
INTERFACE
type TRandSource = object
Q : array [0..$FF] of dword;
function lfsr113 : dword ;
end;
IMPLEMENTATION
function TRandSource.lfsr113: dword;
var b: dword;
z: array [0..3] of dword absolute Q[0];
begin
end;
begin end.
------------------
However when modifying the function lfsr113 as below, the compiler generates an internal error 200306031 but only if optimisation Level 2 is active
function TRandSource.lfsr113: dword;
var b: dword;
z: array [0..3] of dword absolute Q[0];
begin
z[0] := z[0]+b;
end;
Steps to reproduce:
Compile (text mode IDE)
Mantis conversion info:
- Mantis ID: 29521
- OS: XP
- OS Build: SP3
- Build: 1.0.12
- Platform: PC
- Version: 3.0.0