浏览代码

variable trashing: don't trash internal syms

Since they're managed by the code generator, they should always be valid.
Jonas Maebe 3 年之前
父节点
当前提交
5012e45d04
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      compiler/ngenutil.pas

+ 2 - 0
compiler/ngenutil.pas

@@ -889,6 +889,8 @@ implementation
     begin
     begin
       if not(tsym(p).typ in [localvarsym,paravarsym]) then
       if not(tsym(p).typ in [localvarsym,paravarsym]) then
         exit;
         exit;
+      if sp_internal in tsym(p).symoptions then
+        exit;
       maybe_trash_variable(stat^,tabstractnormalvarsym(p),cloadnode.create(tsym(p),tsym(p).owner));
       maybe_trash_variable(stat^,tabstractnormalvarsym(p),cloadnode.create(tsym(p),tsym(p).owner));
     end;
     end;