aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-09-13 23:21:44 +0000
committerDouglas Gregor <dgregor@apple.com>2010-09-13 23:21:44 +0000
commit877649045da2bb56ac52a536dbedf5ca7fa13fae (patch)
treecc3720164272cf2911f6291d639d56473086a9e7
parent1f60d9ea523fc321d811fe880ba9a1ec74fa8f9b (diff)
Add __char16_t and __char32_t as aliases for the C++0x char16_t and
char32_t, respectively, but which can also be used in C++98/03 mode. Fixes <rdar://problem/8418510>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113813 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/Basic/TokenKinds.def5
-rw-r--r--test/Lexer/clang-keywords.cpp3
-rw-r--r--test/Lexer/cxx0x_keyword_as_cxx98.cpp3
3 files changed, 10 insertions, 1 deletions
diff --git a/include/clang/Basic/TokenKinds.def b/include/clang/Basic/TokenKinds.def
index 9fd3c753fb..8e06534641 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 0000000000..a349b44ade
--- /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 2bfb8b0b93..0223b039be 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;