https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99275
Bug ID: 99275 Summary: missing space in 'argument missing terminating nul' Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: roland.illig at gmx dot de Target Milestone: --- builtins.c says: > warned = warning_at (loc, OPT_Wstringop_overread, > "%qsargument missing terminating nul", > fname); This confused me as the German translator. First, I thought that fname was a filename, which didn't make sense at all. It took me some minutes to find out that fname was supposed to be the function name, I would have expected fnname for that. Then I wondered why there is no space between %qs and 'argument'. Then I wondered how this missing space could have passed the test suite, as the test suite does contain several instances of dg-message for this diagnostic. The tricky point here is that there are two diagnostics that are almost the same, the other one uses %qD instead of %qs. A possible explanation for missing the missing space is that to avoid to test the varying quotes, that part of the diagnostic is generally not tested. But shouldn't the quotes in LC_ALL=C always be simple ASCII quotes, making this simple? While here, there's a typo in a comment in warn_string_no_nul: "the nuber of messages" should be "the number of messages".