* fix IE when callnode was firstpassed twice

This commit is contained in:
peter 2003-10-03 14:44:38 +00:00
parent 052f635a45
commit 9f2ec4dabd

View File

@ -184,9 +184,8 @@ implementation
systems,
verbose,globals,
symconst,paramgr,defutil,defcmp,
htypechk,pass_1,cpubase,
htypechk,pass_1,
ncnv,nld,ninl,nadd,ncon,nmem,
nutils,
rgobj,
cgbase,procinfo
;
@ -2308,18 +2307,19 @@ type
CGMessage(cg_e_unable_inline_object_methods);
if assigned(right) then
CGMessage(cg_e_unable_inline_procvar);
if assigned(inlinecode) then
internalerror(200305261);
if assigned(tprocdef(procdefinition).code) then
inlinecode:=tprocdef(procdefinition).code.getcopy
else
CGMessage(cg_e_no_code_for_inline_stored);
if assigned(inlinecode) then
if not assigned(inlinecode) then
begin
{ consider it has not inlined if called
again inside the args }
procdefinition.proccalloption:=pocall_default;
firstpass(inlinecode);
if assigned(tprocdef(procdefinition).code) then
inlinecode:=tprocdef(procdefinition).code.getcopy
else
CGMessage(cg_e_no_code_for_inline_stored);
if assigned(inlinecode) then
begin
{ consider it has not inlined if called
again inside the args }
procdefinition.proccalloption:=pocall_default;
firstpass(inlinecode);
end;
end;
end
else
@ -2544,7 +2544,10 @@ begin
end.
{
$Log$
Revision 1.186 2003-10-02 21:13:46 peter
Revision 1.187 2003-10-03 14:44:38 peter
* fix IE when callnode was firstpassed twice
Revision 1.186 2003/10/02 21:13:46 peter
* protected visibility fixes
Revision 1.185 2003/10/01 20:34:48 peter