diff options
author | Araq <rumpf_a@web.de> | 2014-04-20 01:19:10 +0200 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2014-04-20 01:19:10 +0200 |
commit | 05e89ffceb4a0cb85b59eb1ca34d27b0d5cb63dd (patch) | |
tree | 2f0604f731a07ce17b3f6af06b268d67095d4259 /compiler/ccgexprs.nim | |
parent | 9a2704056a03fb39c2b4a212cf9b15ae6b411544 (diff) | |
parent | 1f9f34b9a747b313a85c1e9a15e3a0fdb5f2255a (diff) | |
download | Nim-05e89ffceb4a0cb85b59eb1ca34d27b0d5cb63dd.tar.gz |
Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
Diffstat (limited to 'compiler/ccgexprs.nim')
-rw-r--r-- | compiler/ccgexprs.nim | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim index 9702fb25c..49350fa9c 100644 --- a/compiler/ccgexprs.nim +++ b/compiler/ccgexprs.nim @@ -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: |