* fix cycling by correctly handling the case that the global symtable of a program file is Nil

* also check the local symtable in that case (a program does not result in a PPU, but we need the imported symbols nevertheless when linking to a package)

git-svn-id: trunk@34414 -
This commit is contained in:
svenbarth 2016-09-02 17:22:59 +00:00
parent 36e5d02e8e
commit cb27889dea

View File

@ -2770,7 +2770,13 @@ implementation
inc(current_module.unitmap[tglobalsymtable(owner).moduleid].refs);
{ Note: don't check the symtable directly as owner might be
a specialize symtable which is a globalsymtable as well }
if current_module.globalsymtable.moduleid<>owner.moduleid then
if (
assigned(current_module.globalsymtable) and
(current_module.globalsymtable.moduleid<>owner.moduleid)
) or (
assigned(current_module.localsymtable) and
(current_module.localsymtable.moduleid<>owner.moduleid)
) then
{ symbol is imported from another unit }
current_module.addimportedsym(sym);
end;