瀏覽代碼

Fix compilation from 32-bit CPU by avoiding use of aint variable in for loop

(cherry picked from commit c2ffd51c63da98e9a38634a9440804b3a55083ed)
Pierre Muller 3 年之前
父節點
當前提交
79ebedde8e
共有 1 個文件被更改,包括 6 次插入2 次删除
  1. 6 2
      compiler/mips/cgcpu.pas

+ 6 - 2
compiler/mips/cgcpu.pas

@@ -1572,12 +1572,14 @@ begin
     if Count > 0 then
     begin
       tmpreg1 := GetIntRegister(list, OS_INT);
-      for count2 := 1 to Count do
+      count2:=1;
+      while count2 <= Count do
       begin
         list.concat(taicpu.op_reg_ref(A_LW, tmpreg1, src));
         list.concat(taicpu.op_reg_ref(A_SW, tmpreg1, dst));
         Inc(src.offset, 4);
         Inc(dst.offset, 4);
+	Inc(count2);
       end;
       len := len mod 4;
     end;
@@ -1649,12 +1651,14 @@ begin
     begin
       { unrolled loop }
       tmpreg1 := GetIntRegister(list, OS_INT);
-      for i := 1 to len do
+      i:=1;
+      while i <= len do
       begin
         list.concat(taicpu.op_reg_ref(A_LBU, tmpreg1, src));
         list.concat(taicpu.op_reg_ref(A_SB, tmpreg1, dst));
         Inc(src.offset);
         Inc(dst.offset);
+	Inc(i);
       end;
     end;
   end;