diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-09-23 23:05:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-09-23 23:05:14 +0200 |
commit | 5a2ff9035eb075b744d5665e1c27fe317bdf25e0 (patch) | |
tree | de7a94adc9d0b221227481eecf355aebb92efa1d | |
parent | 2e754f7342dedaa84f03bb099dc9994c404aa4c4 (diff) | |
parent | 32dd1e5d3c059adc86ad7d744d06ae65b2f1aca1 (diff) | |
download | Nim-5a2ff9035eb075b744d5665e1c27fe317bdf25e0.tar.gz |
Merge pull request #4824 from cheatfate/fix3567
Fix #3567
-rw-r--r-- | compiler/ccgtypes.nim | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/compiler/ccgtypes.nim b/compiler/ccgtypes.nim index dee98aab8..eac734b3d 100644 --- a/compiler/ccgtypes.nim +++ b/compiler/ccgtypes.nim @@ -888,10 +888,11 @@ proc genObjectFields(m: BModule, typ: PType, n: PNode, expr: Rope) = else: internalError(n.info, "genObjectFields(nkRecCase)") of nkSym: var field = n.sym - addf(m.s[cfsTypeInit3], "$1.kind = 1;$n" & - "$1.offset = offsetof($2, $3);$n" & "$1.typ = $4;$n" & - "$1.name = $5;$n", [expr, getTypeDesc(m, typ), - field.loc.r, genTypeInfo(m, field.typ), makeCString(field.name.s)]) + if field.bitsize == 0: + addf(m.s[cfsTypeInit3], "$1.kind = 1;$n" & + "$1.offset = offsetof($2, $3);$n" & "$1.typ = $4;$n" & + "$1.name = $5;$n", [expr, getTypeDesc(m, typ), + field.loc.r, genTypeInfo(m, field.typ), makeCString(field.name.s)]) else: internalError(n.info, "genObjectFields") proc genObjectInfo(m: BModule, typ, origType: PType, name: Rope) = |