Locale failures on mips

H . J . Lu hjl@lucon.org
Mon Jan 21 16:32:00 GMT 2002


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');
 



More information about the Libc-alpha mailing list