mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 17:49:13 +02:00
* also perform initialised checking for out-parameter, and set the
initialised state of value/const/var parameters to initialised git-svn-id: trunk@2487 -
This commit is contained in:
parent
0e2a5dde24
commit
7edc9d0e6a
@ -804,8 +804,7 @@ implementation
|
|||||||
not(vo_is_external in hsym.varoptions) and
|
not(vo_is_external in hsym.varoptions) and
|
||||||
(hsym.owner.symtabletype in [parasymtable,localsymtable,staticsymtable]) and
|
(hsym.owner.symtabletype in [parasymtable,localsymtable,staticsymtable]) and
|
||||||
((hsym.owner=current_procinfo.procdef.localst) or
|
((hsym.owner=current_procinfo.procdef.localst) or
|
||||||
((hsym.owner=current_procinfo.procdef.parast) and
|
(hsym.owner=current_procinfo.procdef.parast)) then
|
||||||
(vo_is_funcret in hsym.varoptions))) then
|
|
||||||
begin
|
begin
|
||||||
if (vo_is_funcret in hsym.varoptions) then
|
if (vo_is_funcret in hsym.varoptions) then
|
||||||
begin
|
begin
|
||||||
|
@ -1545,6 +1545,8 @@ implementation
|
|||||||
constructor tparavarsym.create(const n : string;nr:word;vsp:tvarspez;const tt : ttype;vopts:tvaroptions);
|
constructor tparavarsym.create(const n : string;nr:word;vsp:tvarspez;const tt : ttype;vopts:tvaroptions);
|
||||||
begin
|
begin
|
||||||
inherited create(paravarsym,n,vsp,tt,vopts);
|
inherited create(paravarsym,n,vsp,tt,vopts);
|
||||||
|
if (vsp in [vs_var,vs_value,vs_const]) then
|
||||||
|
varstate := vs_initialised;
|
||||||
paranr:=nr;
|
paranr:=nr;
|
||||||
paraloc[calleeside].init;
|
paraloc[calleeside].init;
|
||||||
paraloc[callerside].init;
|
paraloc[callerside].init;
|
||||||
|
Loading…
Reference in New Issue
Block a user