From 83a8019027c8ead25811078f68fc088b5cfdd74d Mon Sep 17 00:00:00 2001 From: Araq Date: Tue, 13 Feb 2018 17:19:52 +0100 Subject: [PATCH] symbol files: bugfixes --- compiler/rodwrite.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/rodwrite.nim b/compiler/rodwrite.nim index b9f33236d9..59a7092953 100644 --- a/compiler/rodwrite.nim +++ b/compiler/rodwrite.nim @@ -390,9 +390,9 @@ proc symStack(w: PRodWriter): int = inc result elif iiTableGet(w.index.tab, s.id) == InvalidKey: var m = getModule(s) - if m == nil and s.kind != skPackage and sfGenSym notin s.flags: - internalError("symStack: module nil: " & s.name.s) - if s.kind == skPackage or {sfFromGeneric, sfGenSym} * s.flags != {} or m.id == w.module.id: + #if m == nil and s.kind != skPackage and sfGenSym notin s.flags: + # internalError("symStack: module nil: " & s.name.s & " " & $s.kind & " ID " & $s.id) + if m == nil or s.kind == skPackage or {sfFromGeneric, sfGenSym} * s.flags != {} or m.id == w.module.id: # put definition in here var L = w.data.len addToIndex(w.index, s.id, L) @@ -411,7 +411,7 @@ proc symStack(w: PRodWriter): int = add(w.compilerProcs, ' ') encodeVInt(s.id, w.compilerProcs) add(w.compilerProcs, rodNL) - if s.kind == skConverter or hasPattern(s): + if s.kind == skConverter or (s.ast != nil and hasPattern(s)): if w.converters.len != 0: add(w.converters, ' ') encodeVInt(s.id, w.converters) if s.kind == skMethod and sfDispatcher notin s.flags: