From a7085816dcd1a8a0bb5f9dfb8191e16e76ac205f Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 4 Jan 2017 08:53:30 +0100 Subject: [PATCH] re PR bootstrap/77569 (self tests fail when not using C locale) PR bootstrap/77569 * input.c (ebcdic_execution_charset::on_error): Don't use strstr for a substring of the message, but strcmp with the whole message. Ifdef ENABLE_NLS, translate the message first using dgettext. From-SVN: r244047 --- gcc/ChangeLog | 7 +++++++ gcc/input.c | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9c1965e..944ac44 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-01-04 Jakub Jelinek + + PR bootstrap/77569 + * input.c (ebcdic_execution_charset::on_error): Don't use strstr for + a substring of the message, but strcmp with the whole message. Ifdef + ENABLE_NLS, translate the message first using dgettext. + 2017-01-03 Jeff Law PR tree-optimizatin/78856 diff --git a/gcc/input.c b/gcc/input.c index 22cc74c..0294034 100644 --- a/gcc/input.c +++ b/gcc/input.c @@ -2026,9 +2026,14 @@ class ebcdic_execution_charset : public lexer_test_options ATTRIBUTE_FPTR_PRINTF(5,0) { gcc_assert (s_singleton); + /* Avoid exgettext from picking this up, it is translated in libcpp. */ + const char *msg = "conversion from %s to %s not supported by iconv"; +#ifdef ENABLE_NLS + msg = dgettext ("cpplib", msg); +#endif /* Detect and record errors emitted by libcpp/charset.c:init_iconv_desc when the local iconv build doesn't support the conversion. */ - if (strstr (msgid, "not supported by iconv")) + if (strcmp (msgid, msg) == 0) { s_singleton->m_num_iconv_errors++; return true; -- 2.7.4