aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c-decl.c4
-rw-r--r--gcc/cp/class.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/gcc/c-decl.c b/gcc/c-decl.c
index 37915a4..ca9940c 100644
--- a/gcc/c-decl.c
+++ b/gcc/c-decl.c
@@ -5529,8 +5529,8 @@ finish_struct (t, fieldlist, attributes)
/* Delete all zero-width bit-fields from the fieldlist */
{
tree *fieldlistp = &fieldlist;
- while (*fieldlistp && TREE_CODE (*fieldlistp) == FIELD_DECL)
- if (DECL_INITIAL (*fieldlistp))
+ while (*fieldlistp)
+ if (TREE_CODE (*fieldlistp) == FIELD_DECL && DECL_INITIAL (*fieldlistp))
*fieldlistp = TREE_CHAIN (*fieldlistp);
else
fieldlistp = &TREE_CHAIN (*fieldlistp);
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index c9281d7..47fc705 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -3865,8 +3865,9 @@ finish_struct_1 (t)
/* Delete all zero-width bit-fields from the fieldlist */
{
tree *fieldsp = &fields;
- while (*fieldsp && TREE_CODE (*fieldsp) == FIELD_DECL)
- if (DECL_C_BIT_FIELD (*fieldsp) && DECL_INITIAL (*fieldsp))
+ while (*fieldsp)
+ if (TREE_CODE (*fieldsp) == FIELD_DECL
+ && DECL_C_BIT_FIELD (*fieldsp) && DECL_INITIAL (*fieldsp))
*fieldsp = TREE_CHAIN (*fieldsp);
else
fieldsp = &TREE_CHAIN (*fieldsp);