浏览代码

* initialise expectloc for passthrough first_bool_to_int() and
first_int_to_bool()

git-svn-id: branches/hlcgllvm@28368 -

Jonas Maebe 11 年之前
父节点
当前提交
af98f9e39d
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      compiler/ncnv.pas

+ 8 - 2
compiler/ncnv.pas

@@ -3053,7 +3053,10 @@ implementation
          if (nf_explicit in flags) and
             (left.resultdef.size=resultdef.size) and
             (left.expectloc in [LOC_REFERENCE,LOC_CREFERENCE,LOC_CREGISTER]) then
-           exit;
+           begin
+             expectloc:=left.expectloc;
+             exit;
+           end;
          expectloc:=LOC_REGISTER;
       end;
 
@@ -3067,7 +3070,10 @@ implementation
          if (nf_explicit in flags) and
             (left.resultdef.size=resultdef.size) and
             (left.expectloc in [LOC_REFERENCE,LOC_CREFERENCE,LOC_CREGISTER]) then
-           exit;
+           begin
+             expectloc:=left.expectloc;
+             exit;
+           end;
          { when converting 64bit int to C-ctyle boolean, first convert to an int32 and then }
          { convert to a boolean (only necessary for 32bit processors) }
          if (left.resultdef.size > sizeof(aint)) and (left.resultdef.size<>resultdef.size)