summary refs log tree commit diff stats
path: root/tests/vm
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2023-03-13 03:03:46 +0800
committerGitHub <noreply@github.com>2023-03-12 20:03:46 +0100
commitb2c1dcbbc9b097c9c13dda4951e824cdb5f16225 (patch)
treeab1dc0d39f6da34bd006668793a474a1391e8a08 /tests/vm
parentffadc75afead6baed0885877edb2c3b1c9ef1b2e (diff)
downloadNim-b2c1dcbbc9b097c9c13dda4951e824cdb5f16225.tar.gz
fixes explicit globals in macros (#21502)
Diffstat (limited to 'tests/vm')
-rw-r--r--tests/vm/tvmmisc.nim13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/vm/tvmmisc.nim b/tests/vm/tvmmisc.nim
index 673e3e965..14818375d 100644
--- a/tests/vm/tvmmisc.nim
+++ b/tests/vm/tvmmisc.nim
@@ -643,3 +643,16 @@ const b = block:
 
 doAssert a == @[@[0, 1, 2], @[0, 1, 2], @[0, 1, 2]]
 doAssert b == @[@[0, 1, 2], @[0, 1, 2], @[0, 1, 2]]
+
+macro m1(s: string): int =
+  var ProcID {.global, compileTime.}: int
+  inc(ProcID)
+  result = newLit(ProcID)
+
+proc macroGlobal =
+  doAssert m1("Macro argument") == 1
+  doAssert m1("Macro argument") == 2
+  doAssert m1("Macro argument") == 3
+
+static: macroGlobal()
+macroGlobal()