diff options
author | Araq <rumpf_a@web.de> | 2015-10-15 09:31:43 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2015-10-15 09:31:54 +0200 |
commit | c97cbe7abd85d134e95ad1a7044fc314c60e5bed (patch) | |
tree | 018959820cb3510daf9db092946a7a210c384cc6 /compiler/vm.nim | |
parent | 7d6c9143d70d1ba09ef43d1580a0ad870d46e2a6 (diff) | |
download | Nim-c97cbe7abd85d134e95ad1a7044fc314c60e5bed.tar.gz |
fixes #3299
Diffstat (limited to 'compiler/vm.nim')
-rw-r--r-- | compiler/vm.nim | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/vm.nim b/compiler/vm.nim index ded66d3d0..7ba4aaeb6 100644 --- a/compiler/vm.nim +++ b/compiler/vm.nim @@ -511,7 +511,10 @@ proc rawExecute(c: PCtx, start: int, tos: PStackFrame): TFullReg = regs[ra].regAddr = addr(regs[rb]) of opcAddrNode: decodeB(rkNodeAddr) - regs[ra].nodeAddr = addr(regs[rb].node) + if regs[rb].kind == rkNode: + regs[ra].nodeAddr = addr(regs[rb].node) + else: + stackTrace(c, tos, pc, errGenerated, "limited VM support for 'addr'") of opcLdDeref: # a = b[] let ra = instr.regA |