summary refs log tree commit diff stats
path: root/compiler/ccgtrav.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2017-03-06 18:25:27 +0100
committerAraq <rumpf_a@web.de>2017-03-06 18:25:27 +0100
commit8c0e27e8d907931c8cb3483edbdd90d114563135 (patch)
tree444fc7306a35877e8740a559357afb2076460915 /compiler/ccgtrav.nim
parent643b7f8650aca702d9fd4bbe9ccd8fe915077a39 (diff)
downloadNim-8c0e27e8d907931c8cb3483edbdd90d114563135.tar.gz
fixes #5481
Diffstat (limited to 'compiler/ccgtrav.nim')
-rw-r--r--compiler/ccgtrav.nim3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/ccgtrav.nim b/compiler/ccgtrav.nim
index 457093c61..982f88cbd 100644
--- a/compiler/ccgtrav.nim
+++ b/compiler/ccgtrav.nim
@@ -32,6 +32,9 @@ proc genTraverseProc(c: var TTraversalClosure, accessor: Rope, n: PNode;
     if (n.sons[0].kind != nkSym): internalError(n.info, "genTraverseProc")
     var p = c.p
     let disc = n.sons[0].sym
+    if disc.loc.r == nil: fillObjectFields(c.p.module, typ)
+    if disc.loc.t == nil:
+      internalError(n.info, "genTraverseProc()")
     lineF(p, cpsStmts, "switch ($1.$2) {$n", [accessor, disc.loc.r])
     for i in countup(1, sonsLen(n) - 1):
       let branch = n.sons[i]