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
This commit is contained in:
Joseph Myers 2013-11-15 02:15:26 +00:00 committed by Joseph Myers
parent 4976d4f65a
commit 54848ff84b
6 changed files with 31 additions and 15 deletions

View File

@ -1,3 +1,7 @@
2013-11-15 Joseph Myers <joseph@codesourcery.com>
* gcc.dg/cpp/ucnid-9.c: New test.
2013-11-14 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/stack_usage1b.adb: New test.

View File

@ -0,0 +1,8 @@
/* { dg-do preprocess } */
/* { dg-options "-std=c99 -pedantic -fextended-identifiers" } */
\u2160
\u2182
\u3007
\u3021
\u3029

View File

@ -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

View File

@ -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 != ';');

View File

@ -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 },

View File

@ -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