https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85252
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- As for warning/error, we do accept static char a[1] = "a"; without warning, and emit a warning for static char a[1] = "ab"; warning: initializer-string for array of chars is too long and similarly emit a warning for a[0] = "a";