aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1993-11-15 07:20:32 +0000
committerRichard Stallman <rms@gnu.org>1993-11-15 07:20:32 +0000
commitfc623854213a8724031c0f3fc51cea1ee2a77aa0 (patch)
treefc0ce2e9ce90c0749207b7aba037351f7ae9e5c7 /gcc
parentc110c53d6eac5abc1184407c6f05d9257eaee448 (diff)
downloadgcc-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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-typeck.c12
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)