mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 02:59:13 +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'));
|
hsym:=tparavarsym(currpi.procdef.parast.search('parentfp'));
|
||||||
if not assigned(hsym) then
|
if not assigned(hsym) then
|
||||||
internalerror(200309282);
|
internalerror(200309282);
|
||||||
{
|
|
||||||
if hsym.localloc.loc<>LOC_REFERENCE then
|
if hsym.localloc.loc<>LOC_REFERENCE then
|
||||||
internalerror(200309283);
|
internalerror(200309283);
|
||||||
|
|
||||||
reference_reset_base(href,location.register,hsym.localloc.reference.offset);
|
reference_reset_base(href,location.register,hsym.localloc.reference.offset);
|
||||||
}
|
cg.a_load_ref_reg(exprasmlist,OS_ADDR,OS_ADDR,href,location.register);
|
||||||
cg.a_load_loc_reg(exprasmlist,OS_ADDR,hsym.localloc,location.register);
|
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -864,7 +863,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* hidden parameters can be put now in registers as well
|
||||||
|
|
||||||
Revision 1.104 2005/02/14 17:13:06 peter
|
Revision 1.104 2005/02/14 17:13:06 peter
|
||||||
|
@ -230,9 +230,31 @@ implementation
|
|||||||
|
|
||||||
|
|
||||||
function tloadparentfpnode.det_resulttype:tnode;
|
function tloadparentfpnode.det_resulttype:tnode;
|
||||||
|
var
|
||||||
|
currpi : tprocinfo;
|
||||||
|
hsym : tparavarsym;
|
||||||
begin
|
begin
|
||||||
result:=nil;
|
result:=nil;
|
||||||
resulttype:=voidpointertype;
|
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;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -933,7 +955,10 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* add hint when passing an uninitialized variable to a var parameter
|
||||||
|
|
||||||
Revision 1.94 2005/02/14 17:13:06 peter
|
Revision 1.94 2005/02/14 17:13:06 peter
|
||||||
|
@ -2078,13 +2078,16 @@ const
|
|||||||
{ insert funcret parameter if required }
|
{ insert funcret parameter if required }
|
||||||
insert_funcret_para(pd);
|
insert_funcret_para(pd);
|
||||||
|
|
||||||
{ insert parentfp parameter if required }
|
|
||||||
insert_parentfp_para(pd);
|
|
||||||
|
|
||||||
{ Make var parameters regable, this must be done after the calling
|
{ Make var parameters regable, this must be done after the calling
|
||||||
convention is set. }
|
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);
|
pd.parast.foreach_static(@set_addr_param_regable,pd);
|
||||||
|
|
||||||
|
{ insert parentfp parameter if required }
|
||||||
|
insert_parentfp_para(pd);
|
||||||
|
|
||||||
{ Calculate parameter tlist }
|
{ Calculate parameter tlist }
|
||||||
pd.calcparas;
|
pd.calcparas;
|
||||||
end;
|
end;
|
||||||
@ -2458,7 +2461,10 @@ const
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* hidden parameters can be put now in registers as well
|
||||||
|
|
||||||
Revision 1.231 2005/03/27 14:10:52 jonas
|
Revision 1.231 2005/03/27 14:10:52 jonas
|
||||||
|
Loading…
Reference in New Issue
Block a user