https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79921

            Bug ID: 79921
           Summary: missing translation for "...this statement, but the
                    latter is misleadingly indented"
           Product: gcc
           Version: 7.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: ---

from c-family/c-indentation.c:

if (warning_at (guard_tinfo.location, OPT_Wmisleading_indentation,
                "this %qs clause does not guard...",
                guard_tinfo_to_string (guard_tinfo)))
  inform (next_tinfo.location,
          ("...this statement, but the latter is misleadingly indented"
           " as if it were guarded by the %qs"),
          guard_tinfo_to_string (guard_tinfo));

The first string literal ("this %qs...") appears in the gcc.pot file and is
thus being translated. The second string literal ("...this statement") doesn't
appear in gcc.pot and therefore cannot be translated.

The cause may be the parentheses around the two string literals, which are
unnecessary.

In general, there should be a consistency check for cases like these, checking
that the argument to all calls to the i18n functions are string literals or
concatenations thereof. This check should flag the above one, as well as the
following code from s390.md:

    error ("invalid transaction abort code: " HOST_WIDE_INT_PRINT_DEC

Reply via email to