c-typeck.c (add_pending_init): Don't abort for multiple fields at the same offset.
* c-typeck.c (add_pending_init): Don't abort for multiple fields at the same offset. (pending_init_member): Test the correct member. From-SVN: r32076
This commit is contained in:
parent
4a6cfa6347
commit
83b091c77a
@ -1,3 +1,9 @@
|
||||
2000-02-19 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* c-typeck.c (add_pending_init): Don't abort for multiple
|
||||
fields at the same offset.
|
||||
(pending_init_member): Test the correct member.
|
||||
|
||||
2000-02-19 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
|
||||
|
||||
* except.c (start_dynamic_handler) : Use TYPE_MODE (integer_type_node)
|
||||
|
@ -5580,7 +5580,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 ();
|
||||
@ -5594,8 +5594,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 ();
|
||||
@ -5780,7 +5779,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;
|
||||
|
Loading…
Reference in New Issue
Block a user