mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-14 09:19:45 +02:00
* fixed location.size for length node and x86_64 mul node
git-svn-id: trunk@9464 -
This commit is contained in:
parent
69c97f3ac6
commit
146b3d8bf3
@ -252,7 +252,7 @@ implementation
|
||||
hregister : tregister;
|
||||
begin
|
||||
if inlinenumber=in_sizeof_x then
|
||||
location_reset(location,LOC_REGISTER,OS_INT)
|
||||
location_reset(location,LOC_REGISTER,def_cgsize(resultdef))
|
||||
else
|
||||
location_reset(location,LOC_REGISTER,OS_ADDR);
|
||||
{ for both cases load vmt }
|
||||
@ -355,7 +355,7 @@ implementation
|
||||
if is_widestring(left.resultdef) then
|
||||
cg.a_op_const_reg(current_asmdata.CurrAsmList,OP_SHR,OS_INT,1,hregister);
|
||||
cg.a_label(current_asmdata.CurrAsmList,lengthlab);
|
||||
location_reset(location,LOC_REGISTER,OS_INT);
|
||||
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
|
||||
location.register:=hregister;
|
||||
end;
|
||||
end;
|
||||
|
@ -38,6 +38,7 @@ interface
|
||||
uses
|
||||
globtype,globals,
|
||||
aasmbase,aasmtai,aasmdata,
|
||||
defutil,
|
||||
cgbase,cgutils,cga,cgobj,
|
||||
tgobj;
|
||||
|
||||
@ -56,7 +57,7 @@ interface
|
||||
pass_left_right;
|
||||
|
||||
{ The location.register will be filled in later (JM) }
|
||||
location_reset(location,LOC_REGISTER,OS_INT);
|
||||
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
|
||||
{ Mul supports registers and references, so if not register/reference,
|
||||
load the location into a register}
|
||||
use_ref:=false;
|
||||
|
Loading…
Reference in New Issue
Block a user