aboutsummaryrefslogtreecommitdiff
path: root/libcpp/makeucnid.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2013-11-15 02:15:26 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2013-11-15 02:15:26 +0000
commit54848ff84bd0932500f915b5477d50eafa121ba1 (patch)
treed26eaaa50edd17c67b05e5d9b935a5dceef179b1 /libcpp/makeucnid.c
parent4976d4f65a4fcc2b2fe60a2ea7f4cc7044eccb89 (diff)
downloadgcc-54848ff84bd0932500f915b5477d50eafa121ba1.zip
gcc-54848ff84bd0932500f915b5477d50eafa121ba1.tar.gz
gcc-54848ff84bd0932500f915b5477d50eafa121ba1.tar.bz2
ucnid-9.c: New test.
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. From-SVN: r204835
Diffstat (limited to 'libcpp/makeucnid.c')
-rw-r--r--libcpp/makeucnid.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/libcpp/makeucnid.c b/libcpp/makeucnid.c
index 4e3f76d..da06065 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 != ';');