From e4e32bdfbf72931c7e0e5692a30c3030490178e1 Mon Sep 17 00:00:00 2001 From: Araq Date: Thu, 10 Jul 2014 00:59:26 +0200 Subject: [PATCH] better error messages for macro instantiations --- compiler/sem.nim | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/sem.nim b/compiler/sem.nim index f12b638acd..8025ef70de 100644 --- a/compiler/sem.nim +++ b/compiler/sem.nim @@ -305,6 +305,8 @@ proc semAfterMacroCall(c: PContext, n: PNode, s: PSym, proc semMacroExpr(c: PContext, n, nOrig: PNode, sym: PSym, flags: TExprFlags = {}): PNode = + pushInfoContext(nOrig.info) + markUsed(n.info, sym) if sym == c.p.owner: globalError(n.info, errRecursiveDependencyX, sym.name.s) @@ -315,6 +317,7 @@ proc semMacroExpr(c: PContext, n, nOrig: PNode, sym: PSym, result = evalMacroCall(c.module, n, nOrig, sym) if efNoSemCheck notin flags: result = semAfterMacroCall(c, result, sym, flags) + popInfoContext() proc forceBool(c: PContext, n: PNode): PNode = result = fitNode(c, getSysType(tyBool), n)