From 7d8fb1833ff4a03ae9aeca87efc03f586faeaee2 Mon Sep 17 00:00:00 2001 From: nickysn Date: Wed, 23 Apr 2014 12:43:48 +0000 Subject: [PATCH] * 16-bit alu handling in tshlshrnode.pass_typecheck simplified via the use of get_common_intdef git-svn-id: trunk@27641 - --- compiler/nmat.pas | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/compiler/nmat.pas b/compiler/nmat.pas index 98400d5cbb..e50c619178 100644 --- a/compiler/nmat.pas +++ b/compiler/nmat.pas @@ -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}