[flang-commits] [flang] [flang][OpenMP] Move resolution of common blocks to resolve-names.cpp… (PR #179669)
via flang-commits
flang-commits at lists.llvm.org
Wed Feb 4 06:20:05 PST 2026
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-semantics
Author: Krzysztof Parzyszek (kparzysz)
<details>
<summary>Changes</summary>
…, NFC
---
Full diff: https://github.com/llvm/llvm-project/pull/179669.diff
2 Files Affected:
- (modified) flang/lib/Semantics/resolve-directives.cpp (-14)
- (modified) flang/lib/Semantics/resolve-names.cpp (+14)
``````````diff
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;
``````````
</details>
https://github.com/llvm/llvm-project/pull/179669
More information about the flang-commits
mailing list