Hi! In this PR, the translators complained that this diagnostics is composed of two parts, one that can be translated and the other can't, and while ASCII and NUL probably don't need translation, character, embedded and non do.
The following patch just makes it two complete diagnostic messages that translators can translate as they wish. Tested with cross to x86_64-darwin, cc1 still builds. Ok for trunk? 2019-03-07 Jakub Jelinek <ja...@redhat.com> PR target/80190 * config/darwin.c: Include intl.h. (darwin_build_constant_cfstring): Improve i18n of diagnostics by not composing the message out of two separate parts. --- gcc/config/darwin.c.jj 2019-01-01 12:37:22.233891667 +0100 +++ gcc/config/darwin.c 2019-03-07 16:46:56.983799698 +0100 @@ -46,6 +46,7 @@ along with GCC; see the file COPYING3. #include "langhooks.h" #include "toplev.h" #include "lto-section-names.h" +#include "intl.h" /* Darwin supports a feature called fix-and-continue, which is used for rapid turn around debugging. When code is compiled with the @@ -3565,8 +3566,9 @@ darwin_build_constant_cfstring (tree str for (l = 0; l < length; l++) if (!s[l] || !isascii (s[l])) { - warning (darwin_warn_nonportable_cfstrings, "%s in CFString literal", - s[l] ? "non-ASCII character" : "embedded NUL"); + warning (darwin_warn_nonportable_cfstrings, + s[l] ? G_("non-ASCII character in CFString literal") + : G_("embedded NUL in CFString literal")); break; } } Jakub