Index: libcpp/ChangeLog

2005-03-14  Geoffrey Keating  <geoffk@apple.com>

	* lex.c (forms_identifier_p): Disable UCNs in C89 mode.

Index: gcc/testsuite/ChangeLog
2005-03-14  Geoffrey Keating  <geoffk@apple.com>

	* gcc.dg/cpp/ucnid-6.c: New.

From-SVN: r96475
This commit is contained in:
Geoffrey Keating 2005-03-15 09:55:41 +00:00 committed by Geoffrey Keating
parent 85bfab3691
commit 6baba9bb58
4 changed files with 13 additions and 1 deletions

View File

@ -15,6 +15,8 @@
2005-03-14 Geoffrey Keating <geoffk@apple.com>
* gcc.dg/cpp/ucnid-6.c: New.
* gcc.dg/cpp/normalize-1.c: New.
* gcc.dg/cpp/normalize-2.c: New.
* gcc.dg/cpp/normalize-3.c: New.

View File

@ -0,0 +1,5 @@
/* { dg-do compile } */
/* { dg-options "-std=c89" } */
#define a b(
#define b(x) q
int a\u00aa);

View File

@ -1,5 +1,9 @@
2005-03-14 Geoffrey Keating <geoffk@apple.com>
* lex.c (forms_identifier_p): Disable UCNs in C89 mode.
2005-03-14 Geoffrey Keating <geoffk@apple.com>
* init.c (cpp_create_reader): Default warn_normalize to normalized_C.
* charset.c: Update for new format of ucnid.h.
(ucn_valid_in_identifier): Update for new format of ucnid.h.

View File

@ -476,7 +476,8 @@ forms_identifier_p (cpp_reader *pfile, int first,
}
/* Is this a syntactically valid UCN? */
if (*buffer->cur == '\\'
if ((CPP_OPTION (pfile, cplusplus) || CPP_OPTION (pfile, c99))
&& *buffer->cur == '\\'
&& (buffer->cur[1] == 'u' || buffer->cur[1] == 'U'))
{
buffer->cur += 2;