[flang-commits] [flang] [flang][OpenMP] Rename "declare constructs" to directives, NFC (PR #194240)
Krzysztof Parzyszek via flang-commits
flang-commits at lists.llvm.org
Sun Apr 26 08:27:20 PDT 2026
https://github.com/kparzysz created https://github.com/llvm/llvm-project/pull/194240
Only executable directives are constructs in OpenMP, so, for example, "declare mapper" is not a construct.
Apply
find flang/ \( -name '*.cpp' -o -name '*.h' -o -name '*.f90' \) -exec sed \
-i -E -e 's/OpenMP(Declare[A-Za-z]*)Construct\b/Omp\1Directive/g' {} \;
plus local formatting updates as needed.
>From be592783c984a38a39aaa392997fa5147a7acf18 Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Sun, 26 Apr 2026 10:12:41 -0500
Subject: [PATCH] [flang][OpenMP] Rename "declare constructs" to directives,
NFC
Only executable directives are constructs in OpenMP, so, for example,
"declare mapper" is not a construct.
Apply
find flang/ \( -name '*.cpp' -o -name '*.h' -o -name '*.f90' \) -exec sed \
-i -E -e 's/OpenMP(Declare[A-Za-z]*)Construct\b/Omp\1Directive/g' {} \;
plus local formatting updates as needed.
---
flang/examples/FeatureList/FeatureList.cpp | 6 ++--
flang/include/flang/Parser/dump-parse-tree.h | 8 ++---
flang/include/flang/Parser/parse-tree.h | 21 ++++++-------
flang/lib/Lower/OpenMP/OpenMP.cpp | 31 ++++++++++---------
flang/lib/Parser/openmp-parsers.cpp | 16 +++++-----
flang/lib/Parser/unparse.cpp | 8 ++---
flang/lib/Semantics/assignment.cpp | 3 +-
flang/lib/Semantics/assignment.h | 2 +-
flang/lib/Semantics/check-omp-structure.cpp | 18 +++++------
flang/lib/Semantics/check-omp-structure.h | 16 +++++-----
flang/lib/Semantics/resolve-directives.cpp | 23 +++++++-------
flang/lib/Semantics/resolve-names.cpp | 10 +++---
flang/lib/Semantics/rewrite-parse-tree.cpp | 2 +-
flang/lib/Semantics/unparse-with-symbols.cpp | 12 +++----
.../Parser/OpenMP/declare-mapper-unparse.f90 | 4 +--
.../OpenMP/declare-reduction-combiner.f90 | 4 +--
.../Parser/OpenMP/declare-reduction-multi.f90 | 8 ++---
.../OpenMP/declare-reduction-operator.f90 | 4 +--
.../OpenMP/declare-reduction-unparse.f90 | 4 +--
.../OpenMP/declare-target-indirect-tree.f90 | 4 +--
.../OpenMP/declare-target-to-clause.f90 | 2 +-
.../OpenMP/declare_target-device_type.f90 | 18 +++++------
.../Parser/OpenMP/enter-automap-modifier.f90 | 2 +-
flang/test/Parser/OpenMP/linear-clause.f90 | 4 +--
.../OpenMP/openmp6-directive-spellings.f90 | 8 ++---
flang/test/Semantics/OpenMP/simd-only.f90 | 2 +-
26 files changed, 118 insertions(+), 122 deletions(-)
diff --git a/flang/examples/FeatureList/FeatureList.cpp b/flang/examples/FeatureList/FeatureList.cpp
index 51d32bae40409..80683f90654a2 100644
--- a/flang/examples/FeatureList/FeatureList.cpp
+++ b/flang/examples/FeatureList/FeatureList.cpp
@@ -548,9 +548,9 @@ struct NodeVisitor {
READ_FEATURE(OpenMPConstruct)
READ_FEATURE(OpenMPCriticalConstruct)
READ_FEATURE(OpenMPDeclarativeConstruct)
- READ_FEATURE(OpenMPDeclareReductionConstruct)
- READ_FEATURE(OpenMPDeclareSimdConstruct)
- READ_FEATURE(OpenMPDeclareTargetConstruct)
+ READ_FEATURE(OmpDeclareReductionDirective)
+ READ_FEATURE(OmpDeclareSimdDirective)
+ READ_FEATURE(OmpDeclareTargetDirective)
READ_FEATURE(OmpMemoryOrderType)
READ_FEATURE(OmpAtomicDefaultMemOrderClause)
READ_FEATURE(OpenMPFlushConstruct)
diff --git a/flang/include/flang/Parser/dump-parse-tree.h b/flang/include/flang/Parser/dump-parse-tree.h
index 5d96befcd6dce..4bfeccfbe5c67 100644
--- a/flang/include/flang/Parser/dump-parse-tree.h
+++ b/flang/include/flang/Parser/dump-parse-tree.h
@@ -574,6 +574,10 @@ class ParseTreeDumper {
NODE(parser, OmpCombinerExpression)
NODE(parser, OmpContainsClause)
NODE(parser, OmpContextSelectorSpecification)
+ NODE(parser, OmpDeclareMapperDirective)
+ NODE(parser, OmpDeclareReductionDirective)
+ NODE(parser, OmpDeclareSimdDirective)
+ NODE(parser, OmpDeclareTargetDirective)
NODE(parser, OmpDeclareVariantDirective)
NODE(parser, OmpDefaultClause)
NODE_ENUM(OmpDefaultClause, DataSharingAttribute)
@@ -782,10 +786,6 @@ class ParseTreeDumper {
NODE(parser, OpenMPCriticalConstruct)
NODE(parser, OpenMPDeclarativeAssumes)
NODE(parser, OpenMPDeclarativeConstruct)
- NODE(parser, OpenMPDeclareMapperConstruct)
- NODE(parser, OpenMPDeclareReductionConstruct)
- NODE(parser, OpenMPDeclareSimdConstruct)
- NODE(parser, OpenMPDeclareTargetConstruct)
NODE(parser, OpenMPDepobjConstruct)
NODE(parser, OpenMPDispatchConstruct)
NODE(parser, OpenMPFlushConstruct)
diff --git a/flang/include/flang/Parser/parse-tree.h b/flang/include/flang/Parser/parse-tree.h
index 9f3dd5e0d1032..a07e47bf92bd1 100644
--- a/flang/include/flang/Parser/parse-tree.h
+++ b/flang/include/flang/Parser/parse-tree.h
@@ -5231,34 +5231,33 @@ struct OmpDeclareVariantDirective {
// declare-target-directive -> // since 4.5
// DECLARE_TARGET[(extended-list)] |
// DECLARE_TARGET clause-list
-struct OpenMPDeclareTargetConstruct {
+struct OmpDeclareTargetDirective {
WRAPPER_CLASS_BOILERPLATE(
- OpenMPDeclareTargetConstruct, OmpDirectiveSpecification);
+ OmpDeclareTargetDirective, OmpDirectiveSpecification);
CharBlock source;
};
// OMP v5.2: 5.8.8
// declare-mapper -> DECLARE MAPPER ([mapper-name :] type :: var) map-clauses
-struct OpenMPDeclareMapperConstruct {
+struct OmpDeclareMapperDirective {
WRAPPER_CLASS_BOILERPLATE(
- OpenMPDeclareMapperConstruct, OmpDirectiveSpecification);
+ OmpDeclareMapperDirective, OmpDirectiveSpecification);
CharBlock source;
};
// ref: 5.2: Section 5.5.11 139-141
// 2.16 declare-reduction -> DECLARE REDUCTION (reduction-identifier : type-list
// : combiner) [initializer-clause]
-struct OpenMPDeclareReductionConstruct {
+struct OmpDeclareReductionDirective {
WRAPPER_CLASS_BOILERPLATE(
- OpenMPDeclareReductionConstruct, OmpDirectiveSpecification);
+ OmpDeclareReductionDirective, OmpDirectiveSpecification);
CharBlock source;
};
// 2.8.2 declare-simd -> DECLARE SIMD [(proc-name)] [declare-simd-clause[ [,]
// declare-simd-clause]...]
-struct OpenMPDeclareSimdConstruct {
- WRAPPER_CLASS_BOILERPLATE(
- OpenMPDeclareSimdConstruct, OmpDirectiveSpecification);
+struct OmpDeclareSimdDirective {
+ WRAPPER_CLASS_BOILERPLATE(OmpDeclareSimdDirective, OmpDirectiveSpecification);
CharBlock source;
};
@@ -5319,8 +5318,8 @@ struct OpenMPDeclarativeConstruct {
UNION_CLASS_BOILERPLATE(OpenMPDeclarativeConstruct);
CharBlock source;
std::variant<OmpAllocateDirective, OpenMPDeclarativeAssumes,
- OpenMPDeclareMapperConstruct, OpenMPDeclareReductionConstruct,
- OpenMPDeclareSimdConstruct, OpenMPDeclareTargetConstruct,
+ OmpDeclareMapperDirective, OmpDeclareReductionDirective,
+ OmpDeclareSimdDirective, OmpDeclareTargetDirective,
OmpDeclareVariantDirective, OpenMPGroupprivate, OpenMPThreadprivate,
OpenMPRequiresConstruct, OpenMPUtilityConstruct,
OmpMetadirectiveDirective>
diff --git a/flang/lib/Lower/OpenMP/OpenMP.cpp b/flang/lib/Lower/OpenMP/OpenMP.cpp
index fd1a8b9cd5a42..6f3e19a84ef19 100644
--- a/flang/lib/Lower/OpenMP/OpenMP.cpp
+++ b/flang/lib/Lower/OpenMP/OpenMP.cpp
@@ -765,7 +765,7 @@ static void promoteNonCPtrUseDevicePtrArgsToUseDeviceAddr(
static void getDeclareTargetInfo(
lower::AbstractConverter &converter, semantics::SemanticsContext &semaCtx,
lower::pft::Evaluation &eval,
- const parser::OpenMPDeclareTargetConstruct &construct,
+ const parser::OmpDeclareTargetDirective &construct,
mlir::omp::DeclareTargetOperands &clauseOps,
llvm::SmallVectorImpl<DeclareTargetCaptureInfo> &symbolAndClause) {
@@ -804,7 +804,7 @@ static void getDeclareTargetInfo(
static void collectDeferredDeclareTargets(
lower::AbstractConverter &converter, semantics::SemanticsContext &semaCtx,
lower::pft::Evaluation &eval,
- const parser::OpenMPDeclareTargetConstruct &declareTargetConstruct,
+ const parser::OmpDeclareTargetDirective &declareTargetConstruct,
llvm::SmallVectorImpl<lower::OMPDeferredDeclareTargetInfo>
&deferredDeclareTarget) {
mlir::omp::DeclareTargetOperands clauseOps;
@@ -830,7 +830,7 @@ static std::optional<mlir::omp::DeclareTargetDeviceType>
getDeclareTargetFunctionDevice(
lower::AbstractConverter &converter, semantics::SemanticsContext &semaCtx,
lower::pft::Evaluation &eval,
- const parser::OpenMPDeclareTargetConstruct &declareTargetConstruct) {
+ const parser::OmpDeclareTargetDirective &declareTargetConstruct) {
mlir::omp::DeclareTargetOperands clauseOps;
llvm::SmallVector<DeclareTargetCaptureInfo> symbolAndClause;
getDeclareTargetInfo(converter, semaCtx, eval, declareTargetConstruct,
@@ -4112,7 +4112,7 @@ getReductionType(lower::AbstractConverter &converter,
// manufacture a combiner clause from the combiner expression on the reduction
// specifier and append it to the list of clauses.
static const clause::Combiner &
-appendCombiner(const parser::OpenMPDeclareReductionConstruct &construct,
+appendCombiner(const parser::OmpDeclareReductionDirective &construct,
List<Clause> &clauses, semantics::SemanticsContext &semaCtx) {
for (const Clause &clause : clauses) {
if (clause.id == llvm::omp::Clause::OMPC_combiner)
@@ -4138,7 +4138,7 @@ appendCombiner(const parser::OpenMPDeclareReductionConstruct &construct,
static void genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx,
lower::pft::Evaluation &eval,
- const parser::OpenMPDeclareReductionConstruct &construct) {
+ const parser::OmpDeclareReductionDirective &construct) {
if (semaCtx.langOptions().OpenMPSimd)
return;
@@ -4235,7 +4235,7 @@ static void genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
static void
genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
- const parser::OpenMPDeclareSimdConstruct &declareSimdConstruct) {
+ const parser::OmpDeclareSimdDirective &declareSimdConstruct) {
mlir::Location loc = converter.getCurrentLocation();
const parser::OmpDirectiveSpecification &beginSpec = declareSimdConstruct.v;
List<Clause> clauses = makeClauses(beginSpec.Clauses(), semaCtx);
@@ -4252,10 +4252,11 @@ genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
mlir::omp::DeclareSimdOp::create(converter.getFirOpBuilder(), loc, clauseOps);
}
-static void genOpenMPDeclareMapperImpl(
- lower::AbstractConverter &converter, semantics::SemanticsContext &semaCtx,
- const parser::OpenMPDeclareMapperConstruct &construct,
- const semantics::Symbol *mapperSymOpt = nullptr) {
+static void
+genOpenMPDeclareMapperImpl(lower::AbstractConverter &converter,
+ semantics::SemanticsContext &semaCtx,
+ const parser::OmpDeclareMapperDirective &construct,
+ const semantics::Symbol *mapperSymOpt = nullptr) {
mlir::Location loc = converter.genLocation(construct.source);
fir::FirOpBuilder &firOpBuilder = converter.getFirOpBuilder();
const parser::OmpArgumentList &args = construct.v.Arguments();
@@ -4307,14 +4308,14 @@ static void genOpenMPDeclareMapperImpl(
static void genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx,
lower::pft::Evaluation &eval,
- const parser::OpenMPDeclareMapperConstruct &construct) {
+ const parser::OmpDeclareMapperDirective &construct) {
genOpenMPDeclareMapperImpl(converter, semaCtx, construct);
}
static void
genOMP(lower::AbstractConverter &converter, lower::SymMap &symTable,
semantics::SemanticsContext &semaCtx, lower::pft::Evaluation &eval,
- const parser::OpenMPDeclareTargetConstruct &declareTargetConstruct) {
+ const parser::OmpDeclareTargetDirective &declareTargetConstruct) {
mlir::omp::DeclareTargetOperands clauseOps;
llvm::SmallVector<DeclareTargetCaptureInfo> symbolAndClause;
mlir::ModuleOp mod = converter.getFirOpBuilder().getModule();
@@ -4850,7 +4851,7 @@ void Fortran::lower::gatherOpenMPDeferredDeclareTargets(
&deferredDeclareTarget) {
Fortran::common::visit(
common::visitors{
- [&](const parser::OpenMPDeclareTargetConstruct &ompReq) {
+ [&](const parser::OmpDeclareTargetDirective &ompReq) {
collectDeferredDeclareTargets(converter, semaCtx, eval, ompReq,
deferredDeclareTarget);
},
@@ -4865,7 +4866,7 @@ bool Fortran::lower::isOpenMPDeviceDeclareTarget(
const parser::OpenMPDeclarativeConstruct &ompDecl) {
return Fortran::common::visit(
common::visitors{
- [&](const parser::OpenMPDeclareTargetConstruct &ompReq) {
+ [&](const parser::OmpDeclareTargetDirective &ompReq) {
mlir::omp::DeclareTargetDeviceType targetType =
getDeclareTargetFunctionDevice(converter, semaCtx, eval, ompReq)
.value_or(mlir::omp::DeclareTargetDeviceType::host);
@@ -4972,7 +4973,7 @@ void Fortran::lower::materializeOpenMPDeclareMappers(
if (auto *md = sym.detailsIf<semantics::MapperDetails>()) {
for (const auto *decl : md->GetDeclList()) {
if (const auto *mapperDecl =
- std::get_if<parser::OpenMPDeclareMapperConstruct>(&decl->u)) {
+ std::get_if<parser::OmpDeclareMapperDirective>(&decl->u)) {
genOpenMPDeclareMapperImpl(converter, semaCtx, *mapperDecl, &sym);
}
}
diff --git a/flang/lib/Parser/openmp-parsers.cpp b/flang/lib/Parser/openmp-parsers.cpp
index 7798979ab2a6c..153d7ad4717c8 100644
--- a/flang/lib/Parser/openmp-parsers.cpp
+++ b/flang/lib/Parser/openmp-parsers.cpp
@@ -2319,13 +2319,13 @@ TYPE_PARSER(sourced(construct<OmpDeclareVariantDirective>(
OmpDirectiveSpecificationParser{})))
// 2.16 Declare Reduction Construct
-TYPE_PARSER(sourced(construct<OpenMPDeclareReductionConstruct>(
+TYPE_PARSER(sourced(construct<OmpDeclareReductionDirective>(
predicated(Parser<OmpDirectiveName>{},
IsDirective(llvm::omp::Directive::OMPD_declare_reduction)) >=
OmpStylizedInstanceCreator(OmpDirectiveSpecificationParser{}))))
// 2.10.6 Declare Target Construct
-TYPE_PARSER(sourced(construct<OpenMPDeclareTargetConstruct>(
+TYPE_PARSER(sourced(construct<OmpDeclareTargetDirective>(
predicated(Parser<OmpDirectiveName>{},
IsDirective(llvm::omp::Directive::OMPD_declare_target)) >=
OmpDirectiveSpecificationParser{})))
@@ -2355,7 +2355,7 @@ TYPE_PARSER(applyFunction<OmpMapperSpecifier>(ConstructOmpMapperSpecifier,
maybe(name / ":" / !":"_tok), typeSpec / "::", name))
// OpenMP 5.2: 5.8.8 Declare Mapper Construct
-TYPE_PARSER(sourced(construct<OpenMPDeclareMapperConstruct>(
+TYPE_PARSER(sourced(construct<OmpDeclareMapperDirective>(
predicated(Parser<OmpDirectiveName>{},
IsDirective(llvm::omp::Directive::OMPD_declare_mapper)) >=
OmpDirectiveSpecificationParser{})))
@@ -2367,7 +2367,7 @@ TYPE_PARSER(sourced(construct<OpenMPCriticalConstruct>(
OmpBlockConstructParser{llvm::omp::Directive::OMPD_critical})))
// 2.8.2 Declare Simd construct
-TYPE_PARSER(sourced(construct<OpenMPDeclareSimdConstruct>(
+TYPE_PARSER(sourced(construct<OmpDeclareSimdDirective>(
predicated(Parser<OmpDirectiveName>{},
IsDirective(llvm::omp::Directive::OMPD_declare_simd)) >=
OmpDirectiveSpecificationParser{})))
@@ -2403,13 +2403,13 @@ TYPE_PARSER(
sourced(construct<OpenMPDeclarativeConstruct>(
Parser<OpenMPDeclarativeAssumes>{}) ||
construct<OpenMPDeclarativeConstruct>(
- Parser<OpenMPDeclareReductionConstruct>{}) ||
+ Parser<OmpDeclareReductionDirective>{}) ||
construct<OpenMPDeclarativeConstruct>(
- Parser<OpenMPDeclareMapperConstruct>{}) ||
+ Parser<OmpDeclareMapperDirective>{}) ||
construct<OpenMPDeclarativeConstruct>(
- Parser<OpenMPDeclareSimdConstruct>{}) ||
+ Parser<OmpDeclareSimdDirective>{}) ||
construct<OpenMPDeclarativeConstruct>(
- Parser<OpenMPDeclareTargetConstruct>{}) ||
+ Parser<OmpDeclareTargetDirective>{}) ||
construct<OpenMPDeclarativeConstruct>(
Parser<OmpDeclareVariantDirective>{}) ||
construct<OpenMPDeclarativeConstruct>(
diff --git a/flang/lib/Parser/unparse.cpp b/flang/lib/Parser/unparse.cpp
index 99dbff44821cc..b980a51d3f249 100644
--- a/flang/lib/Parser/unparse.cpp
+++ b/flang/lib/Parser/unparse.cpp
@@ -2661,28 +2661,28 @@ class UnparseVisitor {
Put("\n");
EndOpenMP();
}
- void Unparse(const OpenMPDeclareMapperConstruct &x) {
+ void Unparse(const OmpDeclareMapperDirective &x) {
BeginOpenMP();
Word("!$OMP ");
Walk(x.v);
Put("\n");
EndOpenMP();
}
- void Unparse(const OpenMPDeclareReductionConstruct &x) {
+ void Unparse(const OmpDeclareReductionDirective &x) {
BeginOpenMP();
Word("!$OMP ");
Walk(x.v);
Put("\n");
EndOpenMP();
}
- void Unparse(const OpenMPDeclareSimdConstruct &x) {
+ void Unparse(const OmpDeclareSimdDirective &x) {
BeginOpenMP();
Word("!$OMP ");
Walk(x.v);
Put("\n");
EndOpenMP();
}
- void Unparse(const OpenMPDeclareTargetConstruct &x) {
+ void Unparse(const OmpDeclareTargetDirective &x) {
BeginOpenMP();
Word("!$OMP ");
Walk(x.v);
diff --git a/flang/lib/Semantics/assignment.cpp b/flang/lib/Semantics/assignment.cpp
index 1824a7d232d70..8dec228d4a40f 100644
--- a/flang/lib/Semantics/assignment.cpp
+++ b/flang/lib/Semantics/assignment.cpp
@@ -215,8 +215,7 @@ SemanticsContext &AssignmentChecker::context() {
AssignmentChecker::AssignmentChecker(SemanticsContext &context)
: context_{new AssignmentContext{context}} {}
-void AssignmentChecker::Enter(
- const parser::OpenMPDeclareReductionConstruct &x) {
+void AssignmentChecker::Enter(const parser::OmpDeclareReductionDirective &x) {
context().set_location(x.source);
}
void AssignmentChecker::Enter(const parser::AssignmentStmt &x) {
diff --git a/flang/lib/Semantics/assignment.h b/flang/lib/Semantics/assignment.h
index ba537744bfaaa..193feb8b92d3d 100644
--- a/flang/lib/Semantics/assignment.h
+++ b/flang/lib/Semantics/assignment.h
@@ -37,7 +37,7 @@ class AssignmentChecker : public virtual BaseChecker {
public:
explicit AssignmentChecker(SemanticsContext &);
~AssignmentChecker();
- void Enter(const parser::OpenMPDeclareReductionConstruct &x);
+ void Enter(const parser::OmpDeclareReductionDirective &x);
void Enter(const parser::AssignmentStmt &);
void Enter(const parser::PointerAssignmentStmt &);
void Enter(const parser::WhereStmt &);
diff --git a/flang/lib/Semantics/check-omp-structure.cpp b/flang/lib/Semantics/check-omp-structure.cpp
index 2ece66166fb22..0f875893a82a6 100644
--- a/flang/lib/Semantics/check-omp-structure.cpp
+++ b/flang/lib/Semantics/check-omp-structure.cpp
@@ -1648,7 +1648,7 @@ void OmpStructureChecker::Leave(const parser::OpenMPThreadprivate &x) {
dirContext_.pop_back();
}
-void OmpStructureChecker::Enter(const parser::OpenMPDeclareSimdConstruct &x) {
+void OmpStructureChecker::Enter(const parser::OmpDeclareSimdDirective &x) {
const parser::OmpDirectiveName &dirName{x.v.DirName()};
PushContextAndClauseSets(dirName.source, dirName.v);
@@ -1709,7 +1709,7 @@ void OmpStructureChecker::Enter(const parser::OpenMPDeclareSimdConstruct &x) {
}
}
-void OmpStructureChecker::Leave(const parser::OpenMPDeclareSimdConstruct &) {
+void OmpStructureChecker::Leave(const parser::OmpDeclareSimdDirective &) {
dirContext_.pop_back();
}
@@ -2235,7 +2235,7 @@ void OmpStructureChecker::Enter(const parser::OmpClause::Allocate &x) {
}
}
-void OmpStructureChecker::Enter(const parser::OpenMPDeclareMapperConstruct &x) {
+void OmpStructureChecker::Enter(const parser::OmpDeclareMapperDirective &x) {
const parser::OmpDirectiveName &dirName{x.v.DirName()};
PushContextAndClauseSets(dirName.source, dirName.v);
@@ -2258,12 +2258,11 @@ void OmpStructureChecker::Enter(const parser::OpenMPDeclareMapperConstruct &x) {
}
}
-void OmpStructureChecker::Leave(const parser::OpenMPDeclareMapperConstruct &) {
+void OmpStructureChecker::Leave(const parser::OmpDeclareMapperDirective &) {
dirContext_.pop_back();
}
-void OmpStructureChecker::Enter(
- const parser::OpenMPDeclareReductionConstruct &x) {
+void OmpStructureChecker::Enter(const parser::OmpDeclareReductionDirective &x) {
const parser::OmpDirectiveName &dirName{x.v.DirName()};
PushContextAndClauseSets(dirName.source, dirName.v);
@@ -2281,8 +2280,7 @@ void OmpStructureChecker::Enter(
}
}
-void OmpStructureChecker::Leave(
- const parser::OpenMPDeclareReductionConstruct &) {
+void OmpStructureChecker::Leave(const parser::OmpDeclareReductionDirective &) {
dirContext_.pop_back();
}
@@ -2318,7 +2316,7 @@ void OmpStructureChecker::CheckSymbolNames(
}
}
-void OmpStructureChecker::Enter(const parser::OpenMPDeclareTargetConstruct &x) {
+void OmpStructureChecker::Enter(const parser::OmpDeclareTargetDirective &x) {
const parser::OmpDirectiveName &dirName{x.v.DirName()};
PushContext(dirName.source, dirName.v);
@@ -2366,7 +2364,7 @@ void OmpStructureChecker::Enter(const parser::OpenMPDeclareTargetConstruct &x) {
}
}
-void OmpStructureChecker::Leave(const parser::OpenMPDeclareTargetConstruct &x) {
+void OmpStructureChecker::Leave(const parser::OmpDeclareTargetDirective &x) {
const parser::OmpDirectiveName &dirName{x.v.DirName()};
// Handle both forms of DECLARE TARGET.
diff --git a/flang/lib/Semantics/check-omp-structure.h b/flang/lib/Semantics/check-omp-structure.h
index adb2c466ef87c..5bccf3576923e 100644
--- a/flang/lib/Semantics/check-omp-structure.h
+++ b/flang/lib/Semantics/check-omp-structure.h
@@ -124,16 +124,16 @@ class OmpStructureChecker : public OmpStructureCheckerBase {
void Enter(const parser::OmpDeclareVariantDirective &);
void Leave(const parser::OmpDeclareVariantDirective &);
- void Enter(const parser::OpenMPDeclareSimdConstruct &);
- void Leave(const parser::OpenMPDeclareSimdConstruct &);
+ void Enter(const parser::OmpDeclareSimdDirective &);
+ void Leave(const parser::OmpDeclareSimdDirective &);
void Enter(const parser::OmpAllocateDirective &);
void Leave(const parser::OmpAllocateDirective &);
- void Enter(const parser::OpenMPDeclareMapperConstruct &);
- void Leave(const parser::OpenMPDeclareMapperConstruct &);
- void Enter(const parser::OpenMPDeclareReductionConstruct &);
- void Leave(const parser::OpenMPDeclareReductionConstruct &);
- void Enter(const parser::OpenMPDeclareTargetConstruct &);
- void Leave(const parser::OpenMPDeclareTargetConstruct &);
+ void Enter(const parser::OmpDeclareMapperDirective &);
+ void Leave(const parser::OmpDeclareMapperDirective &);
+ void Enter(const parser::OmpDeclareReductionDirective &);
+ void Leave(const parser::OmpDeclareReductionDirective &);
+ void Enter(const parser::OmpDeclareTargetDirective &);
+ void Leave(const parser::OmpDeclareTargetDirective &);
void Enter(const parser::OpenMPDepobjConstruct &);
void Leave(const parser::OpenMPDepobjConstruct &);
void Enter(const parser::OpenMPDispatchConstruct &);
diff --git a/flang/lib/Semantics/resolve-directives.cpp b/flang/lib/Semantics/resolve-directives.cpp
index 278c2765949e3..fa6a957ee3831 100644
--- a/flang/lib/Semantics/resolve-directives.cpp
+++ b/flang/lib/Semantics/resolve-directives.cpp
@@ -585,7 +585,7 @@ class OmpAttributeVisitor : DirectiveAttributeVisitor<llvm::omp::Directive> {
bool Pre(const parser::OpenMPCriticalConstruct &critical);
void Post(const parser::OpenMPCriticalConstruct &) { PopContext(); }
- bool Pre(const parser::OpenMPDeclareSimdConstruct &x) {
+ bool Pre(const parser::OmpDeclareSimdDirective &x) {
PushContext(x.source, llvm::omp::Directive::OMPD_declare_simd);
for (const parser::OmpArgument &arg : x.v.Arguments().v) {
if (auto *object{omp::GetArgumentObject(arg)}) {
@@ -594,7 +594,7 @@ class OmpAttributeVisitor : DirectiveAttributeVisitor<llvm::omp::Directive> {
}
return true;
}
- void Post(const parser::OpenMPDeclareSimdConstruct &) { PopContext(); }
+ void Post(const parser::OmpDeclareSimdDirective &) { PopContext(); }
bool Pre(const parser::OpenMPDepobjConstruct &x) {
PushContext(x.source, llvm::omp::Directive::OMPD_depobj);
@@ -684,14 +684,14 @@ class OmpAttributeVisitor : DirectiveAttributeVisitor<llvm::omp::Directive> {
}
void Post(const parser::OpenMPRequiresConstruct &) { PopContext(); }
- bool Pre(const parser::OpenMPDeclareTargetConstruct &);
- void Post(const parser::OpenMPDeclareTargetConstruct &) { PopContext(); }
+ bool Pre(const parser::OmpDeclareTargetDirective &);
+ void Post(const parser::OmpDeclareTargetDirective &) { PopContext(); }
- bool Pre(const parser::OpenMPDeclareMapperConstruct &);
- void Post(const parser::OpenMPDeclareMapperConstruct &) { PopContext(); }
+ bool Pre(const parser::OmpDeclareMapperDirective &);
+ void Post(const parser::OmpDeclareMapperDirective &) { PopContext(); }
- bool Pre(const parser::OpenMPDeclareReductionConstruct &);
- void Post(const parser::OpenMPDeclareReductionConstruct &) { PopContext(); }
+ bool Pre(const parser::OmpDeclareReductionDirective &);
+ void Post(const parser::OmpDeclareReductionDirective &) { PopContext(); }
bool Pre(const parser::OpenMPThreadprivate &);
void Post(const parser::OpenMPThreadprivate &) { PopContext(); }
@@ -2143,7 +2143,7 @@ bool OmpAttributeVisitor::Pre(const parser::OpenMPCriticalConstruct &x) {
return true;
}
-bool OmpAttributeVisitor::Pre(const parser::OpenMPDeclareTargetConstruct &x) {
+bool OmpAttributeVisitor::Pre(const parser::OmpDeclareTargetDirective &x) {
PushContext(x.source, llvm::omp::Directive::OMPD_declare_target);
for (const parser::OmpArgument &arg : x.v.Arguments().v) {
@@ -2162,14 +2162,13 @@ bool OmpAttributeVisitor::Pre(const parser::OpenMPDeclareTargetConstruct &x) {
return true;
}
-bool OmpAttributeVisitor::Pre(const parser::OpenMPDeclareMapperConstruct &x) {
+bool OmpAttributeVisitor::Pre(const parser::OmpDeclareMapperDirective &x) {
const parser::OmpDirectiveName &dirName{x.v.DirName()};
PushContext(dirName.source, dirName.v);
return true;
}
-bool OmpAttributeVisitor::Pre(
- const parser::OpenMPDeclareReductionConstruct &x) {
+bool OmpAttributeVisitor::Pre(const parser::OmpDeclareReductionDirective &x) {
PushContext(x.source, llvm::omp::Directive::OMPD_declare_reduction);
return true;
}
diff --git a/flang/lib/Semantics/resolve-names.cpp b/flang/lib/Semantics/resolve-names.cpp
index 94c1cc799e7e0..3d42208688497 100644
--- a/flang/lib/Semantics/resolve-names.cpp
+++ b/flang/lib/Semantics/resolve-names.cpp
@@ -1752,12 +1752,12 @@ class OmpVisitor : public virtual DeclarationVisitor {
}
}
- bool Pre(const parser::OpenMPDeclareMapperConstruct &x) {
+ bool Pre(const parser::OmpDeclareMapperDirective &x) {
AddOmpSourceRange(x.source);
return true;
}
- bool Pre(const parser::OpenMPDeclareSimdConstruct &x) {
+ bool Pre(const parser::OmpDeclareSimdDirective &x) {
AddOmpSourceRange(x.source);
return true;
}
@@ -1767,7 +1767,7 @@ class OmpVisitor : public virtual DeclarationVisitor {
return true;
}
- bool Pre(const parser::OpenMPDeclareReductionConstruct &x) {
+ bool Pre(const parser::OmpDeclareReductionDirective &x) {
AddOmpSourceRange(x.source);
return true;
}
@@ -1797,7 +1797,7 @@ class OmpVisitor : public virtual DeclarationVisitor {
return true;
}
void Post(const parser::OpenMPThreadprivate &) { SkipImplicitTyping(false); }
- bool Pre(const parser::OpenMPDeclareTargetConstruct &x) {
+ bool Pre(const parser::OmpDeclareTargetDirective &x) {
auto addObjectName{[&](const parser::OmpObject &object) {
common::visit(
common::visitors{
@@ -1840,7 +1840,7 @@ class OmpVisitor : public virtual DeclarationVisitor {
SkipImplicitTyping(true);
return true;
}
- void Post(const parser::OpenMPDeclareTargetConstruct &) {
+ void Post(const parser::OmpDeclareTargetDirective &) {
SkipImplicitTyping(false);
}
bool Pre(const parser::OmpAllocateDirective &x) {
diff --git a/flang/lib/Semantics/rewrite-parse-tree.cpp b/flang/lib/Semantics/rewrite-parse-tree.cpp
index 60e3e6ab3f5f1..dff5a1cd30a1b 100644
--- a/flang/lib/Semantics/rewrite-parse-tree.cpp
+++ b/flang/lib/Semantics/rewrite-parse-tree.cpp
@@ -133,7 +133,7 @@ void RewriteMutator::OpenMPSimdOnly(parser::SpecificationPart &specPart) {
&specConstr->u)}) {
if (std::holds_alternative<parser::OpenMPThreadprivate>(
ompDecl->value().u) ||
- std::holds_alternative<parser::OpenMPDeclareMapperConstruct>(
+ std::holds_alternative<parser::OmpDeclareMapperDirective>(
ompDecl->value().u)) {
it = list.erase(it);
continue;
diff --git a/flang/lib/Semantics/unparse-with-symbols.cpp b/flang/lib/Semantics/unparse-with-symbols.cpp
index ec5b3ffadf30e..e202c17835044 100644
--- a/flang/lib/Semantics/unparse-with-symbols.cpp
+++ b/flang/lib/Semantics/unparse-with-symbols.cpp
@@ -60,27 +60,27 @@ class SymbolDumpVisitor {
}
void Post(const parser::OpenMPThreadprivate &) { currStmt_ = std::nullopt; }
- bool Pre(const parser::OpenMPDeclareMapperConstruct &x) {
+ bool Pre(const parser::OmpDeclareMapperDirective &x) {
currStmt_ = x.source;
return true;
}
- void Post(const parser::OpenMPDeclareMapperConstruct &) {
+ void Post(const parser::OmpDeclareMapperDirective &) {
currStmt_ = std::nullopt;
}
- bool Pre(const parser::OpenMPDeclareReductionConstruct &x) {
+ bool Pre(const parser::OmpDeclareReductionDirective &x) {
currStmt_ = x.source;
return true;
}
- void Post(const parser::OpenMPDeclareReductionConstruct &) {
+ void Post(const parser::OmpDeclareReductionDirective &) {
currStmt_ = std::nullopt;
}
- bool Pre(const parser::OpenMPDeclareTargetConstruct &x) {
+ bool Pre(const parser::OmpDeclareTargetDirective &x) {
currStmt_ = x.source;
return true;
}
- void Post(const parser::OpenMPDeclareTargetConstruct &) {
+ void Post(const parser::OmpDeclareTargetDirective &) {
currStmt_ = std::nullopt;
}
diff --git a/flang/test/Parser/OpenMP/declare-mapper-unparse.f90 b/flang/test/Parser/OpenMP/declare-mapper-unparse.f90
index 9da6674c3a58d..78019962a8b09 100644
--- a/flang/test/Parser/OpenMP/declare-mapper-unparse.f90
+++ b/flang/test/Parser/OpenMP/declare-mapper-unparse.f90
@@ -12,7 +12,7 @@ program main
!CHECK: !$OMP DECLARE MAPPER(mymapper:ty::mapped) MAP(mapped,mapped%x)
!$omp declare mapper(mymapper : ty :: mapped) map(mapped, mapped%x)
-!PARSE-TREE: OpenMPDeclareMapperConstruct
+!PARSE-TREE: OmpDeclareMapperDirective
!PARSE-TREE: OmpMapperSpecifier
!PARSE-TREE: string = 'mymapper'
!PARSE-TREE: TypeSpec -> DerivedTypeSpec
@@ -27,7 +27,7 @@ program main
!CHECK: !$OMP DECLARE MAPPER(ty::mapped) MAP(mapped,mapped%x)
!$omp declare mapper(ty :: mapped) map(mapped, mapped%x)
-!PARSE-TREE: OpenMPDeclareMapperConstruct
+!PARSE-TREE: OmpDeclareMapperDirective
!PARSE-TREE: OmpMapperSpecifier
!PARSE-TREE: string = 'ty_omp_default_mapper'
!PARSE-TREE: TypeSpec -> DerivedTypeSpec
diff --git a/flang/test/Parser/OpenMP/declare-reduction-combiner.f90 b/flang/test/Parser/OpenMP/declare-reduction-combiner.f90
index 291be6718847c..17ff6a69ebf08 100644
--- a/flang/test/Parser/OpenMP/declare-reduction-combiner.f90
+++ b/flang/test/Parser/OpenMP/declare-reduction-combiner.f90
@@ -17,7 +17,7 @@ subroutine f00
!UNPARSE: END SUBROUTINE
!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct
-!PARSE-TREE: OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> ProcedureDesignator -> Name = 'tred'
@@ -61,7 +61,7 @@ subroutine f01
!UNPARSE: END SUBROUTINE
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> ProcedureDesignator -> Name = 'tred'
diff --git a/flang/test/Parser/OpenMP/declare-reduction-multi.f90 b/flang/test/Parser/OpenMP/declare-reduction-multi.f90
index e08afce718fcb..38ffffa9b418b 100644
--- a/flang/test/Parser/OpenMP/declare-reduction-multi.f90
+++ b/flang/test/Parser/OpenMP/declare-reduction-multi.f90
@@ -29,7 +29,7 @@ program omp_examples
!CHECK: !$OMP DECLARE REDUCTION(+:tt: omp_out%r = omp_out%r + omp_in%r) INITIALIZER(om&
!CHECK-NEXT: !$OMP&p_priv%r = 0)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> DefinedOperator -> IntrinsicOperator = Add
@@ -69,7 +69,7 @@ program omp_examples
!CHECK-NEXT: !$OMP DECLARE REDUCTION(*:tt: omp_out%r = omp_out%r * omp_in%r) INITIALIZER(om&
!CHECK-NEXT: !$OMP&p_priv%r = 1)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> DefinedOperator -> IntrinsicOperator = Multiply
@@ -109,7 +109,7 @@ program omp_examples
!CHECK-NEXT: !$OMP DECLARE REDUCTION(max:tt: omp_out = mymax(omp_out, omp_in)) INITIALIZER(&
!CHECK-NEXT: !$OMP&omp_priv%r = 0)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> ProcedureDesignator -> Name = 'max'
@@ -146,7 +146,7 @@ program omp_examples
!CHECK-NEXT: !$OMP DECLARE REDUCTION(min:tt: omp_out%r = min(omp_out%r, omp_in%r)) INITIALI&
!CHECK-NEXT: !$OMP&ZER(omp_priv%r = 1)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> ProcedureDesignator -> Name = 'min'
diff --git a/flang/test/Parser/OpenMP/declare-reduction-operator.f90 b/flang/test/Parser/OpenMP/declare-reduction-operator.f90
index c104e9488f075..ded6022698e25 100644
--- a/flang/test/Parser/OpenMP/declare-reduction-operator.f90
+++ b/flang/test/Parser/OpenMP/declare-reduction-operator.f90
@@ -19,7 +19,7 @@ subroutine reduce_1 ( n, tts )
!CHECK: !$OMP DECLARE REDUCTION(+:tt: omp_out = tt(omp_out%x - omp_in%x , omp_out%y - &
!CHECK: !$OMP&omp_in%y)) INITIALIZER(omp_priv = tt(0,0))
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> DefinedOperator -> IntrinsicOperator = Add
@@ -80,7 +80,7 @@ subroutine reduce_1 ( n, tts )
!CHECK: !$OMP DECLARE REDUCTION(+:tt2: omp_out = tt2(omp_out%x - omp_in%x , omp_out%y &
!CHECK: !$OMP&- omp_in%y)) INITIALIZER(omp_priv = tt2(0,0))
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> DefinedOperator -> IntrinsicOperator = Add
diff --git a/flang/test/Parser/OpenMP/declare-reduction-unparse.f90 b/flang/test/Parser/OpenMP/declare-reduction-unparse.f90
index 41fbde296761b..2e734af10ce7c 100644
--- a/flang/test/Parser/OpenMP/declare-reduction-unparse.f90
+++ b/flang/test/Parser/OpenMP/declare-reduction-unparse.f90
@@ -22,7 +22,7 @@ end subroutine initme
!CHECK: !$OMP DECLARE REDUCTION(red_add:INTEGER(KIND=4_4): omp_out=omp_out+omp_in) INITIA&
!CHECKL !$OMP&LIZER(initme(omp_priv,0))
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> ProcedureDesignator -> Name = 'red_add'
@@ -94,7 +94,7 @@ program main
print *, "sum of thread numbers is ", my_var
end program main
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> ProcedureDesignator -> Name = 'my_add_red'
diff --git a/flang/test/Parser/OpenMP/declare-target-indirect-tree.f90 b/flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
index e2645bae3034d..4bcced78a98de 100644
--- a/flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
+++ b/flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
@@ -13,7 +13,7 @@ function func() result(i)
contains
function func1() result(i)
!$omp declare target enter(func1) indirect(.true.)
- !CHECK: OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+ !CHECK: OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!CHECK-NEXT: | OmpDirectiveName -> llvm::omp::Directive = declare target
!CHECK-NEXT: | OmpClauseList -> OmpClause -> Enter -> OmpEnterClause
!CHECK-NEXT: | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'func1'
@@ -28,7 +28,7 @@ function func1() result(i)
function func2() result(i)
!$omp declare target enter(func2) indirect
- !CHECK: OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+ !CHECK: OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!CHECK-NEXT: | OmpDirectiveName -> llvm::omp::Directive = declare target
!CHECK-NEXT: | OmpClauseList -> OmpClause -> Enter -> OmpEnterClause
!CHECK-NEXT: | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'func2'
diff --git a/flang/test/Parser/OpenMP/declare-target-to-clause.f90 b/flang/test/Parser/OpenMP/declare-target-to-clause.f90
index efcdc44e0f64e..410a46cf55eab 100644
--- a/flang/test/Parser/OpenMP/declare-target-to-clause.f90
+++ b/flang/test/Parser/OpenMP/declare-target-to-clause.f90
@@ -12,7 +12,7 @@ module m
!UNPARSE: !$OMP DECLARE TARGET TO(x,y)
!UNPARSE: END MODULE
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> To -> OmpToClause
!PARSE-TREE: | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x'
diff --git a/flang/test/Parser/OpenMP/declare_target-device_type.f90 b/flang/test/Parser/OpenMP/declare_target-device_type.f90
index a505b9113d819..4b61fb6f16f33 100644
--- a/flang/test/Parser/OpenMP/declare_target-device_type.f90
+++ b/flang/test/Parser/OpenMP/declare_target-device_type.f90
@@ -5,7 +5,7 @@ subroutine openmp_declare_target
integer, save :: x, y
!CHECK: !$omp declare target device_type(host) enter(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Host
!PARSE-TREE: | OmpClause -> Enter -> OmpEnterClause
@@ -15,7 +15,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(nohost) enter(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Nohost
!PARSE-TREE: | OmpClause -> Enter -> OmpEnterClause
@@ -25,7 +25,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(any) enter(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Any
!PARSE-TREE: | OmpClause -> Enter -> OmpEnterClause
@@ -35,7 +35,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(host) to(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Host
!PARSE-TREE: | OmpClause -> To -> OmpToClause
@@ -46,7 +46,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(nohost) to(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Nohost
!PARSE-TREE: | OmpClause -> To -> OmpToClause
@@ -57,7 +57,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(any) to(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Any
!PARSE-TREE: | OmpClause -> To -> OmpToClause
@@ -68,7 +68,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(host) enter(y) to(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Host
!PARSE-TREE: | OmpClause -> Enter -> OmpEnterClause
@@ -81,7 +81,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(nohost) enter(y) to(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Nohost
!PARSE-TREE: | OmpClause -> Enter -> OmpEnterClause
@@ -94,7 +94,7 @@ subroutine openmp_declare_target
!CHECK: !$omp declare target device_type(any) enter(y) to(x)
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> DeviceType -> OmpDeviceTypeClause -> DeviceTypeDescription = Any
!PARSE-TREE: | OmpClause -> Enter -> OmpEnterClause
diff --git a/flang/test/Parser/OpenMP/enter-automap-modifier.f90 b/flang/test/Parser/OpenMP/enter-automap-modifier.f90
index 71d804548e552..8388db310b7fc 100644
--- a/flang/test/Parser/OpenMP/enter-automap-modifier.f90
+++ b/flang/test/Parser/OpenMP/enter-automap-modifier.f90
@@ -11,7 +11,7 @@ program automap
!UNPARSE: !$OMP DECLARE_TARGET ENTER(AUTOMAP: x)
!UNPARSE: END PROGRAM
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList -> OmpClause -> Enter -> OmpEnterClause
!PARSE-TREE: | | Modifier -> OmpAutomapModifier -> Value = Automap
diff --git a/flang/test/Parser/OpenMP/linear-clause.f90 b/flang/test/Parser/OpenMP/linear-clause.f90
index a6f84b3d844aa..5df37e0b3b028 100644
--- a/flang/test/Parser/OpenMP/linear-clause.f90
+++ b/flang/test/Parser/OpenMP/linear-clause.f90
@@ -87,7 +87,7 @@ subroutine f03(x)
!UNPARSE: !$OMP DECLARE SIMD LINEAR(x: UVAL)
!UNPARSE: END SUBROUTINE
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareSimdConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareSimdDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare simd
!PARSE-TREE: | OmpClauseList -> OmpClause -> Linear -> OmpLinearClause
!PARSE-TREE: | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x'
@@ -105,7 +105,7 @@ subroutine f04(x)
!UNPARSE: !$OMP DECLARE SIMD LINEAR(x: UVAL, STEP(3_4))
!UNPARSE: END SUBROUTINE
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareSimdConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareSimdDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare simd
!PARSE-TREE: | OmpClauseList -> OmpClause -> Linear -> OmpLinearClause
!PARSE-TREE: | | OmpObjectList -> OmpObject -> Designator -> DataRef -> Name = 'x'
diff --git a/flang/test/Parser/OpenMP/openmp6-directive-spellings.f90 b/flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
index 9f39066f131cd..dbe51d854da04 100644
--- a/flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
+++ b/flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
@@ -54,7 +54,7 @@ subroutine f01
!UNPARSE: !$OMP DECLARE_MAPPER(t::v) MAP(v%x)
!UNPARSE: END SUBROUTINE
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareMapperConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareMapperDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare mapper
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpMapperSpecifier
!PARSE-TREE: | | string = 't_omp_default_mapper'
@@ -82,7 +82,7 @@ subroutine f02
!UNPARSE: !$OMP DECLARE_REDUCTION(+:t: omp_out%x = omp_out%x + omp_in%x)
!UNPARSE: END SUBROUTINE
-!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareReductionConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareReductionDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare reduction
!PARSE-TREE: | OmpArgumentList -> OmpArgument -> OmpReductionSpecifier
!PARSE-TREE: | | OmpReductionIdentifier -> DefinedOperator -> IntrinsicOperator = Add
@@ -117,7 +117,7 @@ subroutine f03
!UNPARSE: !$OMP DECLARE_SIMD
!UNPARSE: END SUBROUTINE
-!PARSE-TREE: OpenMPDeclarativeConstruct -> OpenMPDeclareSimdConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: OpenMPDeclarativeConstruct -> OmpDeclareSimdDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare simd
!PARSE-TREE: | OmpClauseList ->
!PARSE-TREE: | Flags = {}
@@ -130,7 +130,7 @@ subroutine f04
!UNPARSE: !$OMP DECLARE_TARGET
!UNPARSE: END SUBROUTINE
-!PARSE-TREE: OpenMPDeclarativeConstruct -> OpenMPDeclareTargetConstruct -> OmpDirectiveSpecification
+!PARSE-TREE: OpenMPDeclarativeConstruct -> OmpDeclareTargetDirective -> OmpDirectiveSpecification
!PARSE-TREE: | OmpDirectiveName -> llvm::omp::Directive = declare target
!PARSE-TREE: | OmpClauseList ->
!PARSE-TREE: | Flags = {}
diff --git a/flang/test/Semantics/OpenMP/simd-only.f90 b/flang/test/Semantics/OpenMP/simd-only.f90
index 4e29329e15cac..8205b98ac6663 100644
--- a/flang/test/Semantics/OpenMP/simd-only.f90
+++ b/flang/test/Semantics/OpenMP/simd-only.f90
@@ -411,6 +411,6 @@ module test_declare_mapper
real, allocatable :: data(:)
end type myvec_t
- ! CHECK-NOT: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OpenMPDeclareMapperConstruct
+ ! CHECK-NOT: DeclarationConstruct -> SpecificationConstruct -> OpenMPDeclarativeConstruct -> OmpDeclareMapperDirective
!$omp declare mapper(myvec_t :: v) map(v, v%data(1:v%len))
end module
More information about the flang-commits
mailing list