[flang-commits] [flang] [flang][OpenMP] Move resolution of common blocks to resolve-names.cpp… (PR #179669)
Krzysztof Parzyszek via flang-commits
flang-commits at lists.llvm.org
Wed Feb 4 06:19:31 PST 2026
https://github.com/kparzysz created https://github.com/llvm/llvm-project/pull/179669
…, NFC
>From a1a4330b0ea087527a53569472752075937fce59 Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Wed, 4 Feb 2026 07:59:51 -0600
Subject: [PATCH] [flang][OpenMP] Move resolution of common blocks to
resolve-names.cpp, NFC
---
flang/lib/Semantics/resolve-directives.cpp | 14 --------------
flang/lib/Semantics/resolve-names.cpp | 14 ++++++++++++++
2 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/flang/lib/Semantics/resolve-directives.cpp b/flang/lib/Semantics/resolve-directives.cpp
index 3f0294e287fed..401d4d825b57e 100644
--- a/flang/lib/Semantics/resolve-directives.cpp
+++ b/flang/lib/Semantics/resolve-directives.cpp
@@ -727,20 +727,6 @@ class OmpAttributeVisitor : DirectiveAttributeVisitor<llvm::omp::Directive> {
}
void Post(const parser::OmpDeclareVariantDirective &) { PopContext(); };
- void Post(const parser::OmpObjectList &x) {
- // The objects from OMP clauses should have already been resolved,
- // except common blocks (the ResolveNamesVisitor does not visit
- // parser::Name, those are dealt with as members of other structures).
- // Iterate over elements of x, and resolve any common blocks that
- // are still unresolved.
- for (const parser::OmpObject &obj : x.v) {
- auto *name{std::get_if<parser::Name>(&obj.u)};
- if (name && !name->symbol) {
- Resolve(*name, currScope().MakeCommonBlock(name->source, name->source));
- }
- }
- }
-
// 2.15.3 Data-Sharing Attribute Clauses
bool Pre(const parser::OmpClause::Inclusive &x) {
ResolveOmpObjectList(x.v, Symbol::Flag::OmpInclusiveScan);
diff --git a/flang/lib/Semantics/resolve-names.cpp b/flang/lib/Semantics/resolve-names.cpp
index db84cc40c4283..164a9bedcc393 100644
--- a/flang/lib/Semantics/resolve-names.cpp
+++ b/flang/lib/Semantics/resolve-names.cpp
@@ -1618,6 +1618,20 @@ class OmpVisitor : public virtual DeclarationVisitor {
bool Pre(const parser::OmpStylizedInstance &);
void Post(const parser::OmpStylizedInstance &);
+ void Post(const parser::OmpObjectList &x) {
+ // The objects from OMP clauses should have already been resolved,
+ // except common blocks (the ResolveNamesVisitor does not visit
+ // parser::Name, those are dealt with as members of other structures).
+ // Iterate over elements of x, and resolve any common blocks that
+ // are still unresolved.
+ for (const parser::OmpObject &obj : x.v) {
+ auto *name{std::get_if<parser::Name>(&obj.u)};
+ if (name && !name->symbol) {
+ Resolve(*name, currScope().MakeCommonBlock(name->source, name->source));
+ }
+ }
+ }
+
bool Pre(const parser::OpenMPDeclareMapperConstruct &x) {
AddOmpSourceRange(x.source);
return true;
More information about the flang-commits
mailing list