diff options
Diffstat (limited to 'contrib/gcc/c-typeck.c')
-rw-r--r-- | contrib/gcc/c-typeck.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/contrib/gcc/c-typeck.c b/contrib/gcc/c-typeck.c index 154d830..d320307 100644 --- a/contrib/gcc/c-typeck.c +++ b/contrib/gcc/c-typeck.c @@ -5846,7 +5846,7 @@ add_pending_init (purpose, value) p = *q; if (tree_int_cst_lt (purpose, p->purpose)) q = &p->left; - else if (tree_int_cst_lt (p->purpose, purpose)) + else if (p->purpose != purpose) q = &p->right; else abort (); @@ -5860,8 +5860,7 @@ add_pending_init (purpose, value) if (tree_int_cst_lt (DECL_FIELD_BITPOS (purpose), DECL_FIELD_BITPOS (p->purpose))) q = &p->left; - else if (tree_int_cst_lt (DECL_FIELD_BITPOS (p->purpose), - DECL_FIELD_BITPOS (purpose))) + else if (p->purpose != purpose) q = &p->right; else abort (); @@ -6046,7 +6045,7 @@ pending_init_member (field) { while (p) { - if (tree_int_cst_equal (field, p->purpose)) + if (field == p->purpose) return 1; else if (tree_int_cst_lt (field, p->purpose)) p = p->left; |