summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-09-20 17:13:25 +0200
committerGitHub <noreply@github.com>2016-09-20 17:13:25 +0200
commitf3da2fe33031743e8448d51e10ec3ff9a1f43a70 (patch)
treeba7c775e890f9d6b491203434578eee1a9e080d5 /tests
parent315fba18cea0c435f4bbff2f58f2b37813563f8e (diff)
parent82b022ebc6621f573c516ea59e9db4426d87a64e (diff)
downloadNim-f3da2fe33031743e8448d51e10ec3ff9a1f43a70.tar.gz
Merge pull request #4806 from yglukhov/addr-var-init
JS: Fixed ICE on ptr assignment
Diffstat (limited to 'tests')
-rw-r--r--tests/js/taddr.nim7
-rw-r--r--tests/js/tbyvar.nim8
2 files changed, 15 insertions, 0 deletions
diff --git a/tests/js/taddr.nim b/tests/js/taddr.nim
index 1fba30d55..d8ff4c11b 100644
--- a/tests/js/taddr.nim
+++ b/tests/js/taddr.nim
@@ -70,3 +70,10 @@ proc testPtr(p: pointer, a: int) =
 var i = 123
 testPtr(addr i, 5)
 doAssert(i == 124)
+
+var someGlobal = 5
+proc getSomeGlobalPtr(): ptr int = addr someGlobal
+let someGlobalPtr = getSomeGlobalPtr()
+doAssert(someGlobalPtr[] == 5)
+someGlobalPtr[] = 10
+doAssert(someGlobal == 10)
diff --git a/tests/js/tbyvar.nim b/tests/js/tbyvar.nim
index 9714cd56b..40aebd13b 100644
--- a/tests/js/tbyvar.nim
+++ b/tests/js/tbyvar.nim
@@ -41,3 +41,11 @@ proc bar(s: var seq[int], a: int) =
   foo(s)
 s.bar(5)
 doAssert(s == @[123, 1])
+
+import tables
+block: # Test get addr of byvar return value
+  var t = initTable[string, int]()
+  t["hi"] = 5
+  let a = addr t["hi"]
+  a[] = 10
+  doAssert(t["hi"] == 10)