parent
a0b547001b
commit
e2c2ae8e7e
3 changed files with 9 additions and 1 deletions
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue