[flang-commits] [flang] [flang][OpenMP] Support substrings and complex part refs for DEPEND (PR #143907)

Krzysztof Parzyszek via flang-commits flang-commits at lists.llvm.org
Thu Jun 12 08:58:53 PDT 2025


================
@@ -6524,6 +6525,26 @@ void OmpStructureChecker::CheckDependList(const parser::DataRef &d) {
 void OmpStructureChecker::CheckArraySection(
     const parser::ArrayElement &arrayElement, const parser::Name &name,
     const llvm::omp::Clause clause) {
+  // Sometimes substring operations are incorrectly parsed as array accesses.
+  // Detect this by looking for array accesses on character variables which are
+  // not arrays.
+  bool isSubstring{false};
+  evaluate::ExpressionAnalyzer ea{context_};
+  MaybeExpr expr = ea.Analyze(arrayElement.base);
+  if (expr) {
----------------
kparzysz wrote:

if (MaybeExpr expr = ...)

https://github.com/llvm/llvm-project/pull/143907


More information about the flang-commits mailing list