Files
Nim/tests/js/tglobal.nim
flywind 2cfe5e0745 [closes #11625 and closes #2488]add global and threadvar(with --threads:off mode ) pragmas supports for JS backend (#15772)
* add global pragma support for js backend

* globalThis

* add support for threadvar

* more tests

* Update compiler/jsgen.nim

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
2020-10-30 15:34:07 +01:00

31 lines
556 B
Nim

block global:
proc getState(): int =
var state0 {.global.}: int
inc state0
result = state0
for i in 0 ..< 3:
doAssert getState() == i + 1
for i in 0 ..< 3:
once:
doAssert i == 0
block threadvar:
proc getThreadState0(): int =
var state0 {.threadvar.}: int
inc state0
result = state0
for i in 0 ..< 3:
doAssert getThreadState0() == i + 1
proc getThreadState1(): int =
var state1 {.threadvar.}: int
inc state1
result = state1
for i in 0 ..< 3:
doAssert getThreadState1() == i + 1