diff options
author | Serge Pavlov <sepavloff@gmail.com> | 2019-08-01 15:15:10 +0000 |
---|---|---|
committer | Serge Pavlov <sepavloff@gmail.com> | 2019-08-01 15:15:10 +0000 |
commit | 3c26163d1a18eb9a324a69ea1eb988eb3289c20e (patch) | |
tree | 9ab8de79cf191783ef600ba55e27e066d40800e2 /clang/lib/Basic/TokenKinds.cpp | |
parent | 5c2d5f066fba2c080438a8643550b544ac466f5d (diff) | |
download | bcm5719-llvm-3c26163d1a18eb9a324a69ea1eb988eb3289c20e.tar.gz bcm5719-llvm-3c26163d1a18eb9a324a69ea1eb988eb3289c20e.zip |
[Parser] Use special definition for pragma annotations
Previously pragma annotation tokens were described as any other
annotations in TokenKinds.def. This change introduces special macro
PRAGMA_ANNOTATION for the pragma descriptions. It allows implementing
checks that deal with pragma annotations only.
Differential Revision: https://reviews.llvm.org/D65405
llvm-svn: 367575
Diffstat (limited to 'clang/lib/Basic/TokenKinds.cpp')
-rw-r--r-- | clang/lib/Basic/TokenKinds.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/clang/lib/Basic/TokenKinds.cpp b/clang/lib/Basic/TokenKinds.cpp index a71cd72517d..0426edc316a 100644 --- a/clang/lib/Basic/TokenKinds.cpp +++ b/clang/lib/Basic/TokenKinds.cpp @@ -45,3 +45,13 @@ const char *tok::getKeywordSpelling(TokenKind Kind) { } return nullptr; } + +bool tok::isPragmaAnnotation(TokenKind Kind) { + switch (Kind) { +#define PRAGMA_ANNOTATION(X) case annot_ ## X: return true; +#include "clang/Basic/TokenKinds.def" + default: + break; + } + return false; +} |