diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim index 935b33ab2e..7fdd0a9b3d 100644 --- a/compiler/ccgtypes.nim +++ b/compiler/ccgtypes.nim @@ -1246,7 +1246,7 @@ proc genObjectInfo(m: BModule, typ, origType: PType, name: Rope; info: TLineInfo else: genTypeInfoAuxBase(m, typ, origType, name, rope("0"), info) var tmp = getNimNode(m) - if (not isImportedType(typ)) or tfCompleteStruct in typ.flags: + if not isImportedType(typ): genObjectFields(m, typ, origType, typ.n, tmp, info) m.s[cfsTypeInit3].addf("$1.node = &$2;$n", [tiNameForHcr(m, name), tmp]) var t = typ[0] diff --git a/tests/ccgbugs/tcgbug.nim b/tests/ccgbugs/tcgbug.nim index 871008094d..75b8c34d45 100644 --- a/tests/ccgbugs/tcgbug.nim +++ b/tests/ccgbugs/tcgbug.nim @@ -4,7 +4,6 @@ success M1 M2 ok ''' -matrix: "--mm:refc;--mm:orc" """ type @@ -133,30 +132,3 @@ proc foo = # bug #23280 doAssert L mod 6 == 0 foo() - -block: # bug #9940 - {.emit:"""/*TYPESECTION*/ -typedef struct { int base; } S; -""".} - - type S {.importc: "S", completeStruct.} = object - base: cint - proc init(x:ptr S) = - x.base = 1 - - type - Foo = object - a: seq[float] - b: seq[float] - c: seq[float] - d: seq[float] - s: S - - proc newT(): Foo = - var t: Foo - t.s.addr.init - doAssert t.s.base == 1 - t - - var t = newT() - doAssert t.s.base == 1