mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 12:49:33 +02:00
* fixed previous commit
This commit is contained in:
parent
1f4e15705c
commit
e33bf907d8
@ -190,13 +190,12 @@ implementation
|
||||
hsym:=tparavarsym(currpi.procdef.parast.search('parentfp'));
|
||||
if not assigned(hsym) then
|
||||
internalerror(200309282);
|
||||
{
|
||||
|
||||
if hsym.localloc.loc<>LOC_REFERENCE then
|
||||
internalerror(200309283);
|
||||
|
||||
reference_reset_base(href,location.register,hsym.localloc.reference.offset);
|
||||
}
|
||||
cg.a_load_loc_reg(exprasmlist,OS_ADDR,hsym.localloc,location.register);
|
||||
cg.a_load_ref_reg(exprasmlist,OS_ADDR,OS_ADDR,href,location.register);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -864,7 +863,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.105 2005-04-06 19:09:39 florian
|
||||
Revision 1.106 2005-04-06 19:39:04 florian
|
||||
* fixed previous commit
|
||||
|
||||
Revision 1.105 2005/04/06 19:09:39 florian
|
||||
* hidden parameters can be put now in registers as well
|
||||
|
||||
Revision 1.104 2005/02/14 17:13:06 peter
|
||||
|
@ -230,9 +230,31 @@ implementation
|
||||
|
||||
|
||||
function tloadparentfpnode.det_resulttype:tnode;
|
||||
var
|
||||
currpi : tprocinfo;
|
||||
hsym : tparavarsym;
|
||||
begin
|
||||
result:=nil;
|
||||
resulttype:=voidpointertype;
|
||||
{
|
||||
currently parentfps are never loaded in registers (FK)
|
||||
|
||||
if (current_procinfo.procdef.parast.symtablelevel<>parentpd.parast.symtablelevel) then
|
||||
begin
|
||||
currpi:=current_procinfo;
|
||||
{ walk parents }
|
||||
while (currpi.procdef.owner.symtablelevel>parentpd.parast.symtablelevel) do
|
||||
begin
|
||||
currpi:=currpi.parent;
|
||||
if not assigned(currpi) then
|
||||
internalerror(2005040602);
|
||||
hsym:=tparavarsym(currpi.procdef.parast.search('parentfp'));
|
||||
if not assigned(hsym) then
|
||||
internalerror(2005040601);
|
||||
hsym.varregable:=vr_none;
|
||||
end;
|
||||
end;
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
@ -933,7 +955,10 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.95 2005-03-25 22:20:19 peter
|
||||
Revision 1.96 2005-04-06 19:39:04 florian
|
||||
* fixed previous commit
|
||||
|
||||
Revision 1.95 2005/03/25 22:20:19 peter
|
||||
* add hint when passing an uninitialized variable to a var parameter
|
||||
|
||||
Revision 1.94 2005/02/14 17:13:06 peter
|
||||
|
@ -2078,13 +2078,16 @@ const
|
||||
{ insert funcret parameter if required }
|
||||
insert_funcret_para(pd);
|
||||
|
||||
{ insert parentfp parameter if required }
|
||||
insert_parentfp_para(pd);
|
||||
|
||||
{ Make var parameters regable, this must be done after the calling
|
||||
convention is set. }
|
||||
{ this must be done before parentfp is insert, because getting all cases
|
||||
where parentfp must be in a memory location isn't catched properly so
|
||||
we put parentfp never in a register }
|
||||
pd.parast.foreach_static(@set_addr_param_regable,pd);
|
||||
|
||||
{ insert parentfp parameter if required }
|
||||
insert_parentfp_para(pd);
|
||||
|
||||
{ Calculate parameter tlist }
|
||||
pd.calcparas;
|
||||
end;
|
||||
@ -2458,7 +2461,10 @@ const
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.232 2005-04-06 19:09:39 florian
|
||||
Revision 1.233 2005-04-06 19:39:04 florian
|
||||
* fixed previous commit
|
||||
|
||||
Revision 1.232 2005/04/06 19:09:39 florian
|
||||
* hidden parameters can be put now in registers as well
|
||||
|
||||
Revision 1.231 2005/03/27 14:10:52 jonas
|
||||
|
Loading…
Reference in New Issue
Block a user