* fixed i8086's tcpupointerdef.pointer_arithmetic_int_type and

.pointer_subtraction_result_type methods after r34607

git-svn-id: trunk@34613 -
This commit is contained in:
nickysn 2016-10-04 00:06:50 +00:00
parent 481a8ec58d
commit f76722b6c3

View File

@ -423,10 +423,21 @@ implementation
function tcpupointerdef.pointer_arithmetic_int_type:tdef; function tcpupointerdef.pointer_arithmetic_int_type:tdef;
begin begin
if x86pointertyp=x86pt_huge then case x86pointertyp of
result:=s32inttype x86pt_huge:
else result:=s32inttype;
result:=inherited; x86pt_far,
x86pt_near,
x86pt_near_cs,
x86pt_near_ds,
x86pt_near_ss,
x86pt_near_es,
x86pt_near_fs,
x86pt_near_gs:
result:=s16inttype;
else
internalerror(2016100403);
end;
end; end;
@ -437,8 +448,16 @@ implementation
result:=s32inttype; result:=s32inttype;
x86pt_far: x86pt_far:
result:=u16inttype; result:=u16inttype;
x86pt_near,
x86pt_near_cs,
x86pt_near_ds,
x86pt_near_ss,
x86pt_near_es,
x86pt_near_fs,
x86pt_near_gs:
result:=s16inttype;
else else
result:=inherited; internalerror(2016100402);
end; end;
end; end;