From: Richard Stallman Date: Mon, 15 Nov 1993 07:20:32 +0000 (+0000) Subject: (push_init_level, really_start_incremental_init): X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fc623854213a8724031c0f3fc51cea1ee2a77aa0;p=gcc.git (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 --- diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index b6ecdcc2fb4..1b5fa4f00ad 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)