clang 22.0.0git
|
#include "clang/AST/ASTContext.h"
#include "clang/Basic/DiagnosticParse.h"
#include "clang/Basic/PragmaKinds.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Lex/Token.h"
#include "clang/Parse/LoopHint.h"
#include "clang/Parse/Parser.h"
#include "clang/Parse/RAIIObjectsForParser.h"
#include "clang/Sema/EnterExpressionEvaluationContext.h"
#include "clang/Sema/Scope.h"
#include "clang/Sema/SemaCUDA.h"
#include "clang/Sema/SemaCodeCompletion.h"
#include "clang/Sema/SemaRISCV.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/StringSwitch.h"
#include <optional>
#include "clang/Parse/AttrSubMatchRulesParserStringSwitches.inc"
#include "clang/Basic/AttrSubMatchRulesList.inc"
Go to the source code of this file.
Macros | |
#define | ATTR_MATCH_RULE(Value, Spelling, IsAbstract) |
Functions | |
static std::string | PragmaLoopHintString (Token PragmaName, Token Option) |
static StringRef | getIdentifier (const Token &Tok) |
static bool | isAbstractAttrMatcherRule (attr::SubjectMatchRule Rule) |
static void | diagnoseExpectedAttributeSubjectSubRule (Parser &PRef, attr::SubjectMatchRule PrimaryRule, StringRef PrimaryRuleName, SourceLocation SubRuleLoc) |
static void | diagnoseUnknownAttributeSubjectSubRule (Parser &PRef, attr::SubjectMatchRule PrimaryRule, StringRef PrimaryRuleName, StringRef SubRuleName, SourceLocation SubRuleLoc) |
static void | ParseAlignPragma (Preprocessor &PP, Token &FirstTok, bool IsOptions) |
static bool | ParseLoopHintValue (Preprocessor &PP, Token &Tok, Token PragmaName, Token Option, bool ValueInParens, PragmaLoopHintInfo &Info) |
Parses loop or unroll pragma hint value and fills in Info. |
#define ATTR_MATCH_RULE | ( | Value, | |
Spelling, | |||
IsAbstract ) |
|
static |
Definition at line 1633 of file ParsePragma.cpp.
References clang::Parser::Diag().
|
static |
Definition at line 1646 of file ParsePragma.cpp.
References clang::Parser::Diag().
|
static |
Definition at line 1612 of file ParsePragma.cpp.
References clang::tok::getKeywordSpelling(), and Tok.
Referenced by clang::interp::CheckDeleteSource(), clang::ClassTemplateSpecializationDecl::ClassTemplateSpecializationDecl(), getNestedNameSpecifierIdentifiers(), and clang::api_notes::APINotesReader::Implementation::getSelector().
|
static |
Definition at line 1621 of file ParsePragma.cpp.
|
static |
Definition at line 2350 of file ParsePragma.cpp.
References clang::Preprocessor::Diag(), clang::Preprocessor::getLangOpts(), clang::Token::getLocation(), clang::Preprocessor::getPreprocessorAllocator(), clang::IdentifierInfo::isStr(), clang::Preprocessor::Lex(), clang::Mac68k, clang::Native, clang::Natural, clang::Packed, clang::Power, clang::Reset, and Tok.
|
static |
Parses loop or unroll pragma hint value and fills in Info.
Definition at line 3522 of file ParsePragma.cpp.
References clang::Preprocessor::Diag(), clang::Preprocessor::getPreprocessorAllocator(), clang::Preprocessor::Lex(), clang::PragmaLoopHintInfo::Option, clang::PragmaLoopHintInfo::PragmaName, clang::Token::setKind(), clang::Token::setLocation(), clang::Token::startToken(), Tok, and clang::PragmaLoopHintInfo::Toks.
Definition at line 1389 of file ParsePragma.cpp.
References clang::Default, clang::Token::getIdentifierInfo(), and clang::IdentifierInfo::getName().