https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178
--- Comment #10 from Alejandro Colomar <alx at kernel dot org> ---
(In reply to Alejandro Colomar from comment #9)
> (In reply to Kees Cook from comment #7)
> > Could "nonstring" be applied to string literals? (Like the "u" suffix idea,
> > but this would be more backward-compatible.) For example, from the example
> > in comment #1:
> >
> > { "BOOP", ... }
> >
> > becomes:
> >
> > { "BOOT" __attribute__((nonstring)), ... }
> >
> > and now it doesn't have a NUL-byte terminator?
> >
> > That would allow for trivial adjustment of the initializers, and leave the
> > -Wunterminated-string-initialization not having do make exceptions.
>
> I think it's simpler to have -Wc++-compat warn about any uses of
> [[gnu::nonstring]] at all, since C++ does not want such thing. That would
> cover all cases of unterminated initializations (that wouldn't be otherwise
> warned), so would keep Andrew happy,
> I think. Does it, Andrew?