diff options
Diffstat (limited to 'contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h')
-rw-r--r-- | contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h b/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h index 4e66aa1c8c2d..e4857405bc7f 100644 --- a/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h +++ b/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h @@ -44,6 +44,14 @@ enum ObjCKeywordKind { NUM_OBJC_KEYWORDS }; +/// Provides a namespace for interesting identifers such as float_t and +/// double_t. +enum InterestingIdentifierKind { +#define INTERESTING_IDENTIFIER(X) X, +#include "clang/Basic/TokenKinds.def" + NUM_INTERESTING_IDENTIFIERS +}; + /// Defines the possible values of an on-off-switch (C99 6.10.6p2). enum OnOffSwitch { OOS_ON, OOS_OFF, OOS_DEFAULT @@ -68,6 +76,9 @@ const char *getPunctuatorSpelling(TokenKind Kind) LLVM_READNONE; /// tokens like 'int' and 'dynamic_cast'. Returns NULL for other token kinds. const char *getKeywordSpelling(TokenKind Kind) LLVM_READNONE; +/// Returns the spelling of preprocessor keywords, such as "else". +const char *getPPKeywordSpelling(PPKeywordKind Kind) LLVM_READNONE; + /// Return true if this is a raw identifier or an identifier kind. inline bool isAnyIdentifier(TokenKind K) { return (K == tok::identifier) || (K == tok::raw_identifier); @@ -96,6 +107,13 @@ bool isAnnotation(TokenKind K); /// Return true if this is an annotation token representing a pragma. bool isPragmaAnnotation(TokenKind K); +inline constexpr bool isRegularKeywordAttribute(TokenKind K) { + return (false +#define KEYWORD_ATTRIBUTE(X) || (K == tok::kw_##X) +#include "clang/Basic/AttrTokenKinds.inc" + ); +} + } // end namespace tok } // end namespace clang |