summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-09-23 23:05:14 +0200
committerGitHub <noreply@github.com>2016-09-23 23:05:14 +0200
commit5a2ff9035eb075b744d5665e1c27fe317bdf25e0 (patch)
treede7a94adc9d0b221227481eecf355aebb92efa1d
parent2e754f7342dedaa84f03bb099dc9994c404aa4c4 (diff)
parent32dd1e5d3c059adc86ad7d744d06ae65b2f1aca1 (diff)
downloadNim-5a2ff9035eb075b744d5665e1c27fe317bdf25e0.tar.gz
Merge pull request #4824 from cheatfate/fix3567
Fix #3567
-rw-r--r--compiler/ccgtypes.nim9
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) =