re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U...
authorPaolo Carlini <paolo@gcc.gnu.org>
Thu, 2 Jul 2015 18:54:41 +0000 (18:54 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Thu, 2 Jul 2015 18:54:41 +0000 (18:54 +0000)
commitfbb22910cfa4e4567b46fc8b74ccfad92fa745d8
tree2aac293a422c002719640bf2767fde8c557ab77b
parenta05d02b293b299352b9523875e96bf697f96baf4
re PR preprocessor/53690 ([C++11] \u0000 and \U00000000 are wrongly encoded as U+0001.)

/libcpp
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53690
* charset.c (_cpp_valid_ucn): Add cppchar_t * parameter and change
return type to bool.  Fix encoding of \u0000 and \U00000000 in C++.
(convert_ucn): Adjust call.
* lex.c (forms_identifier_p): Likewise.
* internal.h (_cpp_valid_ucn): Adjust declaration.

/gcc/testsuite
2015-07-02  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/53690
* g++.dg/cpp/pr53690.C: New.

From-SVN: r225353
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp/pr53690.C [new file with mode: 0644]
libcpp/ChangeLog
libcpp/charset.c
libcpp/internal.h
libcpp/lex.c