|
@@ -79,28 +79,28 @@ implementation
|
|
|
|
|
|
procedure genitem(list:TAsmList;t : pcaselabel);
|
|
procedure genitem(list:TAsmList;t : pcaselabel);
|
|
var
|
|
var
|
|
- i : aint;
|
|
|
|
|
|
+ i : TConstExprInt;
|
|
begin
|
|
begin
|
|
if assigned(t^.less) then
|
|
if assigned(t^.less) then
|
|
genitem(list,t^.less);
|
|
genitem(list,t^.less);
|
|
{ fill possible hole }
|
|
{ fill possible hole }
|
|
- i:=last.svalue+1;
|
|
|
|
|
|
+ i:=last+1;
|
|
while i<=t^._low-1 do
|
|
while i<=t^._low-1 do
|
|
begin
|
|
begin
|
|
if (target_info.system<>system_powerpc64_darwin) then
|
|
if (target_info.system<>system_powerpc64_darwin) then
|
|
list.concat(Tai_const.Create_sym(elselabel))
|
|
list.concat(Tai_const.Create_sym(elselabel))
|
|
else
|
|
else
|
|
list.concat(Tai_const.Create_rel_sym(aitconst_32bit,table,elselabel));
|
|
list.concat(Tai_const.Create_rel_sym(aitconst_32bit,table,elselabel));
|
|
- inc(i);
|
|
|
|
|
|
+ i:=i+1;
|
|
end;
|
|
end;
|
|
- i:=t^._low.svalue;
|
|
|
|
|
|
+ i:=t^._low;
|
|
while i<=t^._high do
|
|
while i<=t^._high do
|
|
begin
|
|
begin
|
|
if (target_info.system<>system_powerpc64_darwin) then
|
|
if (target_info.system<>system_powerpc64_darwin) then
|
|
list.concat(Tai_const.Create_sym(blocklabel(t^.blockid)))
|
|
list.concat(Tai_const.Create_sym(blocklabel(t^.blockid)))
|
|
else
|
|
else
|
|
list.concat(Tai_const.Create_rel_sym(aitconst_32bit,table,blocklabel(t^.blockid)));
|
|
list.concat(Tai_const.Create_rel_sym(aitconst_32bit,table,blocklabel(t^.blockid)));
|
|
- inc(i);
|
|
|
|
|
|
+ i:=i+1;
|
|
end;
|
|
end;
|
|
last:=t^._high;
|
|
last:=t^._high;
|
|
if assigned(t^.greater) then
|
|
if assigned(t^.greater) then
|
|
@@ -131,7 +131,7 @@ implementation
|
|
else
|
|
else
|
|
mulfactor:=4;
|
|
mulfactor:=4;
|
|
cg.a_op_const_reg(current_asmdata.CurrAsmList, OP_MUL, OS_INT, mulfactor, indexreg);
|
|
cg.a_op_const_reg(current_asmdata.CurrAsmList, OP_MUL, OS_INT, mulfactor, indexreg);
|
|
- reference_reset_symbol(href, table, (-aint(min_)) * tcgsize2size[OS_ADDR]);
|
|
|
|
|
|
+ reference_reset_symbol(href, table, (-aint(min_)) * mulfactor);
|
|
|
|
|
|
if (target_info.system<>system_powerpc64_darwin) then
|
|
if (target_info.system<>system_powerpc64_darwin) then
|
|
begin
|
|
begin
|