diff --git a/include/clang/Basic/TokenKinds.def b/include/clang/Basic/TokenKinds.def index 9fd3c753fb12419925ef90feeb4930438c253c7b..8e0653464167747ee3a9edd91d6f5f3a7ee77a55 100644 --- a/include/clang/Basic/TokenKinds.def +++ b/include/clang/Basic/TokenKinds.def @@ -381,6 +381,11 @@ ALIAS("_uuidof" , __uuidof , KEYMS | KEYBORLAND) // Borland Extensions which should be disabled in strict conformance mode. ALIAS("_pascal" , __pascal , KEYBORLAND) +// Clang Extensions. +ALIAS("__char16_t" , char16_t , KEYCXX) +ALIAS("__char32_t" , char32_t , KEYCXX) + + //===----------------------------------------------------------------------===// // Objective-C @-preceeded keywords. //===----------------------------------------------------------------------===// diff --git a/test/Lexer/clang-keywords.cpp b/test/Lexer/clang-keywords.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a349b44ade20944db5c8fe5415691333e6fde9ae --- /dev/null +++ b/test/Lexer/clang-keywords.cpp @@ -0,0 +1,3 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s +__char16_t c16; +void f(__char32_t) { } diff --git a/test/Lexer/cxx0x_keyword_as_cxx98.cpp b/test/Lexer/cxx0x_keyword_as_cxx98.cpp index 2bfb8b0b931befd713214c1b42a985dba9cb3ded..0223b039be9295d0b96424a0e6f186284853f8bf 100644 --- a/test/Lexer/cxx0x_keyword_as_cxx98.cpp +++ b/test/Lexer/cxx0x_keyword_as_cxx98.cpp @@ -1,2 +1,3 @@ -// RUN: %clang_cc1 %s -fsyntax-only +// RUN: %clang_cc1 %s -verify -fsyntax-only int static_assert; +int char16_t;