* fixed sparc compilation after addr_lo/hi changes

git-svn-id: trunk@8107 -
This commit is contained in:
Jonas Maebe 2007-07-20 12:30:16 +00:00
parent 4c5d8a9c79
commit 20dbda751a
6 changed files with 20 additions and 20 deletions

View File

@ -65,7 +65,7 @@ interface
addr_no,
addr_full,
addr_pic
{$IF defined(POWERPC) or defined(POWERPC64)}
{$IF defined(POWERPC) or defined(POWERPC64) or defined(SPARC)}
,
addr_low, // bits 48-63
addr_high, // bits 32-47

View File

@ -185,7 +185,7 @@ implementation
begin
inherited create(op);
{ only allowed to load the address }
if not(_op2.refaddr in [addr_lo,addr_hi]) then
if not(_op2.refaddr in [addr_low,addr_high]) then
internalerror(200305311);
ops:=3;
loadreg(0,_op1);

View File

@ -187,17 +187,17 @@ implementation
reference_reset(tmpref);
tmpref.symbol:=ref.symbol;
tmpref.offset:=ref.offset;
tmpref.refaddr:=addr_hi;
tmpref.refaddr:=addr_high;
list.concat(taicpu.op_ref_reg(A_SETHI,tmpref,tmpreg));
if (ref.offset=0) and (ref.index=NR_NO) and
(ref.base=NR_NO) then
begin
ref.refaddr:=addr_lo;
ref.refaddr:=addr_low;
end
else
begin
{ Load the low part is left }
tmpref.refaddr:=addr_lo;
tmpref.refaddr:=addr_low;
list.concat(taicpu.op_reg_ref_reg(A_OR,tmpreg,tmpref,tmpreg));
ref.offset:=0;
{ symbol is loaded }
@ -636,10 +636,10 @@ implementation
reference_reset(tmpref);
tmpref.symbol := href.symbol;
tmpref.offset := href.offset;
tmpref.refaddr := addr_hi;
tmpref.refaddr := addr_high;
list.concat(taicpu.op_ref_reg(A_SETHI,tmpref,hreg));
{ Only the low part is left }
tmpref.refaddr:=addr_lo;
tmpref.refaddr:=addr_low;
list.concat(taicpu.op_reg_ref_reg(A_OR,hreg,tmpref,hreg));
if href.base<>NR_NO then
begin

View File

@ -70,9 +70,9 @@ implementation
else if offset<0 then
GetReferenceString:=GetReferenceString+ToStr(offset);
case refaddr of
addr_hi:
addr_high:
GetReferenceString:='%hi('+GetReferenceString+')';
addr_lo:
addr_low:
GetReferenceString:='%lo('+GetReferenceString+')';
end;
end
@ -80,7 +80,7 @@ implementation
begin
{$ifdef extdebug}
if assigned(symbol) and
not(refaddr in [addr_pic,addr_lo]) then
not(refaddr in [addr_pic,addr_low]) then
internalerror(2003052601);
{$endif extdebug}
if base<>NR_NO then
@ -99,7 +99,7 @@ implementation
}
if assigned(symbol) then
begin
if refaddr=addr_lo then
if refaddr=addr_low then
GetReferenceString:='%lo('+symbol.name+')+'+GetReferenceString
else
GetReferenceString:=symbol.name+'+'+GetReferenceString;
@ -127,7 +127,7 @@ implementation
top_const:
getopstr:=tostr(longint(val));
top_ref:
if (oper.ref^.refaddr in [addr_no,addr_pic]) or ((oper.ref^.refaddr=addr_lo) and ((oper.ref^.base<>NR_NO) or
if (oper.ref^.refaddr in [addr_no,addr_pic]) or ((oper.ref^.refaddr=addr_low) and ((oper.ref^.base<>NR_NO) or
(oper.ref^.index<>NR_NO))) then
getopstr:='['+getreferencestring(ref^)+']'
else

View File

@ -105,9 +105,9 @@ Interface
if actasmtoken=AS_ID then
begin
if upper(actasmpattern)='LO' then
oper.opr.ref.refaddr:=addr_lo
oper.opr.ref.refaddr:=addr_low
else if upper(actasmpattern)='HI' then
oper.opr.ref.refaddr:=addr_hi
oper.opr.ref.refaddr:=addr_high
else
Message(asmr_e_invalid_reference_syntax);
Consume(AS_ID);
@ -352,9 +352,9 @@ Interface
memory location) }
oper.InitRef;
if actasmtoken=AS_LO then
oper.opr.ref.refaddr:=addr_lo
oper.opr.ref.refaddr:=addr_low
else
oper.opr.ref.refaddr:=addr_hi;
oper.opr.ref.refaddr:=addr_high;
Consume(actasmtoken);
Consume(AS_LPAREN);
BuildConstSymbolExpression(false, true,false,l,tempstr,tempsymtyp);

View File

@ -104,10 +104,10 @@ implementation
reference_reset(tmpref);
tmpref.offset:=spilltemp.offset;
tmpref.refaddr:=addr_hi;
tmpref.refaddr:=addr_high;
helplist.concat(taicpu.op_ref_reg(A_SETHI,tmpref,hreg));
tmpref.refaddr:=addr_lo;
tmpref.refaddr:=addr_low;
helplist.concat(taicpu.op_reg_ref_reg(A_OR,hreg,tmpref,hreg));
reference_reset_base(tmpref,hreg,0);
@ -140,10 +140,10 @@ implementation
reference_reset(tmpref);
tmpref.offset:=spilltemp.offset;
tmpref.refaddr:=addr_hi;
tmpref.refaddr:=addr_high;
helplist.concat(taicpu.op_ref_reg(A_SETHI,tmpref,hreg));
tmpref.refaddr:=addr_lo;
tmpref.refaddr:=addr_low;
helplist.concat(taicpu.op_reg_ref_reg(A_OR,hreg,tmpref,hreg));
reference_reset_base(tmpref,hreg,0);