Browse Source

* always immediately reset isdbgwritten for syms in the parasymtable,
because they have to be written multiple times in case the procdef
is also written multiple times (such as with DWARF on
tf_dwarf_only_local_labels systems)

git-svn-id: trunk@14214 -

Jonas Maebe 16 năm trước cách đây
mục cha
commit
671f8a1d30
1 tập tin đã thay đổi với 8 bổ sung3 xóa
  1. 8 3
      compiler/dbgbase.pas

+ 8 - 3
compiler/dbgbase.pas

@@ -426,9 +426,14 @@ implementation
         for i:=0 to paras.Count-1 do
           begin
             sym:=tsym(paras[i]);
-            if (sym.visibility<>vis_hidden) and
-               (not sym.isdbgwritten) then
-              appendsym(list,sym);
+            if (sym.visibility<>vis_hidden) then
+              begin
+                appendsym(list,sym);
+                { if we ever write this procdef again for some reason (this
+                  can happen with DWARF), then we want to write all the
+                  parasyms again as well. }
+                sym.isdbgwritten:=false;
+              end;
           end;
       end;