parent
bde768cb09
commit
05dec08cea
2 changed files with 11 additions and 0 deletions
|
|
@ -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:
|
||||||
|
|
|
||||||
|
|
@ -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")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue