diff options
author | Richard Stallman <rms@gnu.org> | 1993-11-15 07:20:32 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-11-15 07:20:32 +0000 |
commit | fc623854213a8724031c0f3fc51cea1ee2a77aa0 (patch) | |
tree | fc0ce2e9ce90c0749207b7aba037351f7ae9e5c7 | |
parent | c110c53d6eac5abc1184407c6f05d9257eaee448 (diff) | |
download | gcc-fc623854213a8724031c0f3fc51cea1ee2a77aa0.zip gcc-fc623854213a8724031c0f3fc51cea1ee2a77aa0.tar.gz gcc-fc623854213a8724031c0f3fc51cea1ee2a77aa0.tar.bz2 |
(push_init_level, really_start_incremental_init):
Skip any nameless bitfields at start of record.
(process_init_element): Skip any nameless bitfields after the field
just processed.
From-SVN: r6099
-rw-r--r-- | gcc/c-typeck.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index b6ecdcc..1b5fa4f 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -4966,6 +4966,10 @@ really_start_incremental_init (type) || TREE_CODE (constructor_type) == UNION_TYPE) { constructor_fields = TYPE_FIELDS (constructor_type); + /* Skip any nameless bit fields atthe beginning. */ + while (constructor_fields != 0 && DECL_BIT_FIELD (constructor_fields) + && DECL_NAME (constructor_fields) == 0) + constructor_fields = TREE_CHAIN (constructor_fields); constructor_unfilled_fields = constructor_fields; constructor_bit_index = copy_node (integer_zero_node); } @@ -5119,6 +5123,10 @@ push_init_level (implicit) || TREE_CODE (constructor_type) == UNION_TYPE) { constructor_fields = TYPE_FIELDS (constructor_type); + /* Skip any nameless bit fields atthe beginning. */ + while (constructor_fields != 0 && DECL_BIT_FIELD (constructor_fields) + && DECL_NAME (constructor_fields) == 0) + constructor_fields = TREE_CHAIN (constructor_fields); constructor_unfilled_fields = constructor_fields; constructor_bit_index = copy_node (integer_zero_node); } @@ -5895,6 +5903,10 @@ process_init_element (value) } constructor_fields = TREE_CHAIN (constructor_fields); + /* Skip any nameless bit fields atthe beginning. */ + while (constructor_fields != 0 && DECL_BIT_FIELD (constructor_fields) + && DECL_NAME (constructor_fields) == 0) + constructor_fields = TREE_CHAIN (constructor_fields); break; } if (TREE_CODE (constructor_type) == UNION_TYPE) |