This commit is contained in:
cooldome
2018-03-23 12:28:22 +00:00
committed by Andreas Rumpf
parent a0b547001b
commit e2c2ae8e7e
3 changed files with 9 additions and 1 deletions

View File

@@ -2044,6 +2044,7 @@ proc upConv(p: BProc, n: PNode, d: var TLoc) =
if t.kind notin {tyVar, tyLent} or not p.module.compileToCpp:
r = "(*$1)" % [r]
t = skipTypes(t.lastSon, abstractInst)
discard getTypeDesc(p.module, t)
if not p.module.compileToCpp:
while t.kind == tyObject and t.sons[0] != nil:
add(r, ".Sup")

View File

@@ -1,7 +1,9 @@
type
MyRefObject* = ref object
s: string
BaseObj* = ref object of RootObj
ChildObj* = ref object of BaseObj
proc newMyRefObject*(s: string): MyRefObject =
new(result)

View File

@@ -27,3 +27,8 @@ proc f(foo: ptr Foo, foo2: ptr Foo2): cint =
if foo2 != nil: {.emit: [result, " = ", foo2[], ".b;"].}
discard f(nil, nil)
# bug #7392
var x1: BaseObj
var x2 = ChildObj(x1)