clang 22.0.0git
ParsePragma.cpp File Reference
#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.

Macro Definition Documentation

◆ ATTR_MATCH_RULE

#define ATTR_MATCH_RULE ( Value,
Spelling,
IsAbstract )
Value:
case Value: \
return IsAbstract;

Function Documentation

◆ diagnoseExpectedAttributeSubjectSubRule()

void diagnoseExpectedAttributeSubjectSubRule ( Parser & PRef,
attr::SubjectMatchRule PrimaryRule,
StringRef PrimaryRuleName,
SourceLocation SubRuleLoc )
static

Definition at line 1633 of file ParsePragma.cpp.

References clang::Parser::Diag().

◆ diagnoseUnknownAttributeSubjectSubRule()

void diagnoseUnknownAttributeSubjectSubRule ( Parser & PRef,
attr::SubjectMatchRule PrimaryRule,
StringRef PrimaryRuleName,
StringRef SubRuleName,
SourceLocation SubRuleLoc )
static

Definition at line 1646 of file ParsePragma.cpp.

References clang::Parser::Diag().

◆ getIdentifier()

◆ isAbstractAttrMatcherRule()

bool isAbstractAttrMatcherRule ( attr::SubjectMatchRule Rule)
static

Definition at line 1621 of file ParsePragma.cpp.

◆ ParseAlignPragma()

◆ ParseLoopHintValue()

◆ PragmaLoopHintString()

std::string PragmaLoopHintString ( Token PragmaName,
Token Option )
static