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

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
I still can't reproduce on x86_64-linux, but looking at the above mentioned
line (in input.c from that date), there is:
    /* 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"))
      {
        s_singleton->m_num_iconv_errors++;
        return true;
      }

    /* Otherwise, we have an unexpected error.  */
    abort ();

The problem is that msgid the on_error callback receives is if ENABLE_NLS
already transformed on the libcpp side through
# define _(msgid) dgettext (PACKAGE, msgid)
and thus for de_DE.UTF-8 we'd need to search either for
"wird von iconv nicht unterstützt" or "not supported by iconv" depending on if
dgettext succeeded in translating it or not.

So, either we need to nuke this strstr and just never abort, nuke the test,
always force LC_ALL, LANGUAGE etc. env vars for self tests, or check if it has
been translated.

Reply via email to