summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/TokenKinds.cpp
diff options
context:
space:
mode:
authorSerge Pavlov <sepavloff@gmail.com>2019-08-01 15:15:10 +0000
committerSerge Pavlov <sepavloff@gmail.com>2019-08-01 15:15:10 +0000
commit3c26163d1a18eb9a324a69ea1eb988eb3289c20e (patch)
tree9ab8de79cf191783ef600ba55e27e066d40800e2 /clang/lib/Basic/TokenKinds.cpp
parent5c2d5f066fba2c080438a8643550b544ac466f5d (diff)
downloadbcm5719-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.cpp10
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;
+}
OpenPOWER on IntegriCloud