summary refs log tree commit diff stats
path: root/compiler/sem.nim
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-07-06 16:48:00 +0200
committerAndreas Rumpf <rumpf_a@web.de>2016-07-06 16:48:00 +0200
commite73fd64f3841bcbc7fd4b88c7943b96fd6efc339 (patch)
tree846ea1620239f284acdee96d763176f83504af95 /compiler/sem.nim
parent6d9177c6f1c668a517eaaa1e6946a4885ef531de (diff)
downloadNim-e73fd64f3841bcbc7fd4b88c7943b96fd6efc339.tar.gz
fixes #537
Diffstat (limited to 'compiler/sem.nim')
-rw-r--r--compiler/sem.nim9
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/sem.nim b/compiler/sem.nim
index a8ec2229f..6e462dec4 100644
--- a/compiler/sem.nim
+++ b/compiler/sem.nim
@@ -307,6 +307,13 @@ proc semConstExpr(c: PContext, n: PNode): PNode =
 
 include hlo, seminst, semcall
 
+when false:
+  # hopefully not required:
+  proc resetSemFlag(n: PNode) =
+    excl n.flags, nfSem
+    for i in 0 ..< n.safeLen:
+      resetSemFlag(n[i])
+
 proc semAfterMacroCall(c: PContext, n: PNode, s: PSym,
                        flags: TExprFlags): PNode =
   ## Semantically check the output of a macro.
@@ -320,6 +327,8 @@ proc semAfterMacroCall(c: PContext, n: PNode, s: PSym,
   c.friendModules.add(s.owner.getModule)
 
   result = n
+  excl(n.flags, nfSem)
+  #resetSemFlag n
   if s.typ.sons[0] == nil:
     result = semStmt(c, result)
   else: