https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119684
--- Comment #23 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:1f32b87117b0e2ecc33b844d929d723de3fe8085 commit r15-9366-g1f32b87117b0e2ecc33b844d929d723de3fe8085 Author: Jakub Jelinek <ja...@redhat.com> Date: Thu Apr 10 18:39:52 2025 +0200 c++: Use G_ instead of _ around cp/errors.cc gcc-internal-format strings [PR119684] These pp_printf/pp_verbatim format strings should be gcc-internal-format, they use the pretty-print.cc format specifier handling rather than libc *printf, but pp_printf/pp_verbatim are intentionally not handled through exgettext because not everything done through them should be translated (e.g. its use for dump files shouldn't be). In addition, composing translatable messages from "in requirements " and later on "with " might make it harder to be translated. I've verified these strings (at least those which don't use format specifiers added post GCC 4.3 which gettext doesn't handle) are properly marked as gcc-internal-format in gcc.pot. The lack of that caused ICEs on German translation of the "%s%s%sIn instantiation of %q#D:\n" message because it contained too many %s. 2025-04-10 Jakub Jelinek <ja...@redhat.com> PR translation/119684 * error.cc (cp_print_error_function): Use G_ instead of _ for pp_printf arguments. (function_category): Use G_ instead of _. (print_instantiation_full_context): Use G_ instead of _ in pp_verbatim arguments. (print_location): Likewise. (print_instantiation_partial_context): Likewise. (maybe_print_constexpr_context): Likewise. (print_constrained_decl_info): Use G_() around pp_verbatim argument. (print_concept_check_info): Likewise. (print_constraint_context_head): Likewise. (print_requires_expression_info): Likewise. Merge separate pp_verbatim "in requirements " and "with " into one with conditional messages.