* tvarsym.paraitem is set now

This commit is contained in:
florian 2002-09-07 19:40:39 +00:00
parent bf32e2d2cf
commit 757e3976fe

View File

@ -70,7 +70,7 @@ unit paramgr;
Returns the location where the invisible parameter for structured
function results will be passed.
}
function getfuncretparaloc(p : tabstractprocdef) : tparalocation;virtual;abstract;
function getfuncretparaloc(p : tabstractprocdef) : tparalocation;virtual;
{ Returns the self pointer location for the given tabstractprocdef,
when the stack frame is already created. This is used by the code
generating the wrappers for implemented interfaces.
@ -173,6 +173,16 @@ unit paramgr;
end;
function tparamanager.getfuncretparaloc(p : tabstractprocdef) : tparalocation;
begin
result.loc:=LOC_REFERENCE;
result.size:=OS_ADDR;
result.sp_fixup:=pointer_size;
result.reference.index:=stack_pointer_reg;
result.reference.offset:=0;
end;
function tparamanager.getfuncresultloc(def : tdef): tparalocation;
begin
fillchar(result,sizeof(tparalocation),0);
@ -292,8 +302,7 @@ unit paramgr;
hp.paraloc.loc := LOC_CMMREGISTER;
{$endif}
end;
tvarsym(hp.parasym).reg:=hp.paraloc.register;
rg.regvar_loaded[hp.paraloc.register]:=true;
tvarsym(hp.parasym).paraitem:=hp;
end;
hp:=tparaitem(hp.next);
end;
@ -305,7 +314,10 @@ end.
{
$Log$
Revision 1.16 2002-09-01 21:04:48 florian
Revision 1.17 2002-09-07 19:40:39 florian
* tvarsym.paraitem is set now
Revision 1.16 2002/09/01 21:04:48 florian
* several powerpc related stuff fixed
Revision 1.15 2002/08/25 19:25:19 peter
@ -373,3 +385,4 @@ end.
Revision 1.1 2002/07/11 14:41:28 florian
* start of the new generic parameter handling
}