This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Locale failures on mips
- From: "H . J . Lu" <hjl at lucon dot org>
- To: Ulrich Drepper <drepper at redhat dot com>
- Cc: GNU C Library <libc-alpha at sources dot redhat dot com>
- Date: Mon, 21 Jan 2002 16:32:33 -0800
- Subject: Re: Locale failures on mips
- References: <20020121132531.A30886@lucon.org> <m34rlfthhk.fsf@myware.mynet>
On Mon, Jan 21, 2002 at 03:24:39PM -0800, Ulrich Drepper wrote:
> "H . J . Lu" <hjl@lucon.org> writes:
>
> > character map `UTF-8' is not ASCII compatible, locale not ISO C compliant
> >
> > with "make check" on mips. But I didn't see them on x86. What does it
> > mean?
>
> If UTF-8 is classified as not ASCII save this means the compiler is
> generating bad code.
>
Here is a patch to report incompatible ASCII char. On mips, I got
`SHIFT_JIS': ASCII: `\' (0x5c) != 0xa5
`SHIFT_JIS': ASCII: `~' (0x7e) != 0x203e
I double checked my x86 log. I also found
character map `SHIFT_JIS' is not ASCII compatible, locale not ISO C compliant
character map `BIG5' is not ASCII compatible, locale not ISO C compliant
character map `BIG5' is not ASCII compatible, locale not ISO C compliant
character map `BIG5' is not ASCII compatible, locale not ISO C compliant
character map `BIG5' is not ASCII compatible, locale not ISO C compliant
character map `test5' is not ASCII compatible, locale not ISO C compliant
character map `test6' is not ASCII compatible, locale not ISO C compliant
character map `UTF-8' is not ASCII compatible, locale not ISO C compliant
I checked localedata/charmaps/SHIFT_JIS. It seems the complain is
correct.
H.J.
----
2002-01-21 H.J. Lu <hjl@gnu.org>
* locale/programs/charmap.c (charmap_read): Report incompatible
ASCII char.
--- locale/programs/charmap.c.ascii Thu Jan 17 10:11:48 2002
+++ locale/programs/charmap.c Mon Jan 21 15:54:15 2002
@@ -242,7 +242,13 @@ charmap_read (const char *filename, int
struct charseq * seq = charmap_find_symbol (result, p, 1);
if (seq == NULL || seq->ucs4 != *p)
- failed = 1;
+ {
+ failed = 1;
+ if (!be_quiet)
+ error (0, 0, _("`%s': ASCII: `%c' (0x%x) != 0x%x"),
+ result->code_set_name,
+ *p, *p, seq ? seq->ucs4 : 0);
+ }
}
while (*p++ != '\0');