diff options
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/objc-act.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index 91b2223..0a57d65b 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -2393,6 +2393,13 @@ objc_copy_list (list, head) while (list) { tail = copy_node (list); + + /* The following statement fixes a bug when inheriting instance + variables that are declared to be bitfields. finish_struct + expects to find the width of the bitfield in DECL_INITIAL. */ + if (DECL_BIT_FIELD (tail) && DECL_INITIAL (tail) == 0) + DECL_INITIAL (tail) = DECL_SIZE (tail); + newlist = chainon (newlist, tail); list = TREE_CHAIN (list); } |