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: Zack Weinberg <zack at codesourcery dot com>
- To: fasbjx at free dot fr
- Cc: gcc-bugs at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org,debian-gcc at lists dot debian dot org
- Date: Thu, 20 Jun 2002 18:48:39 -0700
- Subject: Re: c++/7084: locale dependant ICE
- References: <20020621104925.19DC0759EB@alpha.tchume.net>
On Fri, Jun 21, 2002 at 12:49:25PM +0200, fasbjx@free.fr wrote:
> - with my default locale, fr_FR.ISO8859-1, GCC says:
> tmp.cc: Dans function « int main() »:
> tmp.cc:511: no match pour l'opérateur «
> erreur interne de compilateur: erreur pour rapporter une routine ré-entée
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?)
zw