* 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 -
This commit is contained in:
svenbarth 2016-09-02 15:35:17 +00:00
parent b552fc4595
commit 3ea78f53ad

View File

@ -751,7 +751,7 @@ implementation
tsym(s).register_sym; tsym(s).register_sym;
st:=FindUnitSymtable(tsym(s).owner) st:=FindUnitSymtable(tsym(s).owner)
end end
else else if s is tdef then
begin begin
{ same as above } { same as above }
if tdef(s).defid=defid_registered_nost then if tdef(s).defid=defid_registered_nost then
@ -759,7 +759,9 @@ implementation
if not tdef(s).registered then if not tdef(s).registered then
tdef(s).register_def; tdef(s).register_def;
st:=FindUnitSymtable(tdef(s).owner); st:=FindUnitSymtable(tdef(s).owner);
end; end
else
internalerror(2016090201);
if not st.iscurrentunit then if not st.iscurrentunit then
begin begin
{ register that the unit is needed for resolving } { register that the unit is needed for resolving }