clang
3.9.0
|
This file implements parsing of all OpenMP directives and clauses. More...
#include "RAIIObjectsForParser.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/AST/ASTContext.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/Parse/ParseDiagnostic.h"
#include "clang/Parse/Parser.h"
#include "clang/Sema/Scope.h"
#include "llvm/ADT/PointerIntPair.h"
Go to the source code of this file.
Enumerations | |
enum | OpenMPDirectiveKindEx |
Functions | |
static unsigned | getOpenMPDirectiveKindEx (StringRef S) |
static OpenMPDirectiveKind | ParseOpenMPDirectiveKind (Parser &P) |
static DeclarationName | parseOpenMPReductionId (Parser &P) |
static bool | parseDeclareSimdClauses (Parser &P, OMPDeclareSimdDeclAttr::BranchStateTy &BS, ExprResult &SimdLen, SmallVectorImpl< Expr * > &Uniforms, SmallVectorImpl< Expr * > &Aligneds, SmallVectorImpl< Expr * > &Alignments, SmallVectorImpl< Expr * > &Linears, SmallVectorImpl< unsigned > &LinModifiers, SmallVectorImpl< Expr * > &Steps) |
Parses clauses for 'declare simd' directive. More... | |
static bool | ParseReductionId (Parser &P, CXXScopeSpec &ReductionIdScopeSpec, UnqualifiedId &ReductionId) |
This file implements parsing of all OpenMP directives and clauses.
Definition in file ParseOpenMP.cpp.
Definition at line 30 of file ParseOpenMP.cpp.
|
static |
Definition at line 64 of file ParseOpenMP.cpp.
References clang::getOpenMPDirectiveKind(), clang::OMPD_unknown, and S.
Referenced by ParseOpenMPDirectiveKind().
|
static |
Parses clauses for 'declare simd' directive.
clause: 'inbranch' | 'notinbranch' 'simdlen' '(' <expr> ')' { 'uniform' '(' <argument_list> ')' } { 'aligned '(' <argument_list> [ ':' <alignment> ] ')' } { 'linear '(' <argument_list> [ ':' <step> ] ')' }
Definition at line 420 of file ParseOpenMP.cpp.
References clang::Sema::CheckOpenMPLinearModifier(), clang::Parser::ConsumeToken(), clang::Parser::OpenMPVarListDataTy::DepLinMapLoc, clang::Parser::Diag(), clang::Parser::getActions(), clang::Parser::getCurToken(), clang::Token::getEndLoc(), clang::Token::getIdentifierInfo(), clang::Token::getLocation(), clang::IdentifierInfo::getName(), clang::getOpenMPClauseKind(), clang::getOpenMPDirectiveName(), clang::Token::is(), clang::ActionResult< PtrTy, CompressInvalid >::isInvalid(), clang::Token::isNot(), clang::ActionResult< PtrTy, CompressInvalid >::isUsable(), clang::Parser::OpenMPVarListDataTy::LinKind, clang::OMPC_uniform, clang::Parser::ParseOpenMPParensExpr(), clang::Parser::ParseOpenMPVarList(), and clang::Parser::OpenMPVarListDataTy::TailExpr.
|
static |
Definition at line 82 of file ParseOpenMP.cpp.
References clang::Parser::ConsumeToken(), clang::Parser::getCurToken(), getOpenMPDirectiveKindEx(), clang::Parser::getPreprocessor(), clang::Preprocessor::getSpelling(), clang::Token::isAnnotation(), clang::Preprocessor::LookAhead(), and clang::OMPD_unknown.
|
static |
Definition at line 143 of file ParseOpenMP.cpp.
References clang::Parser::ConsumeToken(), clang::ASTContext::DeclarationNames, clang::Parser::Diag(), clang::Parser::getActions(), clang::Sema::getASTContext(), clang::Parser::getCurToken(), clang::Token::getIdentifierInfo(), clang::Token::getKind(), clang::Token::getLocation(), clang::Token::is(), clang::OO_None, clang::Parser::SkipUntil(), and clang::Parser::StopBeforeMatch.
|
static |
Definition at line 1476 of file ParseOpenMP.cpp.
References clang::Parser::ConsumeToken(), clang::Parser::getCurToken(), clang::Token::getKind(), clang::CXXScopeSpec::isEmpty(), clang::OO_None, clang::Parser::ParseUnqualifiedId(), and clang::UnqualifiedId::setOperatorFunctionId().
Referenced by clang::Parser::ParseOpenMPVarList().