From 3ea78f53addf11a3108a3cb4908875b3151db5d0 Mon Sep 17 00:00:00 2001 From: svenbarth Date: Fri, 2 Sep 2016 15:35:17 +0000 Subject: [PATCH] * as it seems that UnitImportSyms stores symbols that are already freed add an additional check to tderef.build() for tdef (in addition to tsym) to find code that triggers such cases more easily git-svn-id: trunk@34408 - --- compiler/symtype.pas | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/compiler/symtype.pas b/compiler/symtype.pas index c46f7c3924..245cf37011 100644 --- a/compiler/symtype.pas +++ b/compiler/symtype.pas @@ -751,7 +751,7 @@ implementation tsym(s).register_sym; st:=FindUnitSymtable(tsym(s).owner) end - else + else if s is tdef then begin { same as above } if tdef(s).defid=defid_registered_nost then @@ -759,7 +759,9 @@ implementation if not tdef(s).registered then tdef(s).register_def; st:=FindUnitSymtable(tdef(s).owner); - end; + end + else + internalerror(2016090201); if not st.iscurrentunit then begin { register that the unit is needed for resolving }