https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117178
--- Comment #9 from Alejandro Colomar <alx at kernel dot org> ---
(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, so would keep Andrew happy, I
think. Does it, Andrew?