https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90947
--- Comment #3 from Martin Sebor <msebor at gcc dot gnu.org> --- The root cause of the problem is that initializer_zerop (elt_init) doesn't differentiate between the empty string and a null pointer in the same initializer list and returns true for the CONSTRUCTOR ({"", 0}).