diff options
author | ringabout <43030857+ringabout@users.noreply.github.com> | 2023-03-13 03:03:46 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-12 20:03:46 +0100 |
commit | b2c1dcbbc9b097c9c13dda4951e824cdb5f16225 (patch) | |
tree | ab1dc0d39f6da34bd006668793a474a1391e8a08 /tests/vm | |
parent | ffadc75afead6baed0885877edb2c3b1c9ef1b2e (diff) | |
download | Nim-b2c1dcbbc9b097c9c13dda4951e824cdb5f16225.tar.gz |
fixes explicit globals in macros (#21502)
Diffstat (limited to 'tests/vm')
-rw-r--r-- | tests/vm/tvmmisc.nim | 13 |
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() |