@node gcc-internal-format
@subsection GCC internal Format Strings
-These format strings are used inside the GCC sources. In such a format
-string, a directive starts with @samp{%}, is optionally followed by a
-size specifier @samp{l}, an optional flag @samp{+}, another optional flag
-@samp{#}, and is finished by a specifier: @samp{%} denotes a literal
-percent sign, @samp{c} denotes a character, @samp{s} denotes a string,
-@samp{i} and @samp{d} denote an integer, @samp{o}, @samp{u}, @samp{x}
-denote an unsigned integer, @samp{.*s} denotes a string preceded by a
-width specification, @samp{H} denotes a @samp{location_t *} pointer,
-@samp{D} denotes a general declaration, @samp{F} denotes a function
-declaration, @samp{T} denotes a type, @samp{A} denotes a function argument,
-@samp{C} denotes a tree code, @samp{E} denotes an expression, @samp{L}
-denotes a programming language, @samp{O} denotes a binary operator,
-@samp{P} denotes a function parameter, @samp{Q} denotes an assignment
-operator, @samp{V} denotes a const/volatile qualifier.
+These format strings are used inside the GCC sources.
+In such a format string,
+a directive starts with @samp{%},
+is optionally followed by a size specifier @samp{l} or @samp{ll}
+or @samp{w} or @samp{z} or @samp{t},
+an optional flag @samp{q} (indicates quotes),
+another optional flag @samp{+},
+another optional flag @samp{#},
+and is finished by a specifier:
+@itemize @bullet
+@item
+@samp{%} denotes a literal percent sign,
+@item
+@samp{<} denotes an opening quote,
+@item
+@samp{>} or @samp{'} denotes a closing quote,
+@item
+@samp{r} denotes the beginning of a colored text segment,
+@item
+@samp{R} denotes the end of a colored text segment,
+@item
+@samp{@{} denotes the beginning of a clickable text segment,
+@item
+@samp{@}} denotes the end of a clickable text segment,
+@item
+@samp{c} denotes a character,
+@item
+@samp{s} denotes a string,
+@item
+@samp{i} and @samp{d} denote an integer,
+@item
+@samp{o}, @samp{u}, @samp{x} denote an unsigned integer,
+@item
+@samp{f} denotes a floating-point number,
+@item
+@samp{.*s} denotes a string preceded by a width specification,
+@item
+@samp{D} denotes a general declaration,
+@item
+@samp{E} denotes an expression,
+@item
+@samp{F} denotes a function declaration,
+@item
+@samp{T} denotes a type,
+@item
+@samp{A} denotes a function argument,
+@item
+@samp{H} denotes the first type in a type difference,
+@item
+@samp{I} denotes the second type in a type difference,
+@item
+@samp{O} denotes a binary operator,
+@item
+@samp{P} denotes a function parameter index,
+@item
+@samp{Q} denotes an assignment operator,
+@item
+@samp{S} denotes a substitution,
+@item
+@samp{X} denotes an exception,
+@item
+@samp{V} or @samp{v} denotes a list of const/volatile qualifiers,
+@item
+@samp{C} denotes a tree code or the current locus,
+@item
+@samp{L} denotes a programming language or a locus,
+@item
+@samp{p}, @samp{@@}, @samp{e} denote
+various other types of compiler-internal objects,
+@item
+@samp{Z} denotes an array of integers.
+@end itemize
@node gfc-internal-format
@subsection GFC internal Format Strings
#define _(str) gettext (str)
/* GCC internal format strings consist of language frontend independent
- format directives, implemented in gcc-4.3.0/gcc/pretty-print.c (function
- pp_base_format), plus some frontend dependent extensions:
+ format directives, implemented in gcc-15.1.0/gcc/pretty-print.cc (method
+ pretty_printer::format), plus some frontend dependent extensions, activated
+ through set_format_decoder invocations:
+ - for frontend independent diagnostics
+ in gcc-15.1.0/gcc/tree-diagnostic.cc (function default_tree_printer)
- for the C/ObjC frontend
- in gcc-4.3.0/gcc/c-objc-common.c (function c_tree_printer)
+ in gcc-15.1.0/gcc/c/c-objc-common.cc (function c_tree_printer)
- for the C++ frontend
- in gcc-4.3.0/gcc/cp/error.c (function cp_printer)
+ in gcc-15.1.0/gcc/cp/error.cc (function cp_printer)
+ - for the Fortran frontend
+ in gcc-15.1.0/gcc/fortran/error.cc (function gfc_format_decoder)
Taking these together, GCC internal format strings are specified as follows.
A directive
- starts with '%',
- either is finished by one of these:
- - '%', '<', '>', "'", that need no argument,
+ - '%', '<', '>', '}', "'", 'R', that need no argument,
- 'm', that needs no argument but looks at an err_no variable,
- or is continued like this:
- optionally 'm$' where m is a positive integer,
- optionally any number of flags:
'q' (once only),
- 'l' (up to twice) or 'w' (once only) (exclusive),
+ 'l' (up to twice) or 'w' (once only) or 'z' (once only)
+ or 't' (once only) (exclusive),
'+' (once only),
'#' (once only),
- finished by a specifier
+ - 'r', that needs a color argument and expects a '%R' later,
+ - '{', that needs a URL argument and expects a '%}' later,
- 'c', that needs a character argument,
- 's', that needs a string argument,
- '.NNNs', where NNN is a nonempty digit sequence, that needs a
size,
- 'o', 'u', 'x', that need an unsigned integer argument of the
specified size,
+ - 'f', that needs a floating-point argument,
- 'p', that needs a 'void *' argument,
- - 'H', that needs a 'location_t *' argument,
- - 'J', that needs a general declaration argument,
- - 'K', that needs a statement argument,
- [see gcc/pretty-print.c]
+ - '@', that needs a 'diagnostic_event_id_t *' argument,
+ - 'e', that needs a 'pp_element *' argument,
+ - 'Z', that needs an 'int *' argument and an 'unsigned int' argument,
+ [see gcc/pretty-print.cc]
- 'D', that needs a general declaration argument,
+ - 'E', that needs an expression argument,
- 'F', that needs a function declaration argument,
- 'T', that needs a type argument,
- - 'E', that needs an expression argument,
- [see gcc/c-objc-common.c and gcc/cp/error.c]
+ [see gcc/tree-diagnostic.cc and gcc/c/c-objc-common.cc and
+ gcc/cp/error.cc]
+
+ - 'V', that needs a tree argument with a list of type qualifiers,
+ [see gcc/c/c-objc-common.cc and gcc/cp/error.cc]
+
+ - 'v', that needs a list of type qualifiers,
+ [see gcc/c/c-objc-common.cc]
- 'A', that needs a function argument list argument,
- - 'C', that needs a tree code argument,
- - 'L', that needs a language argument,
+ - 'H', that needs a type argument and prints it specially
+ (as first type of a type difference),
+ - 'I', that needs a type argument and prints it specially
+ (as second type of a type difference),
- 'O', that needs a binary operator argument,
- - 'P', that needs a function parameter argument,
+ - 'P', that needs a function parameter index argument,
- 'Q', that needs an assignment operator argument,
- - 'V', that needs a const/volatile qualifier argument.
- [see gcc/cp/error.c]
+ - 'S', that needs a substitution,
+ - 'X', that needs an exception,
+ [see gcc/cp/error.cc]
+
+ - 'C', that needs a tree code argument in the cp/ front end [IGNORE!]
+ but no argument in the fortran/ front end,
+ - 'L', that needs a language identifier argument in the cp/ front end
+ or a locus argument in the fortran/ front end,
+ [see gcc/cp/error.cc and gcc/fortran/error.cc]
+
+ Directives %< and %> should come in pairs; these pairs cannot be nested.
+ Directives %r and %R should come in pairs; these pairs cannot be nested.
+ Directives %{ and %} should come in pairs; these pairs cannot be nested.
Numbered ('%m$' or '*m$') and unnumbered argument specifications cannot
be used in the same string. */
/* Basic types */
FAT_INTEGER = 1,
FAT_CHAR = 2,
- FAT_STRING = 3,
- FAT_POINTER = 4,
- FAT_LOCATION = 5,
+ FAT_FLOAT = 3,
+ FAT_STRING = 4,
+ FAT_POINTER = 5,
FAT_TREE = 6,
FAT_TREE_CODE = 7,
- FAT_LANGUAGES = 8,
+ FAT_EVENT_ID = 8,
+ FAT_ELEMENT = 9,
+ FAT_LANGUAGE_OR_LOCUS = 10,
+ FAT_CV = 11,
+ FAT_INT_ARRAY_PART1 = 12,
+ FAT_INT_ARRAY_PART2 = 13,
+ FAT_COLOR = 14,
+ FAT_URL = 15,
/* Flags */
FAT_UNSIGNED = 1 << 4,
FAT_SIZE_LONG = 1 << 5,
FAT_SIZE_LONGLONG = 2 << 5,
FAT_SIZE_WIDE = 3 << 5,
- FAT_TREE_DECL = 1 << 7,
- FAT_TREE_STATEMENT = 2 << 7,
- FAT_TREE_FUNCDECL = 3 << 7,
- FAT_TREE_TYPE = 4 << 7,
- FAT_TREE_ARGUMENT = 5 << 7,
- FAT_TREE_EXPRESSION = 6 << 7,
- FAT_TREE_CV = 7 << 7,
- FAT_TREE_CODE_BINOP = 1 << 10,
- FAT_TREE_CODE_ASSOP = 2 << 10,
- FAT_FUNCPARAM = 1 << 12,
+ FAT_SIZE_SIZE = 4 << 5,
+ FAT_SIZE_PTRDIFF = 5 << 5,
+ FAT_TREE_DECL = 1 << 8,
+ FAT_TREE_STATEMENT = 2 << 8,
+ FAT_TREE_FUNCDECL = 3 << 8,
+ FAT_TREE_TYPE = 4 << 8,
+ FAT_TREE_TYPE_DIFF1 = 5 << 8,
+ FAT_TREE_TYPE_DIFF2 = 6 << 8,
+ FAT_TREE_ARGUMENT = 7 << 8,
+ FAT_TREE_EXPRESSION = 8 << 8,
+ FAT_TREE_CV = 9 << 8,
+ FAT_TREE_SUBSTITUTION = 10 << 8,
+ FAT_TREE_EXCEPTION = 11 << 8,
+ FAT_TREE_CODE_BINOP = 1 << 12,
+ FAT_TREE_CODE_ASSOP = 2 << 12,
+ FAT_FUNCPARAM = 1 << 14,
/* Bitmasks */
- FAT_SIZE_MASK = (FAT_SIZE_LONG | FAT_SIZE_LONGLONG | FAT_SIZE_WIDE)
+ FAT_SIZE_MASK = (FAT_SIZE_LONG | FAT_SIZE_LONGLONG
+ | FAT_SIZE_WIDE | FAT_SIZE_SIZE | FAT_SIZE_PTRDIFF)
};
#ifdef __cplusplus
typedef int format_arg_type_t;
unsigned int numbered_arg_count;
struct numbered_arg *numbered;
bool uses_err_no;
+ bool uses_current_locus;
};
spec.numbered_arg_count = 0;
spec.numbered = NULL;
spec.uses_err_no = false;
+ spec.uses_current_locus = false;
numbered_allocated = 0;
unnumbered_arg_count = 0;
spec.directives++;
if (*format == '%' || *format == '<' || *format == '>'
- || *format == '\'')
+ || *format == '}' || *format == '\'' || *format == 'R')
;
else if (*format == 'm')
spec.uses_err_no = true;
+ else if (*format == 'C')
+ spec.uses_current_locus = true;
else
{
unsigned int number = 0;
unsigned int flag_q = 0;
unsigned int flag_l = 0;
unsigned int flag_w = 0;
+ unsigned int flag_z = 0;
+ unsigned int flag_t = 0;
unsigned int flag_plus = 0;
unsigned int flag_sharp = 0;
format_arg_type_t size;
flag_q = 1;
continue;
case 'l':
- if (flag_l > 1 || flag_w)
+ if (flag_l > 1 || flag_w || flag_z || flag_t)
goto invalid_flags;
flag_l++;
continue;
case 'w':
- if (flag_w > 0 || flag_l)
+ if (flag_l || flag_w || flag_z || flag_t)
goto invalid_flags;
flag_w = 1;
continue;
+ case 'z':
+ if (flag_l || flag_w || flag_z || flag_t)
+ goto invalid_flags;
+ flag_z = 1;
+ continue;
+ case 't':
+ if (flag_l || flag_w || flag_z || flag_t)
+ goto invalid_flags;
+ flag_t = 1;
+ continue;
case '+':
if (flag_plus > 0)
goto invalid_flags;
size = (flag_l == 2 ? FAT_SIZE_LONGLONG :
flag_l == 1 ? FAT_SIZE_LONG :
flag_w ? FAT_SIZE_WIDE :
+ flag_z ? FAT_SIZE_SIZE :
+ flag_t ? FAT_SIZE_PTRDIFF :
0);
if (*format == 'c')
type = FAT_INTEGER | size;
else if (*format == 'o' || *format == 'u' || *format == 'x')
type = FAT_INTEGER | FAT_UNSIGNED | size;
+ else if (*format == 'f')
+ type = FAT_FLOAT;
else if (*format == 'p')
type = FAT_POINTER;
- else if (*format == 'H')
- type = FAT_LOCATION;
- else if (*format == 'J')
+ else if (*format == '@')
+ type = FAT_EVENT_ID;
+ else if (*format == 'e')
+ type = FAT_ELEMENT;
+ else if (*format == 'v')
+ type = FAT_CV;
+ else if (*format == 'Z')
+ type = FAT_INT_ARRAY_PART1;
+ else if (*format == 'r')
+ type = FAT_COLOR;
+ else if (*format == '{')
+ type = FAT_URL;
+ else if (*format == 'D')
type = FAT_TREE | FAT_TREE_DECL;
- else if (*format == 'K')
- type = FAT_TREE | FAT_TREE_STATEMENT;
+ else if (*format == 'F')
+ type = FAT_TREE | FAT_TREE_FUNCDECL;
+ else if (*format == 'T')
+ type = FAT_TREE | FAT_TREE_TYPE;
+ else if (*format == 'H')
+ type = FAT_TREE | FAT_TREE_TYPE_DIFF1;
+ else if (*format == 'I')
+ type = FAT_TREE | FAT_TREE_TYPE_DIFF2;
+ else if (*format == 'E')
+ type = FAT_TREE | FAT_TREE_EXPRESSION;
+ else if (*format == 'A')
+ type = FAT_TREE | FAT_TREE_ARGUMENT;
+ else if (*format == 'C')
+ type = FAT_TREE_CODE;
+ else if (*format == 'L')
+ type = FAT_LANGUAGE_OR_LOCUS;
+ else if (*format == 'O')
+ type = FAT_TREE_CODE | FAT_TREE_CODE_BINOP;
+ else if (*format == 'P')
+ type = FAT_INTEGER | FAT_FUNCPARAM;
+ else if (*format == 'Q')
+ type = FAT_TREE_CODE | FAT_TREE_CODE_ASSOP;
+ else if (*format == 'V')
+ type = FAT_TREE | FAT_TREE_CV;
+ else if (*format == 'S')
+ type = FAT_TREE | FAT_TREE_SUBSTITUTION;
+ else if (*format == 'X')
+ type = FAT_TREE | FAT_TREE_EXCEPTION;
else
{
- if (*format == 'D')
- type = FAT_TREE | FAT_TREE_DECL;
- else if (*format == 'F')
- type = FAT_TREE | FAT_TREE_FUNCDECL;
- else if (*format == 'T')
- type = FAT_TREE | FAT_TREE_TYPE;
- else if (*format == 'E')
- type = FAT_TREE | FAT_TREE_EXPRESSION;
- else if (*format == 'A')
- type = FAT_TREE | FAT_TREE_ARGUMENT;
- else if (*format == 'C')
- type = FAT_TREE_CODE;
- else if (*format == 'L')
- type = FAT_LANGUAGES;
- else if (*format == 'O')
- type = FAT_TREE_CODE | FAT_TREE_CODE_BINOP;
- else if (*format == 'P')
- type = FAT_INTEGER | FAT_FUNCPARAM;
- else if (*format == 'Q')
- type = FAT_TREE_CODE | FAT_TREE_CODE_ASSOP;
- else if (*format == 'V')
- type = FAT_TREE | FAT_TREE_CV;
+ if (*format == '\0')
+ {
+ *invalid_reason = INVALID_UNTERMINATED_DIRECTIVE ();
+ FDI_SET (format - 1, FMTDIR_ERROR);
+ }
else
{
- if (*format == '\0')
- {
- *invalid_reason = INVALID_UNTERMINATED_DIRECTIVE ();
- FDI_SET (format - 1, FMTDIR_ERROR);
- }
- else
- {
- *invalid_reason =
- (*format == 'c'
- || *format == 's'
- || *format == 'i' || *format == 'd'
- || *format == 'o' || *format == 'u' || *format == 'x'
- || *format == 'H'
- ? xasprintf (_("In the directive number %u, flags are not allowed before '%c'."), spec.directives, *format)
- : INVALID_CONVERSION_SPECIFIER (spec.directives,
- *format));
- FDI_SET (format, FMTDIR_ERROR);
- }
- goto bad_format;
+ *invalid_reason =
+ INVALID_CONVERSION_SPECIFIER (spec.directives, *format);
+ FDI_SET (format, FMTDIR_ERROR);
}
+ goto bad_format;
}
if (number)
spec.numbered[spec.numbered_arg_count].number = number;
spec.numbered[spec.numbered_arg_count].type = type;
spec.numbered_arg_count++;
+
+ if (type == FAT_INT_ARRAY_PART1)
+ {
+ if (numbered_allocated == spec.numbered_arg_count)
+ {
+ numbered_allocated = 2 * numbered_allocated + 1;
+ spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
+ }
+ spec.numbered[spec.numbered_arg_count].number = number + 1;
+ spec.numbered[spec.numbered_arg_count].type = FAT_INT_ARRAY_PART2;
+ spec.numbered_arg_count++;
+ }
}
else
{
spec.numbered[unnumbered_arg_count].number = unnumbered_arg_count + 1;
spec.numbered[unnumbered_arg_count].type = type;
unnumbered_arg_count++;
+
+ if (type == FAT_INT_ARRAY_PART1)
+ {
+ if (numbered_allocated == unnumbered_arg_count)
+ {
+ numbered_allocated = 2 * numbered_allocated + 1;
+ spec.numbered = (struct numbered_arg *) xrealloc (spec.numbered, numbered_allocated * sizeof (struct numbered_arg));
+ }
+ spec.numbered[unnumbered_arg_count].number = unnumbered_arg_count + 1;
+ spec.numbered[unnumbered_arg_count].type = FAT_INT_ARRAY_PART2;
+ unnumbered_arg_count++;
+ }
}
}
err = true;
}
+ /* Check that the use of current_locus is the same. */
+ if (spec1->uses_current_locus != spec2->uses_current_locus)
+ {
+ if (error_logger)
+ {
+ if (spec1->uses_current_locus)
+ error_logger (error_logger_data,
+ _("'%s' uses %%C but '%s' doesn't"),
+ pretty_msgid, pretty_msgstr);
+ else
+ error_logger (error_logger_data,
+ _("'%s' does not use %%C but '%s' uses %%C"),
+ pretty_msgid, pretty_msgstr);
+ }
+ err = true;
+ }
+
return err;
}
case FAT_SIZE_WIDE:
printf ("[host-wide]");
break;
+ case FAT_SIZE_SIZE:
+ printf ("[host-size_t]");
+ break;
+ case FAT_SIZE_PTRDIFF:
+ printf ("[host-ptrdiff_t]");
+ break;
default:
abort ();
}
case FAT_CHAR:
printf ("c");
break;
+ case FAT_FLOAT:
+ printf ("f");
+ break;
case FAT_STRING:
printf ("s");
break;
case FAT_POINTER:
printf ("p");
break;
- case FAT_LOCATION:
- printf ("H");
+ case FAT_EVENT_ID:
+ printf ("@");
+ break;
+ case FAT_ELEMENT:
+ printf ("e");
+ break;
+ case FAT_CV:
+ printf ("v");
+ break;
+ case FAT_INT_ARRAY_PART1:
+ printf ("Z1");
+ break;
+ case FAT_INT_ARRAY_PART2:
+ printf ("Z2");
+ break;
+ case FAT_COLOR:
+ printf ("r");
+ break;
+ case FAT_URL:
+ printf ("{");
break;
case FAT_TREE | FAT_TREE_DECL:
printf ("D");
case FAT_TREE | FAT_TREE_TYPE:
printf ("T");
break;
+ case FAT_TREE | FAT_TREE_TYPE_DIFF1:
+ printf ("H");
+ break;
+ case FAT_TREE | FAT_TREE_TYPE_DIFF2:
+ printf ("I");
+ break;
case FAT_TREE | FAT_TREE_ARGUMENT:
printf ("A");
break;
case FAT_TREE | FAT_TREE_CV:
printf ("V");
break;
+ case FAT_TREE | FAT_TREE_SUBSTITUTION:
+ printf ("S");
+ break;
+ case FAT_TREE | FAT_TREE_EXCEPTION:
+ printf ("X");
+ break;
case FAT_TREE_CODE:
printf ("C");
break;
case FAT_TREE_CODE | FAT_TREE_CODE_ASSOP:
printf ("Q");
break;
- case FAT_LANGUAGES:
+ case FAT_LANGUAGE_OR_LOCUS:
printf ("L");
break;
default:
printf (")");
if (spec->uses_err_no)
printf (" ERR_NO");
+ if (spec->uses_current_locus)
+ printf (" CURRENT_LOCUS");
}
int
# Valid: no argument
"abc%>"
# Valid: no argument
+"abc%}"
+# Valid: no argument
"abc%'"
# Valid: no argument
+"abc%R"
+# Valid: no argument
"abc%m"
+# Valid: one color argument
+"abc%r"
+# Valid: one URL argument
+"abc%{"
# Valid: one character argument
"abc%c"
# Valid: one string argument
"abc%x"
# Valid: one integer and one string argument
"abc%.*s"
+# Valid: one floating-point argument
+"abc%f"
# Valid: one pointer argument
"abc%p"
# Valid: one pointer argument
-"abc%H"
+"abc%@"
# Valid: one pointer argument
-"%J"
-# Valid: %J not at start
-"abc%J"
-# Valid: %J with flags
-"%qJ"
-# Valid: %K with flags
-"%qK"
+"abc%e"
+# Valid: one pointer and one pointer argument
+"abc%Z"
# Valid: one pointer argument
"abc%D"
# Valid: one pointer argument
+"abc%E"
+# Valid: one pointer argument
"abc%F"
# Valid: one pointer argument
"abc%T"
# Valid: one pointer argument
-"abc%A"
-# Valid: one pointer argument
-"abc%C"
+"abc%V"
# Valid: one pointer argument
-"abc%E"
+"abc%v"
# Valid: one pointer argument
-"abc%L"
+"abc%A"
+# Valid: two pointer arguments
+"abc%H-%I"
# Valid: one pointer argument
"abc%O"
# Valid: one pointer argument
# Valid: one pointer argument
"abc%Q"
# Valid: one pointer argument
-"abc%V"
+"abc%S"
+# Valid: one pointer argument
+"abc%X"
+# Valid: possibly one pointer argument
+"abc%C"
+# Valid: one pointer argument
+"abc%L"
# Valid: one argument with flags
"abc%qdef"
# Valid: one argument with flags
"abc%llli"
# Valid: one argument with size specifier
"abc%wi"
+# Valid: one argument with size specifier
+"abc%zi"
+# Valid: one argument with size specifier
+"abc%ti"
# Invalid: unterminated
"abc%"
# Invalid: unknown format specifier
msgid "abc%%def"
msgstr "xyz%"
# Valid: same arguments
-msgid "abc%s%Hdef"
-msgstr "xyz%s%H"
+msgid "abc%s%Ddef"
+msgstr "xyz%s%D"
# Valid: same arguments, with different flags
-msgid "abc%s%Hdef"
-msgstr "xyz%qs%qH"
+msgid "abc%s%Ddef"
+msgstr "xyz%qs%qD"
# Valid: same arguments, with different widths
msgid "abc%.*sdef"
msgstr "xyz%i%s"
msgid "abc%u"
msgstr "xyz%x"
# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%{"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%c"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%s"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%i"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%u"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%f"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%p"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%Z"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%D"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%F"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%T"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%V"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%r"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%c"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%s"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%i"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%u"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%f"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%p"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%Z"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%D"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%F"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%T"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%V"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%{"
+msgstr "xyz%L"
+# Invalid: type incompatibility
msgid "abc%c"
msgstr "xyz%s"
# Invalid: type incompatibility
msgstr "xyz%u"
# Invalid: type incompatibility
msgid "abc%c"
+msgstr "xyz%f"
+# Invalid: type incompatibility
+msgid "abc%c"
msgstr "xyz%p"
# Invalid: type incompatibility
msgid "abc%c"
-msgstr "xyz%H"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%c"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%c"
+msgstr "xyz%Z"
# Invalid: type incompatibility
msgid "abc%c"
msgstr "xyz%D"
# Invalid: type incompatibility
msgid "abc%c"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%c"
msgstr "xyz%F"
# Invalid: type incompatibility
msgid "abc%c"
msgstr "xyz%T"
# Invalid: type incompatibility
msgid "abc%c"
-msgstr "xyz%A"
+msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%c"
-msgstr "xyz%C"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%c"
-msgstr "xyz%E"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%c"
-msgstr "xyz%L"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%c"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%c"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%c"
-msgstr "xyz%V"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%c"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%c"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%c"
+msgstr "xyz%L"
# Invalid: type incompatibility
msgid "abc%s"
msgstr "xyz%i"
msgstr "xyz%u"
# Invalid: type incompatibility
msgid "abc%s"
+msgstr "xyz%f"
+# Invalid: type incompatibility
+msgid "abc%s"
msgstr "xyz%p"
# Invalid: type incompatibility
msgid "abc%s"
-msgstr "xyz%H"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%s"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%s"
+msgstr "xyz%Z"
# Invalid: type incompatibility
msgid "abc%s"
msgstr "xyz%D"
# Invalid: type incompatibility
msgid "abc%s"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%s"
msgstr "xyz%F"
# Invalid: type incompatibility
msgid "abc%s"
msgstr "xyz%T"
# Invalid: type incompatibility
msgid "abc%s"
-msgstr "xyz%A"
+msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%s"
-msgstr "xyz%C"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%s"
-msgstr "xyz%E"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%s"
-msgstr "xyz%L"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%s"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%s"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%s"
-msgstr "xyz%V"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%s"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%s"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%s"
+msgstr "xyz%L"
# Invalid: type incompatibility
msgid "abc%i"
msgstr "xyz%u"
# Invalid: type incompatibility
msgid "abc%i"
+msgstr "xyz%f"
+# Invalid: type incompatibility
+msgid "abc%i"
msgstr "xyz%p"
# Invalid: type incompatibility
msgid "abc%i"
-msgstr "xyz%H"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%i"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%i"
+msgstr "xyz%Z"
# Invalid: type incompatibility
msgid "abc%i"
msgstr "xyz%D"
# Invalid: type incompatibility
msgid "abc%i"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%i"
msgstr "xyz%F"
# Invalid: type incompatibility
msgid "abc%i"
msgstr "xyz%T"
# Invalid: type incompatibility
msgid "abc%i"
-msgstr "xyz%A"
+msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%i"
-msgstr "xyz%C"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%i"
-msgstr "xyz%E"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%i"
-msgstr "xyz%L"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%i"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%i"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%i"
-msgstr "xyz%V"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%i"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%i"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%i"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%u"
+msgstr "xyz%f"
# Invalid: type incompatibility
msgid "abc%u"
msgstr "xyz%p"
# Invalid: type incompatibility
msgid "abc%u"
-msgstr "xyz%H"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%u"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%u"
+msgstr "xyz%Z"
# Invalid: type incompatibility
msgid "abc%u"
msgstr "xyz%D"
# Invalid: type incompatibility
msgid "abc%u"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%u"
msgstr "xyz%F"
# Invalid: type incompatibility
msgid "abc%u"
msgstr "xyz%T"
# Invalid: type incompatibility
msgid "abc%u"
-msgstr "xyz%A"
+msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%u"
-msgstr "xyz%C"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%u"
-msgstr "xyz%E"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%u"
-msgstr "xyz%L"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%u"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%u"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%u"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%u"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%u"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%u"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%p"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%Z"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%D"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%F"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%T"
+# Invalid: type incompatibility
+msgid "abc%f"
msgstr "xyz%V"
# Invalid: type incompatibility
-msgid "abc%p"
+msgid "abc%f"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%f"
msgstr "xyz%H"
# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%f"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%p"
+msgstr "xyz%@"
+# Invalid: type incompatibility
+msgid "abc%p"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%p"
+msgstr "xyz%Z"
+# Invalid: type incompatibility
msgid "abc%p"
msgstr "xyz%D"
# Invalid: type incompatibility
msgid "abc%p"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%p"
msgstr "xyz%F"
# Invalid: type incompatibility
msgid "abc%p"
msgstr "xyz%T"
# Invalid: type incompatibility
msgid "abc%p"
-msgstr "xyz%A"
+msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%p"
-msgstr "xyz%C"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%p"
-msgstr "xyz%E"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%p"
-msgstr "xyz%L"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%p"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%p"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%p"
-msgstr "xyz%V"
+msgstr "xyz%S"
# Invalid: type incompatibility
-msgid "abc%H"
-msgstr "xyz%D"
+msgid "abc%p"
+msgstr "xyz%X"
# Invalid: type incompatibility
-msgid "abc%H"
-msgstr "xyz%F"
+msgid "abc%p"
+msgstr "xyz%C"
# Invalid: type incompatibility
-msgid "abc%H"
-msgstr "xyz%T"
+msgid "abc%p"
+msgstr "xyz%L"
# Invalid: type incompatibility
-msgid "abc%H"
+msgid "abc%@"
+msgstr "xyz%e"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%Z"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%D"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%F"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%T"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%V"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%@"
msgstr "xyz%A"
# Invalid: type incompatibility
-msgid "abc%H"
+msgid "abc%@"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%@"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%@"
msgstr "xyz%C"
# Invalid: type incompatibility
-msgid "abc%H"
+msgid "abc%@"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%Z"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%D"
+# Invalid: type incompatibility
+msgid "abc%e"
msgstr "xyz%E"
# Invalid: type incompatibility
-msgid "abc%H"
-msgstr "xyz%L"
+msgid "abc%e"
+msgstr "xyz%F"
# Invalid: type incompatibility
-msgid "abc%H"
+msgid "abc%e"
+msgstr "xyz%T"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%V"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%e"
msgstr "xyz%O"
# Invalid: type incompatibility
-msgid "abc%H"
+msgid "abc%e"
msgstr "xyz%P"
# Invalid: type incompatibility
-msgid "abc%H"
+msgid "abc%e"
msgstr "xyz%Q"
# Invalid: type incompatibility
-msgid "abc%H"
+msgid "abc%e"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%e"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%D"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%E"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%F"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%T"
+# Invalid: type incompatibility
+msgid "abc%Z"
msgstr "xyz%V"
# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%Z"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%D"
+msgstr "xyz%E"
+# Invalid: type incompatibility
msgid "abc%D"
msgstr "xyz%F"
# Invalid: type incompatibility
msgstr "xyz%T"
# Invalid: type incompatibility
msgid "abc%D"
-msgstr "xyz%A"
+msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%D"
-msgstr "xyz%C"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%D"
-msgstr "xyz%E"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%D"
-msgstr "xyz%L"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%D"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%D"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%D"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%D"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%D"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%D"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%F"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%T"
+# Invalid: type incompatibility
+msgid "abc%E"
msgstr "xyz%V"
# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%E"
+msgstr "xyz%L"
+# Invalid: type incompatibility
msgid "abc%F"
msgstr "xyz%T"
# Invalid: type incompatibility
msgid "abc%F"
-msgstr "xyz%A"
+msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%F"
-msgstr "xyz%C"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%F"
-msgstr "xyz%E"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%F"
-msgstr "xyz%L"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%F"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%F"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%F"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%F"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%F"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%F"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%T"
msgstr "xyz%V"
# Invalid: type incompatibility
msgid "abc%T"
-msgstr "xyz%A"
+msgstr "xyz%v"
# Invalid: type incompatibility
msgid "abc%T"
-msgstr "xyz%C"
+msgstr "xyz%A"
# Invalid: type incompatibility
msgid "abc%T"
-msgstr "xyz%E"
+msgstr "xyz%H"
# Invalid: type incompatibility
msgid "abc%T"
-msgstr "xyz%L"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%T"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%T"
-msgstr "xyz%V"
+msgstr "xyz%S"
# Invalid: type incompatibility
-msgid "abc%A"
+msgid "abc%T"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%T"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%T"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%v"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%V"
msgstr "xyz%C"
# Invalid: type incompatibility
+msgid "abc%V"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%A"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%H"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%O"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%P"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%Q"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%v"
+msgstr "xyz%L"
+# Invalid: type incompatibility
msgid "abc%A"
-msgstr "xyz%E"
+msgstr "xyz%H"
# Invalid: type incompatibility
msgid "abc%A"
-msgstr "xyz%L"
+msgstr "xyz%I"
# Invalid: type incompatibility
msgid "abc%A"
msgstr "xyz%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%A"
-msgstr "xyz%V"
+msgstr "xyz%S"
# Invalid: type incompatibility
-msgid "abc%C"
-msgstr "xyz%E"
+msgid "abc%A"
+msgstr "xyz%X"
# Invalid: type incompatibility
-msgid "abc%C"
+msgid "abc%A"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%A"
msgstr "xyz%L"
# Invalid: type incompatibility
-msgid "abc%C"
+msgid "abc%H"
+msgstr "xyz%I"
+# Invalid: type incompatibility
+msgid "abc%H"
msgstr "xyz%O"
# Invalid: type incompatibility
-msgid "abc%C"
+msgid "abc%H"
msgstr "xyz%P"
# Invalid: type incompatibility
-msgid "abc%C"
+msgid "abc%H"
msgstr "xyz%Q"
# Invalid: type incompatibility
-msgid "abc%C"
-msgstr "xyz%V"
+msgid "abc%H"
+msgstr "xyz%S"
# Invalid: type incompatibility
-msgid "abc%E"
+msgid "abc%H"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%H"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%H"
msgstr "xyz%L"
# Invalid: type incompatibility
-msgid "abc%E"
+msgid "abc%I"
msgstr "xyz%O"
# Invalid: type incompatibility
-msgid "abc%E"
+msgid "abc%I"
msgstr "xyz%P"
# Invalid: type incompatibility
-msgid "abc%E"
+msgid "abc%I"
msgstr "xyz%Q"
# Invalid: type incompatibility
-msgid "abc%E"
-msgstr "xyz%V"
+msgid "abc%I"
+msgstr "xyz%S"
# Invalid: type incompatibility
-msgid "abc%L"
-msgstr "xyz%O"
+msgid "abc%I"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%I"
+msgstr "xyz%C"
# Invalid: type incompatibility
-msgid "abc%L"
+msgid "abc%I"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%O"
msgstr "xyz%P"
# Invalid: type incompatibility
-msgid "abc%L"
+msgid "abc%O"
msgstr "xyz%Q"
# Invalid: type incompatibility
-msgid "abc%L"
-msgstr "xyz%V"
+msgid "abc%O"
+msgstr "xyz%S"
# Invalid: type incompatibility
msgid "abc%O"
-msgstr "xyz%P"
+msgstr "xyz%X"
# Invalid: type incompatibility
msgid "abc%O"
-msgstr "xyz%Q"
+msgstr "xyz%C"
# Invalid: type incompatibility
msgid "abc%O"
-msgstr "xyz%V"
+msgstr "xyz%L"
# Invalid: type incompatibility
msgid "abc%P"
msgstr "xyz%Q"
# Invalid: type incompatibility
msgid "abc%P"
-msgstr "xyz%V"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%P"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%P"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%P"
+msgstr "xyz%L"
# Invalid: type incompatibility
msgid "abc%Q"
-msgstr "xyz%V"
+msgstr "xyz%S"
+# Invalid: type incompatibility
+msgid "abc%Q"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%Q"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%Q"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%S"
+msgstr "xyz%X"
+# Invalid: type incompatibility
+msgid "abc%S"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%S"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%X"
+msgstr "xyz%C"
+# Invalid: type incompatibility
+msgid "abc%X"
+msgstr "xyz%L"
+# Invalid: type incompatibility
+msgid "abc%C"
+msgstr "xyz%L"
# Invalid: type incompatibility due to size
msgid "abc%i"
msgstr "xyz%li"
msgid "abc%i"
msgstr "xyz%wi"
# Invalid: type incompatibility due to size
+msgid "abc%i"
+msgstr "xyz%zi"
+# Invalid: type incompatibility due to size
+msgid "abc%i"
+msgstr "xyz%ti"
+# Invalid: type incompatibility due to size
msgid "abc%li"
msgstr "xyz%lli"
# Invalid: type incompatibility due to size
msgid "abc%li"
msgstr "xyz%wi"
# Invalid: type incompatibility due to size
+msgid "abc%li"
+msgstr "xyz%zi"
+# Invalid: type incompatibility due to size
+msgid "abc%li"
+msgstr "xyz%ti"
+# Invalid: type incompatibility due to size
msgid "abc%lli"
msgstr "xyz%wi"
+# Invalid: type incompatibility due to size
+msgid "abc%lli"
+msgstr "xyz%zi"
+# Invalid: type incompatibility due to size
+msgid "abc%lli"
+msgstr "xyz%ti"
+# Invalid: type incompatibility due to size
+msgid "abc%wi"
+msgstr "xyz%zi"
+# Invalid: type incompatibility due to size
+msgid "abc%wi"
+msgstr "xyz%ti"
+# Invalid: type incompatibility due to size
+msgid "abc%zi"
+msgstr "xyz%ti"
# Invalid: type incompatibility for width
msgid "abc%.*s"
msgstr "xyz%u%s"