瀏覽代碼

* fixed derefdata corruption in case a unit is re-resolved and it has a
localsymtable with symbols/defs that need to be deref'ed

git-svn-id: trunk@14357 -

Jonas Maebe 15 年之前
父節點
當前提交
c3eb47293a
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      compiler/fppu.pas

+ 5 - 1
compiler/fppu.pas

@@ -1094,7 +1094,11 @@ uses
            begin
              tstoredsymtable(globalsymtable).buildderef;
              derefdataintflen:=derefdata.size;
-           end;
+           end
+         else
+           { the unit may have been re-resolved, in which case the current
+             position in derefdata is not necessarily at the end }
+            derefdata.seek(derefdata.size);
          tstoredsymtable(globalsymtable).buildderefimpl;
          if (flags and uf_local_symtable)<>0 then
            begin