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".

Reply via email to