浏览代码

* fixed endless loop when generating debug info for empty string constants
after r14366

git-svn-id: trunk@14369 -

Jonas Maebe 15 年之前
父节点
当前提交
82b2a1d48f
共有 1 个文件被更改,包括 10 次插入8 次删除
  1. 10 8
      compiler/dbgdwarf.pas

+ 10 - 8
compiler/dbgdwarf.pas

@@ -2305,10 +2305,11 @@ implementation
                 end;
               i:=0;
               size:=sym.value.len;
-              repeat
-                current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit((pbyte(sym.value.valueptr+i)^)));
-                inc(i);
-              until (i=size);
+              while(i<size) do
+                begin
+                  current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit((pbyte(sym.value.valueptr+i)^)));
+                  inc(i);
+                end;
             end;
           constguid,
           constset:
@@ -2317,10 +2318,11 @@ implementation
               current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit(usedef.size));
               i:=0;
               size:=sym.constdef.size;
-              repeat
-                current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit((pbyte(sym.value.valueptr+i)^)));
-                inc(i);
-              until(i=size);
+              while (i<size) do
+                begin
+                  current_asmdata.asmlists[al_dwarf_info].concat(tai_const.create_8bit((pbyte(sym.value.valueptr+i)^)));
+                  inc(i);
+                end;
             end;
           constwstring,
           constresourcestring: