clang 20.0.0git
|
#include "clang/AST/ASTContext.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/ParseDiagnostic.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 1649 of file ParsePragma.cpp.
References clang::Parser::Diag().
|
static |
Definition at line 1662 of file ParsePragma.cpp.
References clang::Parser::Diag().
|
static |
Definition at line 1628 of file ParsePragma.cpp.
References clang::Token::getIdentifierInfo(), clang::tok::getKeywordSpelling(), clang::Token::getKind(), clang::IdentifierInfo::getName(), and clang::Token::is().
Referenced by clang::Sema::DiagnoseUnexpandedParameterPacks(), clang::api_notes::APINotesReader::Implementation::getSelector(), and clang::DependentTemplateName::Profile().
|
static |
Definition at line 1637 of file ParsePragma.cpp.
References clang::ast_matchers::attr.
|
static |
Definition at line 2339 of file ParsePragma.cpp.
References clang::Preprocessor::Diag(), clang::Token::getIdentifierInfo(), clang::Preprocessor::getLangOpts(), clang::Token::getLocation(), clang::Preprocessor::getPreprocessorAllocator(), clang::Token::isNot(), clang::IdentifierInfo::isStr(), clang::Preprocessor::Lex(), clang::Sema::POAK_Mac68k, clang::Sema::POAK_Native, clang::Sema::POAK_Natural, clang::Sema::POAK_Packed, clang::Sema::POAK_Power, and clang::Sema::POAK_Reset.
|
static |
Parses loop or unroll pragma hint value and fills in Info.
Definition at line 3512 of file ParsePragma.cpp.
References clang::Preprocessor::Diag(), clang::Token::getLocation(), clang::Preprocessor::getPreprocessorAllocator(), clang::Token::is(), clang::Token::isNot(), clang::Preprocessor::Lex(), clang::PragmaLoopHintInfo::Option, clang::PragmaLoopHintInfo::PragmaName, clang::Token::setKind(), clang::Token::setLocation(), clang::Token::startToken(), and clang::PragmaLoopHintInfo::Toks.
Definition at line 1404 of file ParsePragma.cpp.
References clang::Default, clang::Token::getIdentifierInfo(), and clang::IdentifierInfo::getName().