https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109828
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> --- here is another example where we output a bogus `.zero` (though it does not ICE): struct s { int i; char c[]; }; const struct s *t = &(struct s) { .c = {'2','\0'}, }; We get: .size __compound_literal.0, 4 __compound_literal.0: .long 1 .byte 50 .byte 0 .zero 18446744073709551613 ;; -3 .zero 1