This commit is contained in:
Dominik Picheta
2014-04-15 13:53:02 +01:00
parent 21d0cc8cdf
commit 9e7c0fd2b0
2 changed files with 13 additions and 5 deletions

View File

@@ -1060,6 +1060,8 @@ proc genObjConstr(p: BProc, e: PNode, d: var TLoc) =
t = t.sons[0].skipTypes(abstractInst)
r = ropef("(*$1)", r)
gcUsage(e)
else:
constructLoc(p, tmp)
discard getTypeDesc(p.module, t)
for i in 1 .. <e.len:
let it = e.sons[i]
@@ -1082,6 +1084,7 @@ proc genObjConstr(p: BProc, e: PNode, d: var TLoc) =
tmp2.s = if isRef: OnHeap else: OnStack
tmp2.heapRoot = tmp.r
expr(p, it.sons[1], tmp2)
if d.k == locNone:
d = tmp
else:

View File

@@ -1,16 +1,21 @@
discard """
output: '''0
output: '''0 0
pre test a:test b:1 c:2 haha:3
assignment test a:test b:1 c:2 haha:3
'''
"""
type TSomeObj = object of TObject
Variable: int
# bug #1005
type
TSomeObj = object of TObject
a: int
PSomeObj = ref object
a: int
var a = TSomeObj()
echo a.Variable.`$`
var b = PSomeObj()
echo a.a, " ", b.a
# bug #575