mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 17:34:43 +00:00
* 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>
31 lines
556 B
Nim
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
|