mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 20:29:32 +02:00
* fixed int64 regvar bug in location_force_register
This commit is contained in:
parent
2bd47e8ce6
commit
7c9d8d8872
@ -459,22 +459,26 @@ implementation
|
||||
else
|
||||
begin
|
||||
{ 64bit to 64bit }
|
||||
if (l.loc=LOC_REGISTER) or
|
||||
((l.loc=LOC_CREGISTER) and maybeconst) then
|
||||
if ((l.loc=LOC_CREGISTER) and maybeconst) then
|
||||
begin
|
||||
hregister:=l.register64.reglo;
|
||||
hregisterhi:=l.register64.reghi;
|
||||
const_location := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
hregister:=cg.getintregister(list,OS_INT);
|
||||
hregisterhi:=cg.getintregister(list,OS_INT);
|
||||
const_location := false;
|
||||
end;
|
||||
hreg64.reglo:=hregister;
|
||||
hreg64.reghi:=hregisterhi;
|
||||
{ load value in new register }
|
||||
cg64.a_load64_loc_reg(list,l,hreg64);
|
||||
location_reset(l,LOC_REGISTER,dst_size);
|
||||
if not const_location then
|
||||
location_reset(l,LOC_REGISTER,dst_size)
|
||||
else
|
||||
location_reset(l,LOC_CREGISTER,dst_size);
|
||||
l.register64.reglo:=hregister;
|
||||
l.register64.reghi:=hregisterhi;
|
||||
end;
|
||||
@ -2286,7 +2290,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.247 2004-12-05 12:28:11 peter
|
||||
Revision 1.248 2004-12-11 01:03:01 jonas
|
||||
* fixed int64 regvar bug in location_force_register
|
||||
|
||||
Revision 1.247 2004/12/05 12:28:11 peter
|
||||
* procvar handling for tp procvar mode fixed
|
||||
* proc to procvar moved from addrnode to typeconvnode
|
||||
* inlininginfo is now allocated only for inline routines that
|
||||
|
Loading…
Reference in New Issue
Block a user