This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: c++/7084: locale dependant ICE
- From: martin at v dot loewis dot de (Martin v. Loewis)
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: fasbjx at free dot fr, gcc-bugs at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org, debian-gcc at lists dot debian dot org, robitail at IRO dot UMontreal dot CA
- Date: 21 Jun 2002 10:19:46 +0200
- Subject: Re: c++/7084: locale dependant ICE
- References: <20020621104925.19DC0759EB@alpha.tchume.net><20020621014839.GE31157@codesourcery.com>
I'm forwarding this to the French translator, Michel Robitaille.
Michel, can you please correct these errors and submit a new catalog?
> This would be a bug in fr.po:
>
> | #: cp/call.c:2834
> | msgid "%s for `%T %s' operator"
> | msgstr "%s pour l'opérateur «%T %s»"
> |
> | #: cp/call.c:2837
> | msgid "%s for `%T [%T]' operator"
> | msgstr "%s pour l'opérateur «%T [%T]»"
> |
> | #: cp/call.c:2842
> | msgid "%s for `%T %s %T' operator"
> | msgstr "%s pour l'opérateur «%t [%T]»"
> |
> | #: cp/call.c:2845
> | msgid "%s for `%s %T' operator"
> | msgstr "%s pour l'opérateur «%t [%T]»"
>
> You will notice that the translations do not match the messages, and
> that the escape sequences are wrong: in particular, a %t has
> appeared. This is not a defined %-escape, so we abort in the middle
> of generating the error message, which triggers the "ré-entée" message.
>
> Correct entries, presumably, would read
>
> | #: cp/call.c:2834
> | msgid "%s for `%T %s' operator"
> | msgstr "%s pour l'opérateur «%T %s»"
> |
> | #: cp/call.c:2837
> | msgid "%s for `%T [%T]' operator"
> | msgstr "%s pour l'opérateur «%T [%T]»"
> |
> | #: cp/call.c:2842
> | msgid "%s for `%T %s %T' operator"
> | msgstr "%s pour l'opérateur «%T %s %T»"
> |
> | #: cp/call.c:2845
> | msgid "%s for `%s %T' operator"
> | msgstr "%s pour l'opérateur «%s %T»"
>
> I am not sure what the protocol is for fixing such bugs. The
> corrections need to make it back to the translation project somehow,
> and the .po files need to be audited for other occurrences of this
> problem (why didn't msgfmt bitch?)
Because the messages are not marked c-format, and use format
specifiers that are not supported in C. I think the only option is to
implement a custom checker, as a post processor.
Regards,
Martin