From: Douglas Gregor Date: Mon, 13 Sep 2010 23:21:44 +0000 (+0000) Subject: Add __char16_t and __char32_t as aliases for the C++0x char16_t and X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=877649045da2bb56ac52a536dbedf5ca7fa13fae;p=clang 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 . git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@113813 91177308-0d34-0410-b5e6-96231b3b80d8 --- 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;