[flang-commits] [flang] 7b9fd32 - [flang][OpenMP] Move resolution of common blocks to resolve-names.cpp… (#179669)
via flang-commits
flang-commits at lists.llvm.org
Wed Feb 4 06:39:55 PST 2026
Author: Krzysztof Parzyszek
Date: 2026-02-04T08:39:50-06:00
New Revision: 7b9fd32daad83b8412e12505b7ec01818cc37880
URL: https://github.com/llvm/llvm-project/commit/7b9fd32daad83b8412e12505b7ec01818cc37880
DIFF: https://github.com/llvm/llvm-project/commit/7b9fd32daad83b8412e12505b7ec01818cc37880.diff
LOG: [flang][OpenMP] Move resolution of common blocks to resolve-names.cpp… (#179669)
…, NFC
Added:
Modified:
flang/lib/Semantics/resolve-directives.cpp
flang/lib/Semantics/resolve-names.cpp
Removed:
################################################################################
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