mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 04:39:22 +02:00
* use a_call_reg
* ungetiftemp for procvar of object temp
This commit is contained in:
parent
f68c3a9552
commit
a06f84daf8
@ -1043,20 +1043,14 @@ implementation
|
|||||||
if hregister<>R_NO then
|
if hregister<>R_NO then
|
||||||
cg.free_scratch_reg(exprasmlist,hregister);
|
cg.free_scratch_reg(exprasmlist,hregister);
|
||||||
reference_release(exprasmlist,right.location.reference);
|
reference_release(exprasmlist,right.location.reference);
|
||||||
|
tg.Ungetiftemp(exprasmlist,right.location.reference);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
rg.saveregvars(exprasmlist,ALL_REGISTERS);
|
rg.saveregvars(exprasmlist,ALL_REGISTERS);
|
||||||
case right.location.loc of
|
cg.a_call_loc(exprasmlist,right.location);
|
||||||
LOC_REGISTER,LOC_CREGISTER:
|
|
||||||
reference_reset_base(href,right.location.register,0);
|
|
||||||
LOC_REFERENCE,LOC_CREFERENCE :
|
|
||||||
href:=right.location.reference;
|
|
||||||
else
|
|
||||||
internalerror(200203311);
|
|
||||||
end;
|
|
||||||
cg.a_call_ref(exprasmlist,href);
|
|
||||||
location_release(exprasmlist,right.location);
|
location_release(exprasmlist,right.location);
|
||||||
|
location_freetemp(exprasmlist,right.location);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -1314,7 +1308,11 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.67 2002-08-25 19:25:21 peter
|
Revision 1.68 2002-09-01 12:13:00 peter
|
||||||
|
* use a_call_reg
|
||||||
|
* ungetiftemp for procvar of object temp
|
||||||
|
|
||||||
|
Revision 1.67 2002/08/25 19:25:21 peter
|
||||||
* sym.insert_in_data removed
|
* sym.insert_in_data removed
|
||||||
* symtable.insertvardata/insertconstdata added
|
* symtable.insertvardata/insertconstdata added
|
||||||
* removed insert_in_data call from symtable.insert, it needs to be
|
* removed insert_in_data call from symtable.insert, it needs to be
|
||||||
|
@ -1022,20 +1022,14 @@ implementation
|
|||||||
if hregister<>R_NO then
|
if hregister<>R_NO then
|
||||||
cg.free_scratch_reg(exprasmlist,hregister);
|
cg.free_scratch_reg(exprasmlist,hregister);
|
||||||
reference_release(exprasmlist,right.location.reference);
|
reference_release(exprasmlist,right.location.reference);
|
||||||
|
tg.Ungetiftemp(exprasmlist,right.location.reference);
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
rg.saveregvars(exprasmlist,ALL_REGISTERS);
|
rg.saveregvars(exprasmlist,ALL_REGISTERS);
|
||||||
case right.location.loc of
|
cg.a_call_loc(exprasmlist,right.location);
|
||||||
LOC_REGISTER,LOC_CREGISTER:
|
|
||||||
reference_reset_base(href,right.location.register,0);
|
|
||||||
LOC_REFERENCE,LOC_CREFERENCE :
|
|
||||||
href:=right.location.reference;
|
|
||||||
else
|
|
||||||
internalerror(200203311);
|
|
||||||
end;
|
|
||||||
cg.a_call_ref(exprasmlist,href);
|
|
||||||
location_release(exprasmlist,right.location);
|
location_release(exprasmlist,right.location);
|
||||||
|
location_freetemp(exprasmlist,right.location);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$endif dummy}
|
{$endif dummy}
|
||||||
@ -1475,7 +1469,11 @@ begin
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.16 2002-08-25 19:25:18 peter
|
Revision 1.17 2002-09-01 12:13:00 peter
|
||||||
|
* use a_call_reg
|
||||||
|
* ungetiftemp for procvar of object temp
|
||||||
|
|
||||||
|
Revision 1.16 2002/08/25 19:25:18 peter
|
||||||
* sym.insert_in_data removed
|
* sym.insert_in_data removed
|
||||||
* symtable.insertvardata/insertconstdata added
|
* symtable.insertvardata/insertconstdata added
|
||||||
* removed insert_in_data call from symtable.insert, it needs to be
|
* removed insert_in_data call from symtable.insert, it needs to be
|
||||||
|
Loading…
Reference in New Issue
Block a user