|
@@ -965,7 +965,7 @@ implementation
|
|
a_load_reg_reg(list,size,cgpara.location^.size,r,cgpara.location^.register);
|
|
a_load_reg_reg(list,size,cgpara.location^.size,r,cgpara.location^.register);
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
begin
|
|
begin
|
|
- reference_reset_base(ref,cgpara.location^.reference.index,cgpara.location^.reference.offset,cgpara.location^.reference.temppos,cgpara.alignment,[]);
|
|
|
|
|
|
+ reference_reset_base(ref,cgpara.location^.reference.index,cgpara.location^.reference.offset,ctempposinvalid,cgpara.alignment,[]);
|
|
a_load_reg_ref(list,size,cgpara.location^.size,r,ref);
|
|
a_load_reg_ref(list,size,cgpara.location^.size,r,ref);
|
|
end;
|
|
end;
|
|
LOC_MMREGISTER,LOC_CMMREGISTER:
|
|
LOC_MMREGISTER,LOC_CMMREGISTER:
|
|
@@ -996,7 +996,7 @@ implementation
|
|
a_load_const_reg(list,cgpara.location^.size,a,cgpara.location^.register);
|
|
a_load_const_reg(list,cgpara.location^.size,a,cgpara.location^.register);
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
begin
|
|
begin
|
|
- reference_reset_base(ref,cgpara.location^.reference.index,cgpara.location^.reference.offset,cgpara.location^.reference.temppos,cgpara.alignment,[]);
|
|
|
|
|
|
+ reference_reset_base(ref,cgpara.location^.reference.index,cgpara.location^.reference.offset,ctempposinvalid,cgpara.alignment,[]);
|
|
a_load_const_ref(list,cgpara.location^.size,a,ref);
|
|
a_load_const_ref(list,cgpara.location^.size,a,ref);
|
|
end
|
|
end
|
|
else
|
|
else
|
|
@@ -1125,7 +1125,7 @@ implementation
|
|
begin
|
|
begin
|
|
if assigned(location^.next) then
|
|
if assigned(location^.next) then
|
|
internalerror(2010052906);
|
|
internalerror(2010052906);
|
|
- reference_reset_base(ref,location^.reference.index,location^.reference.offset,location^.reference.temppos,newalignment(cgpara.alignment,cgpara.intsize-sizeleft),[]);
|
|
|
|
|
|
+ reference_reset_base(ref,location^.reference.index,location^.reference.offset,ctempposinvalid,newalignment(cgpara.alignment,cgpara.intsize-sizeleft),[]);
|
|
if (size <> OS_NO) and
|
|
if (size <> OS_NO) and
|
|
(tcgsize2size[size] <= sizeof(aint)) then
|
|
(tcgsize2size[size] <= sizeof(aint)) then
|
|
a_load_ref_ref(list,size,location^.size,tmpref,ref)
|
|
a_load_ref_ref(list,size,location^.size,tmpref,ref)
|
|
@@ -1341,7 +1341,7 @@ implementation
|
|
a_loadfpu_reg_ref(list,paraloc.size,paraloc.size,paraloc.register,ref);
|
|
a_loadfpu_reg_ref(list,paraloc.size,paraloc.size,paraloc.register,ref);
|
|
LOC_REFERENCE :
|
|
LOC_REFERENCE :
|
|
begin
|
|
begin
|
|
- reference_reset_base(href,paraloc.reference.index,paraloc.reference.offset,paraloc.reference.temppos,align,[]);
|
|
|
|
|
|
+ reference_reset_base(href,paraloc.reference.index,paraloc.reference.offset,ctempposinvalid,align,[]);
|
|
{ use concatcopy, because it can also be a float which fails when
|
|
{ use concatcopy, because it can also be a float which fails when
|
|
load_ref_ref is used. Don't copy data when the references are equal }
|
|
load_ref_ref is used. Don't copy data when the references are equal }
|
|
if not((href.base=ref.base) and (href.offset=ref.offset)) then
|
|
if not((href.base=ref.base) and (href.offset=ref.offset)) then
|
|
@@ -1409,7 +1409,7 @@ implementation
|
|
end;
|
|
end;
|
|
LOC_REFERENCE :
|
|
LOC_REFERENCE :
|
|
begin
|
|
begin
|
|
- reference_reset_base(href,paraloc.reference.index,paraloc.reference.offset,paraloc.reference.temppos,align,[]);
|
|
|
|
|
|
+ reference_reset_base(href,paraloc.reference.index,paraloc.reference.offset,ctempposinvalid,align,[]);
|
|
case getregtype(reg) of
|
|
case getregtype(reg) of
|
|
R_ADDRESSREGISTER,
|
|
R_ADDRESSREGISTER,
|
|
R_INTREGISTER :
|
|
R_INTREGISTER :
|
|
@@ -1838,7 +1838,7 @@ implementation
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
begin
|
|
begin
|
|
cgpara.check_simple_location;
|
|
cgpara.check_simple_location;
|
|
- reference_reset_base(ref,cgpara.location^.reference.index,cgpara.location^.reference.offset,cgpara.location^.reference.temppos,cgpara.alignment,[]);
|
|
|
|
|
|
+ reference_reset_base(ref,cgpara.location^.reference.index,cgpara.location^.reference.offset,ctempposinvalid,cgpara.alignment,[]);
|
|
a_loadfpu_reg_ref(list,size,size,r,ref);
|
|
a_loadfpu_reg_ref(list,size,size,r,ref);
|
|
end;
|
|
end;
|
|
LOC_REGISTER,LOC_CREGISTER:
|
|
LOC_REGISTER,LOC_CREGISTER:
|
|
@@ -1879,7 +1879,7 @@ implementation
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
begin
|
|
begin
|
|
cgpara.check_simple_location;
|
|
cgpara.check_simple_location;
|
|
- reference_reset_base(href,cgpara.location^.reference.index,cgpara.location^.reference.offset,cgpara.location^.reference.temppos,cgpara.alignment,[]);
|
|
|
|
|
|
+ reference_reset_base(href,cgpara.location^.reference.index,cgpara.location^.reference.offset,ctempposinvalid,cgpara.alignment,[]);
|
|
{ concatcopy should choose the best way to copy the data }
|
|
{ concatcopy should choose the best way to copy the data }
|
|
g_concatcopy(list,ref,href,tcgsize2size[size]);
|
|
g_concatcopy(list,ref,href,tcgsize2size[size]);
|
|
end;
|
|
end;
|
|
@@ -2293,7 +2293,7 @@ implementation
|
|
a_loadmm_reg_reg(list,size,cgpara.location^.size,reg,cgpara.location^.register,shuffle);
|
|
a_loadmm_reg_reg(list,size,cgpara.location^.size,reg,cgpara.location^.register,shuffle);
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
LOC_REFERENCE,LOC_CREFERENCE:
|
|
begin
|
|
begin
|
|
- reference_reset_base(href,cgpara.location^.reference.index,cgpara.location^.reference.offset,cgpara.location^.reference.temppos,cgpara.alignment,[]);
|
|
|
|
|
|
+ reference_reset_base(href,cgpara.location^.reference.index,cgpara.location^.reference.offset,ctempposinvalid,cgpara.alignment,[]);
|
|
a_loadmm_reg_ref(list,size,cgpara.location^.size,reg,href,shuffle);
|
|
a_loadmm_reg_ref(list,size,cgpara.location^.size,reg,href,shuffle);
|
|
end;
|
|
end;
|
|
LOC_REGISTER,LOC_CREGISTER:
|
|
LOC_REGISTER,LOC_CREGISTER:
|
|
@@ -2334,7 +2334,7 @@ implementation
|
|
begin
|
|
begin
|
|
if not(cgpara.location^.next^.size in [OS_32,OS_S32]) then
|
|
if not(cgpara.location^.next^.size in [OS_32,OS_S32]) then
|
|
internalerror(2009112911);
|
|
internalerror(2009112911);
|
|
- reference_reset_base(href,cgpara.location^.next^.reference.index,cgpara.location^.next^.reference.offset,cgpara.location^.next^.reference.temppos,cgpara.alignment,[]);
|
|
|
|
|
|
+ reference_reset_base(href,cgpara.location^.next^.reference.index,cgpara.location^.next^.reference.offset,ctempposinvalid,cgpara.alignment,[]);
|
|
a_load_reg_ref(list,OS_32,cgpara.location^.next^.size,tmpreg,href);
|
|
a_load_reg_ref(list,OS_32,cgpara.location^.next^.size,tmpreg,href);
|
|
end;
|
|
end;
|
|
end
|
|
end
|
|
@@ -2693,7 +2693,7 @@ implementation
|
|
begin
|
|
begin
|
|
{ offset in the wrapper needs to be adjusted for the stored
|
|
{ offset in the wrapper needs to be adjusted for the stored
|
|
return address }
|
|
return address }
|
|
- reference_reset_base(href,reference.index,reference.offset+sizeof(pint),reference.temppos,sizeof(pint),[]);
|
|
|
|
|
|
+ reference_reset_base(href,reference.index,reference.offset+sizeof(pint),ctempposinvalid,sizeof(pint),[]);
|
|
a_op_const_ref(list,OP_SUB,size,ioffset,href);
|
|
a_op_const_ref(list,OP_SUB,size,ioffset,href);
|
|
end
|
|
end
|
|
else
|
|
else
|