https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107926
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |12.1.0, 4.1.2 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Last reconfirmed| |2022-11-30 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Hmm, this could should have handled that: /* Handle superfluous braces around string cst as in char x[] = {"foo"}; */ if (string_flag && constructor_type && !was_designated && TREE_CODE (constructor_type) == ARRAY_TYPE && INTEGRAL_TYPE_P (TREE_TYPE (constructor_type)) && integer_zerop (constructor_unfilled_index)) { if (constructor_stack->replacement_value.value) error_init (loc, "excess elements in %<char%> array initializer"); constructor_stack->replacement_value = value; return; } But didn't for some reason ...