Merge pull request #4824 from cheatfate/fix3567

Fix #3567
This commit is contained in:
Andreas Rumpf 2016-09-23 23:05:14 +02:00 • committed by GitHub
commit 5a2ff9035e

View file

@ -888,10 +888,11 @@ proc genObjectFields(m: BModule, typ: PType, n: PNode, expr: Rope) =
else: internalError(n.info, "genObjectFields(nkRecCase)") else: internalError(n.info, "genObjectFields(nkRecCase)")
of nkSym: of nkSym:
var field = n.sym var field = n.sym
addf(m.s[cfsTypeInit3], "$1.kind = 1;$n" & if field.bitsize == 0:
"$1.offset = offsetof($2, $3);$n" & "$1.typ = $4;$n" & addf(m.s[cfsTypeInit3], "$1.kind = 1;$n" &
"$1.name = $5;$n", [expr, getTypeDesc(m, typ), "$1.offset = offsetof($2, $3);$n" & "$1.typ = $4;$n" &
field.loc.r, genTypeInfo(m, field.typ), makeCString(field.name.s)]) "$1.name = $5;$n", [expr, getTypeDesc(m, typ),
field.loc.r, genTypeInfo(m, field.typ), makeCString(field.name.s)])
else: internalError(n.info, "genObjectFields") else: internalError(n.info, "genObjectFields")
proc genObjectInfo(m: BModule, typ, origType: PType, name: Rope) = proc genObjectInfo(m: BModule, typ, origType: PType, name: Rope) =