* 16-bit alu handling in tshlshrnode.pass_typecheck simplified via the use of

get_common_intdef

git-svn-id: trunk@27641 -
This commit is contained in:
nickysn 2014-04-23 12:43:48 +00:00
parent 2be706dbb0
commit 7d8fb1833f

View File

@ -695,10 +695,7 @@ implementation
{$elseif defined(cpu64bitalu) or defined(cpu32bitalu)}
inserttypeconv(left,s32inttype)
{$elseif defined(cpu16bitalu)}
if (left.resultdef.size > 2) or (right.resultdef.size > 2) then
inserttypeconv(left,s32inttype)
else
inserttypeconv(left,sinttype);
inserttypeconv(left,get_common_intdef(torddef(left.resultdef),torddef(sinttype),true));
{$else}
internalerror(2013031301);
{$endif}
@ -710,10 +707,7 @@ implementation
{$elseif defined(cpu64bitalu) or defined(cpu32bitalu)}
inserttypeconv(left,u32inttype);
{$elseif defined(cpu16bitalu)}
if (left.resultdef.size > 2) or (right.resultdef.size > 2) then
inserttypeconv(left,u32inttype)
else
inserttypeconv(left,uinttype);
inserttypeconv(left,get_common_intdef(torddef(left.resultdef),torddef(uinttype),true));
{$else}
internalerror(2013031301);
{$endif}