浏览代码

* taddnode.pass_1: set correctly expectloc to LOC_JUMP or LOC_FLAGS for compare
nodes on 16/8-bit targets. This fixes (among other things) the conversion of
booleans to boolean16 or boolean32 on i8086.

git-svn-id: trunk@26341 -

nickysn 11 年之前
父节点
当前提交
72e526b9b1
共有 1 个文件被更改,包括 2 次插入4 次删除
  1. 2 4
      compiler/nadd.pas

+ 2 - 4
compiler/nadd.pas

@@ -2914,12 +2914,10 @@ implementation
 {$endif cpuneedsmulhelper}
 {$endif cpuneedsmulhelper}
                   if nodetype in [addn,subn,muln,andn,orn,xorn] then
                   if nodetype in [addn,subn,muln,andn,orn,xorn] then
                     expectloc:=LOC_REGISTER
                     expectloc:=LOC_REGISTER
+                  else if torddef(ld).size>sizeof(aint) then
+                    expectloc:=LOC_JUMP
                   else
                   else
-{$ifdef cpu16bitalu}
-                    expectloc:=LOC_JUMP;
-{$else cpu16bitalu}
                     expectloc:=LOC_FLAGS;
                     expectloc:=LOC_FLAGS;
-{$endif cpu16bitalu}
               end;
               end;
            end
            end