Patch: gen-table -vs- Unicode 3.1 (Was: Patch installed for gcc and java dir const-ification)

Tom Tromey tromey@redhat.com
Fri Dec 28 21:15:00 GMT 2001


>>>>> "Kaveh" == Kaveh R Ghazi <ghazi@caip.rutgers.edu> writes:

Kaveh> Sure.  But when I ran 3.0.1 through gen-table.pl the output was
Kaveh> vastly different from the old chartables.h.  It had a whole
Kaveh> bunch of (char*)0 extra lines and somehow a parsing error got
Kaveh> inserted so it wouldn't compile.  I think the gen-table.pl
Kaveh> script encounters some input that it didn't expect and doesn't
Kaveh> yield valid C code.

I looked into this.
gen-table doesn't expect any characters after \uffff, and the 3.0.1
tables include some entries in that range.
I'm checking in the appended.

Tom

Index: ChangeLog
from  Tom Tromey  <tromey@redhat.com>

	* gen-table.pl: Don't process characters after \uffff.  Added
	comment pointing to input file.

Index: gen-table.pl
===================================================================
RCS file: /cvs/gcc/gcc/gcc/java/gen-table.pl,v
retrieving revision 1.3
diff -u -r1.3 gen-table.pl
--- gen-table.pl 2001/12/28 22:27:29 1.3
+++ gen-table.pl 2001/12/29 02:15:40
@@ -1,6 +1,6 @@
 #! /usr/bin/perl
 
-#    Copyright (C) 2000 Free Software Foundation
+#    Copyright (C) 2000, 2001 Free Software Foundation
 
 #    This program is free software; you can redistribute it and/or modify
 #    it under the terms of the GNU General Public License as published by
@@ -20,10 +20,14 @@
 # gen-table.pl - Generate tables for gcj from Unicode data.
 # Usage: perl gen-table.pl DATA-FILE
 #
-# A suitable DATA-FILE is available at:
-# ftp://www.unicode.org/Public/3.0-Update/UnicodeData-3.0.0.txt
+# You can find the Unicode data file here:
+#   ftp://www.unicode.org/Public/3.0-Update1/UnicodeData-3.0.1.txt
+# Please update this URL when this program is used with a more
+# recent version of the table.  Note that this table cannot be
+# distributed with gcc.
+# This program should not be re-run indiscriminately.  Care must be
+# taken that what it generates is in sync with the Java specification.
 
-
 # Names of fields in Unicode data table.
 $CODE = 0;
 $NAME = 1;
@@ -80,6 +84,7 @@
     }
 
     $code = hex ($fields[$CODE]);
+    last if $code > 0xffff;
     if ($code > $last_code + 1)
     {
 	# Found a gap.



More information about the Gcc-patches mailing list