Recursive (?) compiler notes: Call to subroutine "somefunction" marked as inline is not inlined
Consider the following program:
function foo(n: integer): integer; inline;
begin
foo := foo(n);
end;
begin
end.
Whilst this is obviously a programming mistake, the compiler emits no less than 1024 times the following note:
test.pas(3,10) Note: Call to subroutine "function foo(n:SmallInt):SmallInt;" marked as inline is not inlined
1024 notes seems a bit much for a 6 line program...
Change line 3 so that the program now reads:
function foo(n: integer): integer; inline;
begin
foo := foo(n-1); //<<== changed the parameter
end;
begin
end.
And now the compiler only emits this note only once.