* 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, systems,
verbose,globals, verbose,globals,
symconst,paramgr,defutil,defcmp, symconst,paramgr,defutil,defcmp,
htypechk,pass_1,cpubase, htypechk,pass_1,
ncnv,nld,ninl,nadd,ncon,nmem, ncnv,nld,ninl,nadd,ncon,nmem,
nutils,
rgobj, rgobj,
cgbase,procinfo cgbase,procinfo
; ;
@ -2308,18 +2307,19 @@ type
CGMessage(cg_e_unable_inline_object_methods); CGMessage(cg_e_unable_inline_object_methods);
if assigned(right) then if assigned(right) then
CGMessage(cg_e_unable_inline_procvar); CGMessage(cg_e_unable_inline_procvar);
if assigned(inlinecode) then if not 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
begin begin
{ consider it has not inlined if called if assigned(tprocdef(procdefinition).code) then
again inside the args } inlinecode:=tprocdef(procdefinition).code.getcopy
procdefinition.proccalloption:=pocall_default; else
firstpass(inlinecode); 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;
end end
else else
@ -2544,7 +2544,10 @@ begin
end. end.
{ {
$Log$ $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 * protected visibility fixes
Revision 1.185 2003/10/01 20:34:48 peter Revision 1.185 2003/10/01 20:34:48 peter