Fatal: Procedure too complex, it requires too many registers message on sensible code
Original Reporter info from Mantis: mftq75
-
Reporter name: C Western
Original Reporter info from Mantis: mftq75
- Reporter name: C Western
Description:
fpc -Pi386 -MObjFPC -O2 -Cg c.pas
Free Pascal Compiler version 2.7.1 [2014/11/19] for i386
Copyright (c) 1993-2014 by Florian Klaempfl and others
Target OS: Linux for i386
Compiling c.pas
c.pas(6,5) Fatal: Procedure too complex, it requires too many registers
Fatal: Compilation aborted
The code compiles fine on 64 bits, so it looks like an issue specific to 32 bits
Code below
Steps to reproduce:
uses Math;
function Within(const v, Mi, Mx: Integer): Boolean;
begin
if Mi < Mx then
Result := InRange(v,Mi,Mx)
else
Result := InRange(v,Mx,Mi)
end;
begin
WriteLn(Within(1,2,4));
end.
Mantis conversion info:
- Mantis ID: 27059
- OS: linux
- Platform: i386
- Version: 2.7.1
- Fixed in revision: 46910 (#a88a0f61)
- Monitored by: » Vincent (Vincent Snijders)