Ver Fonte

* 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 há 16 anos atrás
pai
commit
671f8a1d30
1 ficheiros alterados com 8 adições e 3 exclusões
  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;