mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-01 02:42:05 +00:00
fixes #1329
This commit is contained in:
@@ -1105,6 +1105,8 @@ proc genAddrDeref(c: PCtx; n: PNode; dest: var TDest; opc: TOpcode;
|
||||
# nkAddr we must not use 'unneededIndirection', but for deref we use it.
|
||||
if not isAddr and unneededIndirection(n.sons[0]):
|
||||
gen(c, n.sons[0], dest, newflags)
|
||||
if gfAddrOf notin flags and fitsRegister(n.typ):
|
||||
c.gABC(n, opcNodeToReg, dest, dest)
|
||||
elif isAddr and isGlobal(n.sons[0]):
|
||||
gen(c, n.sons[0], dest, flags+{gfAddrOf})
|
||||
else:
|
||||
|
||||
@@ -18,7 +18,8 @@ bb
|
||||
aa
|
||||
bb
|
||||
24
|
||||
2147483647 2147483647'''
|
||||
2147483647 2147483647
|
||||
5'''
|
||||
"""
|
||||
|
||||
const s = @[1,2,3]
|
||||
@@ -80,3 +81,12 @@ static:
|
||||
static:
|
||||
var foo2 = int32.high
|
||||
echo foo2, " ", int32.high
|
||||
|
||||
# bug #1329
|
||||
|
||||
static:
|
||||
var a: ref int
|
||||
new(a)
|
||||
a[] = 5
|
||||
|
||||
echo a[]
|
||||
|
||||
Reference in New Issue
Block a user