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

--- Comment #13 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
So, looking through make gcc.pot warnings (I admittedly have quite old gettext
installed on that machine, 0.21), I see (filtered so that there is only one
message per each first unknown character per
gcc-internal-format/gfc-internal-format):
attribs.cc:2330: warning: Although being used in a format string position, the
msgid is not a valid GCC internal format string. Reason: In the directive
number 3, the character 'e' is not a valid conversion specifier.
diagnostic-path.cc:1174: warning: Although being used in a format string
position, the msgid is not a valid GCC internal format string. Reason: In the
directive number 1, the character '@' is not a valid conversion specifier.
gcc.cc:2420: warning: Although being used in a format string position, the
msgid is not a valid GCC internal format string. Reason: In the directive
number 2, the character 't' is not a valid conversion specifier.
gimple-ssa-sprintf.cc:3979: warning: Although being used in a format string
position, the msgid is not a valid GCC internal format string. Reason: In the
directive number 2, the character 'Z' is not a valid conversion specifier.
lto-wrapper.cc:1380: warning: Although being used in a format string position,
the msgid is not a valid GCC internal format string. Reason: In the directive
number 1, the character '{' is not a valid conversion specifier.
c/c-typeck.cc:6676: warning: Although being used in a format string position,
the msgid is not a valid GCC internal format string. Reason: In the directive
number 1, the character 'v' is not a valid conversion specifier.
cobol/cdf-copy.cc:109: warning: Although being used in a format string
position, the msgid is not a valid GCC internal format string. Reason: In the
directive number 1, the character 'z' is not a valid conversion specifier.
cobol/except.cc:53: warning: Although being used in a format string position,
the msgid is not a valid GCC internal format string. Reason: In the directive
number 1, the character '0' is not a valid conversion specifier.
cobol/genapi.cc:16419: warning: Although being used in a format string
position, the msgid is not a valid GCC internal format string. Reason: In the
directive number 2, the character '2' is not a valid conversion specifier.
cp/call.cc:3961: warning: Although being used in a format string position, the
msgid is not a valid GCC internal format string. Reason: In the directive
number 4, the character 'I' is not a valid conversion specifier.
cp/error.cc:3791: warning: Although being used in a format string position, the
msgid is not a valid GCC internal format string. Reason: In the directive
number 2, the character 'r' is not a valid conversion specifier.
cp/error.cc:3870: warning: Although being used in a format string position, the
msgid is not a valid GCC internal format string. Reason: In the directive
number 4, the character 'S' is not a valid conversion specifier.
cp/method.cc:3150: warning: Although being used in a format string position,
the msgid is not a valid GCC internal format string. Reason: In the directive
number 2, the character 'X' is not a valid conversion specifier.
fortran/check.cc:6868: warning: Although being used in a format string
position, the msgid is not a valid GCC internal format string. Reason: In the
directive number 2, the character 'z' is not a valid conversion specifier.
fortran/primary.cc:1296: warning: Although being used in a format string
position, the msgid is not a valid GCC internal format string. Reason: In the
directive number 1, the character 't' is not a valid conversion specifier.

I think e/@/t/z/Z/{/}/r/R have been covered earlier, so I think just v/I/S/X
are missing from the list.
The '0' and '2' are cobol bugs, file PR119695 separately.

Regarding v, c_tree_printer documents
   %D: a general decl,
   %E: an identifier or expression,
   %F: a function declaration,
   %T: a type.
   %V: a list of type qualifiers from a tree.
   %v: an explicit list of type qualifiers
   %#v: an explicit list of type qualifiers of a function type.
I'm sure gettext handles at least %D/%E/%T, the rest needs to be checked.
cp_printer documents
   %A   function argument-list.
   %C   tree code.
   %D   declaration.
   %E   expression.
   %F   function declaration.
   %H   type difference (from).
   %I   type difference (to).
   %L   language as used in extern "lang".
   %O   binary operator.
   %P   function parameter whose position is indicated by an integer.
   %Q   assignment operator.
   %S   substitution (template + args)
   %T   type.
   %V   cv-qualifier.
   %X   exception-specification.  */

Reply via email to