+ warn for uninitialized out parameters when dfa is enabled

git-svn-id: trunk@25977 -
This commit is contained in:
florian 2013-11-06 21:11:03 +00:00
parent 722c59bcb1
commit cca520abd9

View File

@ -1278,14 +1278,23 @@ implementation
{ Give warning/note for living locals }
if assigned(varsym.owner) and
((varsym.owner=procdef.localst) or
((varsym.owner=procdef.parast) and
(varsym.typ=paravarsym) and
(tparavarsym(varsym).varspez=vs_out)
)
) and
not(vo_is_external in varsym.varoptions) then
begin
if (vo_is_funcret in varsym.varoptions) then
CGMessage(sym_w_function_result_uninitialized)
else
begin
if (varsym.owner=procdef.localst) and not (vo_is_typed_const in varsym.varoptions) then
CGMessage1(sym_w_uninitialized_local_variable,varsym.realname);
if not (vo_is_typed_const in varsym.varoptions) then
if varsym.typ=paravarsym then
CGMessage1(sym_w_uninitialized_variable,varsym.realname)
else
CGMessage1(sym_w_uninitialized_local_variable,varsym.realname);
end;
end;
end;