diff options
Diffstat (limited to 'test/Lexer/keywords_test.cpp')
-rw-r--r-- | test/Lexer/keywords_test.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/Lexer/keywords_test.cpp b/test/Lexer/keywords_test.cpp index 19a89c3d30f3d..dd45b40edcabd 100644 --- a/test/Lexer/keywords_test.cpp +++ b/test/Lexer/keywords_test.cpp @@ -1,10 +1,17 @@ // RUN: %clang_cc1 -std=c++03 -fsyntax-only %s // RUN: %clang_cc1 -std=c++11 -DCXX11 -fsyntax-only %s +// RUN: %clang_cc1 -std=c++14 -fconcepts-ts -DCXX11 -DCONCEPTS -fsyntax-only %s #define IS_KEYWORD(NAME) _Static_assert(!__is_identifier(NAME), #NAME) #define NOT_KEYWORD(NAME) _Static_assert(__is_identifier(NAME), #NAME) #define IS_TYPE(NAME) void is_##NAME##_type() { int f(NAME); } +#ifdef CONCEPTS +#define CONCEPTS_KEYWORD(NAME) IS_KEYWORD(NAME) +#else +#define CONCEPTS_KEYWORD(NAME) NOT_KEYWORD(NAME) +#endif + #ifdef CXX11 #define CXX11_KEYWORD(NAME) IS_KEYWORD(NAME) #define CXX11_TYPE(NAME) IS_TYPE(NAME) @@ -27,6 +34,10 @@ CXX11_KEYWORD(noexcept); CXX11_KEYWORD(static_assert); CXX11_KEYWORD(thread_local); +// Concepts TS keywords +CONCEPTS_KEYWORD(concept); +CONCEPTS_KEYWORD(requires); + // Clang extension IS_KEYWORD(__char16_t); IS_TYPE(__char16_t); |