if (ce->index == error_mark_node)
error ("name used in a GNU-style designated "
"initializer for an array");
+ else if (TREE_CODE (ce->index) == INTEGER_CST)
+ /* An index added by reshape_init. */
+ return true;
else
{
gcc_assert (TREE_CODE (ce->index) == IDENTIFIER_NODE);
elt_init = reshape_init_r (elt_type, d, /*first_initializer_p=*/false);
if (elt_init == error_mark_node)
return error_mark_node;
- CONSTRUCTOR_APPEND_ELT (CONSTRUCTOR_ELTS (new_init), NULL_TREE, elt_init);
+ CONSTRUCTOR_APPEND_ELT (CONSTRUCTOR_ELTS (new_init),
+ size_int (index), elt_init);
}
return new_init;