Internal error 200408162
Original Reporter info from Mantis: leledumbo_cool@yahoo.co.id @leledumbo
-
Reporter name: Mario Ray Mahardhika
Original Reporter info from Mantis: leledumbo_cool@yahoo.co.id @leledumbo
- Reporter name: Mario Ray Mahardhika
Description:
Compile the following code:
function TailRecFibonacci(const n: Byte): QWord;
function InnerFibo(const n: Byte; const r1,r2: QWord): QWord; inline;
begin
case n of
0: InnerFibo := r1;
1: InnerFibo := r2;
else InnerFibo := InnerFibo(n - 1,r2,r1 + r2);
end;
end;
begin
TailRecFibonacci := InnerFibo(n,0,1);
end;
begin
end.
the error seems to be caused by inlining InnerFibo because when inline directive is removed, the internal error doesn't occur.
Mantis conversion info:
- Mantis ID: 17458
- Build: 15916
- Version: 2.5.1
- Fixed in version: 2.6.0
- Fixed in revision: 16101 (#94d976bc)