https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100950
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So we hit
/* Check if a STRING_CST fits into the field.
Tolerate only the case when the NUL termination
does not fit into the field. */
static bool
check_string_literal (tree string, unsigned HOST_WIDE_INT size)
{
...
if (mem_size != size)
return false;
so in this case the NUL termination is missing. TREE_STRING_LENGTH is 1
but the field size is 2. The CTOR is
{"a", "b"}
and has a type of char[2][2]. Looks like a FE bug to me.