diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-15 02:15:26 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-11-15 02:15:26 +0000 |
commit | ceaeebbe61c0c92d66bbdc874affdac627ed00c0 (patch) | |
tree | d26eaaa50edd17c67b05e5d9b935a5dceef179b1 /libcpp | |
parent | aaf3cf814ef740b5921f565db9d6b41d935c3636 (diff) | |
download | gcc-ceaeebbe61c0c92d66bbdc874affdac627ed00c0.tar.gz |
gcc/testsuite:
* gcc.dg/cpp/ucnid-9.c: New test.
libcpp:
* ucnid.tab: Mark C99 digits as [C99DIG].
* makeucnid.c (read_ucnid): Handle [C99DIG].
(read_table): Don't check for digit characters.
* ucnid.h: Regenerate.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204835 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp')
-rw-r--r-- | libcpp/ChangeLog | 7 | ||||
-rw-r--r-- | libcpp/makeucnid.c | 16 | ||||
-rw-r--r-- | libcpp/ucnid.h | 9 | ||||
-rw-r--r-- | libcpp/ucnid.tab | 2 |
4 files changed, 19 insertions, 15 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 64de79b287c..efbfe233c40 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,10 @@ +2013-11-15 Joseph Myers <joseph@codesourcery.com> + + * ucnid.tab: Mark C99 digits as [C99DIG]. + * makeucnid.c (read_ucnid): Handle [C99DIG]. + (read_table): Don't check for digit characters. + * ucnid.h: Regenerate. + 2013-11-06 Tobias Burnus <burnus@net-b.de> * macro.c (_cpp_builtin_macro_text): Correct diff --git a/libcpp/makeucnid.c b/libcpp/makeucnid.c index 4e3f76d551d..da060655953 100644 --- a/libcpp/makeucnid.c +++ b/libcpp/makeucnid.c @@ -66,6 +66,8 @@ read_ucnid (const char *fname) break; if (strcmp (line, "[C99]\n") == 0) fl = C99; + if (strcmp (line, "[C99DIG]\n") == 0) + fl = C99|digit; else if (strcmp (line, "[CXX]\n") == 0) fl = CXX; else if (isxdigit (line[0])) @@ -104,10 +106,10 @@ read_ucnid (const char *fname) fclose (f); } -/* Read UnicodeData.txt and set the 'digit' flag, and - also fill in the 'decomp' table to be the decompositions of - characters for which both the character decomposed and all the code - points in the decomposition are either C99 or CXX. */ +/* Read UnicodeData.txt and fill in the 'decomp' table to be the + decompositions of characters for which both the character + decomposed and all the code points in the decomposition are either + C99 or CXX. */ static void read_table (char *fname) @@ -135,11 +137,7 @@ read_table (char *fname) do { l++; } while (*l != ';'); - /* Category value; things starting with 'N' are numbers of some - kind. */ - if (*++l == 'N') - flags[codepoint] |= digit; - + /* Category value. */ do { l++; } while (*l != ';'); diff --git a/libcpp/ucnid.h b/libcpp/ucnid.h index 8d6434a569a..d049cc70b9e 100644 --- a/libcpp/ucnid.h +++ b/libcpp/ucnid.h @@ -714,13 +714,12 @@ { 0| 0| 0|CID|NFC|NKC| 0, 0, 0x2132 }, { C99| 0| 0|CID|NFC| 0| 0, 0, 0x2138 }, { 0| 0| 0|CID|NFC| 0| 0, 0, 0x215f }, -{ C99|DIG| 0|CID|NFC| 0| 0, 0, 0x217f }, -{ C99|DIG| 0|CID|NFC|NKC| 0, 0, 0x2182 }, +{ C99| 0| 0|CID|NFC| 0| 0, 0, 0x217f }, +{ C99| 0| 0|CID|NFC|NKC| 0, 0, 0x2182 }, { 0| 0| 0|CID|NFC|NKC| 0, 0, 0x3004 }, -{ C99| 0| 0|CID|NFC|NKC| 0, 0, 0x3006 }, -{ C99|DIG| 0|CID|NFC|NKC| 0, 0, 0x3007 }, +{ C99| 0| 0|CID|NFC|NKC| 0, 0, 0x3007 }, { 0| 0| 0|CID|NFC|NKC| 0, 0, 0x3020 }, -{ C99|DIG| 0|CID|NFC|NKC| 0, 0, 0x3029 }, +{ C99| 0| 0|CID|NFC|NKC| 0, 0, 0x3029 }, { 0| 0| 0|CID|NFC|NKC| 0, 0, 0x3040 }, { C99| 0|CXX|CID|NFC|NKC| 0, 0, 0x3093 }, { 0| 0|CXX|CID|NFC|NKC| 0, 0, 0x3094 }, diff --git a/libcpp/ucnid.tab b/libcpp/ucnid.tab index ea228826123..643c230110e 100644 --- a/libcpp/ucnid.tab +++ b/libcpp/ucnid.tab @@ -119,7 +119,7 @@ ac00-d7a3 0b3d 1fbe 203f-2040 2102 2107 210a-2113 2115 2118-211d 2124 2126 2128 212a-2131 2133-2138 2160-2182 3005-3007 3021-3029 -; Digits +[C99DIG] 0660-0669 06f0-06f9 0966-096f 09e6-09ef 0a66-0a6f 0ae6-0aef 0b66-0b6f 0be7-0bef 0c66-0c6f 0ce6-0cef 0d66-0d6f 0e50-0e59 0ed0-0ed9 0f20-0f33 |