This commit is contained in:
Yuriy Glukhov 2017-01-18 21:13:08 +02:00 • committed by Andreas Rumpf
commit 05dec08cea
2 changed files with 11 additions and 0 deletions

View file

@ -1173,6 +1173,7 @@ proc genDeref(p: PProc, n: PNode, r: var TCompRes) =
else: else:
var a: TCompRes var a: TCompRes
gen(p, n.sons[0], a) gen(p, n.sons[0], a)
r.kind = resExpr
if a.typ == etyBaseIndex: if a.typ == etyBaseIndex:
r.res = "$1[$2]" % [a.address, a.res] r.res = "$1[$2]" % [a.address, a.res]
elif n.sons[0].kind == nkCall: elif n.sons[0].kind == nkCall:

View file

@ -49,3 +49,13 @@ block: # Test get addr of byvar return value
let a = addr t["hi"] let a = addr t["hi"]
a[] = 10 a[] = 10
doAssert(t["hi"] == 10) doAssert(t["hi"] == 10)
block: # Test var arg inside case expression. #5244
proc foo(a: var string) =
a = case a
of "a": "error"
of "b": "error"
else: a
var a = "ok"
foo(a)
doAssert(a == "ok")