aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Semantics/check-omp-structure.h
diff options
context:
space:
mode:
Diffstat (limited to 'flang/lib/Semantics/check-omp-structure.h')
-rw-r--r--flang/lib/Semantics/check-omp-structure.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/flang/lib/Semantics/check-omp-structure.h b/flang/lib/Semantics/check-omp-structure.h
index 346a7be..dc36095 100644
--- a/flang/lib/Semantics/check-omp-structure.h
+++ b/flang/lib/Semantics/check-omp-structure.h
@@ -73,6 +73,9 @@ public:
void Enter(const parser::OpenMPConstruct &);
void Leave(const parser::OpenMPConstruct &);
+ void Enter(const parser::OpenMPDeclarativeConstruct &);
+ void Leave(const parser::OpenMPDeclarativeConstruct &);
+
void Enter(const parser::OpenMPLoopConstruct &);
void Leave(const parser::OpenMPLoopConstruct &);
void Enter(const parser::OmpEndLoopDirective &);
@@ -102,8 +105,8 @@ public:
void Enter(const parser::OmpDeclareTargetWithList &);
void Enter(const parser::OmpDeclareTargetWithClause &);
void Leave(const parser::OmpDeclareTargetWithClause &);
- void Enter(const parser::OpenMPErrorConstruct &);
- void Leave(const parser::OpenMPErrorConstruct &);
+ void Enter(const parser::OmpErrorDirective &);
+ void Leave(const parser::OmpErrorDirective &);
void Enter(const parser::OpenMPExecutableAllocate &);
void Leave(const parser::OpenMPExecutableAllocate &);
void Enter(const parser::OpenMPAllocatorsConstruct &);
@@ -261,6 +264,8 @@ private:
void CheckAllowedRequiresClause(llvmOmpClause clause);
bool deviceConstructFound_{false};
+ void CheckAlignValue(const parser::OmpClause &);
+
void EnterDirectiveNest(const int index) { directiveNest_[index]++; }
void ExitDirectiveNest(const int index) { directiveNest_[index]--; }
int GetDirectiveNest(const int index) { return directiveNest_[index]; }
@@ -270,11 +275,12 @@ private:
const parser::Variable &, const parser::Expr &);
inline void ErrIfNonScalarAssignmentStmt(
const parser::Variable &, const parser::Expr &);
- enum directiveNestType {
+ enum directiveNestType : int {
SIMDNest,
TargetBlockOnlyTeams,
TargetNest,
- LastType
+ DeclarativeNest,
+ LastType = DeclarativeNest,
};
int directiveNest_[LastType + 1] = {0};