http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59886
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Even the const there isn't needed. Anyway, the bug I think is that split_nonconstant_init_1 doesn't handle RANGE_EXPR field_index in the if (TREE_CODE (value) == CONSTRUCTOR) case (it handles it in the else if (!initializer_constant_valid_p (value, inner_type)) case).