* tp_procvar mode call->loadn fixed

This commit is contained in:
peter 1999-08-12 14:34:28 +00:00
parent 420127efe6
commit 631d19fc85

View File

@ -344,7 +344,7 @@ implementation
oldcallprocsym : pprocsym; oldcallprocsym : pprocsym;
nextprocsym : pprocsym; nextprocsym : pprocsym;
def_from,def_to,conv_to : pdef; def_from,def_to,conv_to : pdef;
pt,inlinecode : ptree; hpt,pt,inlinecode : ptree;
exactmatch,inlined : boolean; exactmatch,inlined : boolean;
paralength,l,lastpara : longint; paralength,l,lastpara : longint;
lastparatype : pdef; lastparatype : pdef;
@ -599,12 +599,15 @@ implementation
if not(assigned(p^.left)) and if not(assigned(p^.left)) and
(m_tp_procvar in aktmodeswitches) then (m_tp_procvar in aktmodeswitches) then
begin begin
p^.treetype:=loadn; if (p^.symtableprocentry^.owner^.symtabletype=objectsymtable) and
p^.resulttype:=pprocsym(p^.symtableprocentry)^.definition; (pobjectdef(p^.symtableprocentry^.owner^.defowner)^.is_class) then
p^.symtableentry:=p^.symtableprocentry; hpt:=genloadmethodcallnode(pprocsym(p^.symtableprocentry),p^.symtableproc,
p^.is_first:=false; getcopy(p^.methodpointer))
p^.disposetyp:=dt_nothing; else
firstpass(p); hpt:=genloadcallnode(pprocsym(p^.symtableprocentry),p^.symtableproc);
disposetree(p);
firstpass(hpt);
p:=hpt;
end end
else else
begin begin
@ -1195,7 +1198,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.57 1999-08-05 16:53:19 peter Revision 1.58 1999-08-12 14:34:28 peter
* tp_procvar mode call->loadn fixed
Revision 1.57 1999/08/05 16:53:19 peter
* V_Fatal=1, all other V_ are also increased * V_Fatal=1, all other V_ are also increased
* Check for local procedure when assigning procvar * Check for local procedure when assigning procvar
* fixed comment parsing because directives * fixed comment parsing because directives