summary refs log tree commit diff stats
path: root/compiler/pragmas.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2019-01-13 13:30:01 +0100
committerAraq <rumpf_a@web.de>2019-01-13 13:30:01 +0100
commit40115cd6458457d071600526aa1037eaffe99f79 (patch)
tree720a1cf6062e94a71f383408485ab758777be993 /compiler/pragmas.nim
parent5cd18b0f240ff111e8892aef7bbab5037c3888bf (diff)
downloadNim-40115cd6458457d071600526aa1037eaffe99f79.tar.gz
improve error messages quality for '.push: raises []'
Diffstat (limited to 'compiler/pragmas.nim')
-rw-r--r--compiler/pragmas.nim7
1 files changed, 7 insertions, 0 deletions
diff --git a/compiler/pragmas.nim b/compiler/pragmas.nim
index 4adf6032b..3967fa22d 100644
--- a/compiler/pragmas.nim
+++ b/compiler/pragmas.nim
@@ -1123,7 +1123,14 @@ proc singlePragma(c: PContext, sym: PSym, n: PNode, i: var int,
       else:
         invalidPragma(c, it)
 
+proc overwriteLineInfo(n: PNode; info: TLineInfo) =
+  n.info = info
+  for i in 0..<safeLen(n):
+    overwriteLineInfo(n[i], info)
+
 proc mergePragmas(n, pragmas: PNode) =
+  var pragmas = copyTree(pragmas)
+  overwriteLineInfo pragmas, n.info
   if n[pragmasPos].kind == nkEmpty:
     n[pragmasPos] = pragmas
   else: