https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90938
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #0) > (write_expression): Trim trailing zero-initializers from arrays > of trivial type. I assume this is the problem. {} will default construct, but {0} does not, and should not be turned into default construction.