In the code below / with fpc 3.2
function TDwarfInformationEntry.ReadName(out AName: PChar): Boolean;
var
AttrData: TDwarfAttribData;
begin
PrepareAbbrev;
if dafHasName in FAbbrev^.flags then begin
Result := GetAttribData(DW_AT_name, AttrData);
assert(Result and (AttrData.InformationEntry = Self),
'TDwarfInformationEntry.ReadName');
Result := ReadValue(AttrData, AName);
end
else
if (dafHasAbstractOrigin in FAbbrev^.flags) and PrepareAbstractOrigin
then
Result := FAbstractOrigin.ReadName(AName) //
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
else
Result := False;
end;components\fpdebug\fpdbgdwarfdataclasses.pas
line 2875
The indicate line says "fpdbgdwarfdataclasses.pas(2870,30) Warning: Function result variable does not seem to be initialized" And I get the warning 5 times.
I also get one (just one) such warning on:
- the "begin" line of the function
- the "PrepareAbbrev" line (which is a call to a procedure)
This appears to be, due to the function being marked "inline". If I remove the "inline" then the warning goes.
---
Unrelated:
I also get the obvious
fpdbgdwarfdataclasses.pas(2887,30) Note: Call to subroutine "function TDwarfInformationEntry.ReadName(out AName:PChar):Boolean;" marked as inline is not inlined
Of course a call to the function itself is not inlined..... (Well yes, it could be a few times, like loop unroll / but does that warrant a warning?)
