mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-28 20:40:37 +02:00
* fixed maybe_save that did not support a reference with only
a index register. It now also updates the location with the new base register only
This commit is contained in:
parent
274624f2f6
commit
5a06f334b7
@ -595,7 +595,18 @@ implementation
|
||||
(l.reference.index<>R_NO)) then
|
||||
begin
|
||||
{ load address into a single base register }
|
||||
cg.a_loadaddr_ref_reg(list,l.reference,l.reference.base);
|
||||
if l.reference.base=R_NO then
|
||||
begin
|
||||
cg.a_loadaddr_ref_reg(list,l.reference,l.reference.index);
|
||||
rg.ungetregister(list,l.reference.base);
|
||||
reference_reset_base(l.reference,l.reference.index,0);
|
||||
end
|
||||
else
|
||||
begin
|
||||
cg.a_loadaddr_ref_reg(list,l.reference,l.reference.base);
|
||||
rg.ungetregister(list,l.reference.index);
|
||||
reference_reset_base(l.reference,l.reference.base,0);
|
||||
end;
|
||||
{ save base register }
|
||||
tg.GetTemp(exprasmlist,TCGSize2Size[OS_ADDR],tt_normal,s.ref);
|
||||
cg.a_load_reg_ref(exprasmlist,OS_ADDR,l.reference.base,s.ref);
|
||||
@ -1775,7 +1786,12 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.44 2002-09-01 14:42:41 peter
|
||||
Revision 1.45 2002-09-01 18:50:20 peter
|
||||
* fixed maybe_save that did not support a reference with only
|
||||
a index register. It now also updates the location with the new
|
||||
base register only
|
||||
|
||||
Revision 1.44 2002/09/01 14:42:41 peter
|
||||
* removevaluepara added to fix the stackpointer so restoring of
|
||||
saved registers works
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user