[all-commits] [llvm/llvm-project] b94997: [flang][OpenMP] Fix metadirective loop semantic ch...

Chi-Chun, Chen via All-commits all-commits at lists.llvm.org
Mon Jul 13 14:24:34 PDT 2026


  Branch: refs/heads/users/cchen/flang-metadirective-sema-loop-post-merge
  Home:   https://github.com/llvm/llvm-project
  Commit: b94997198796080ec2e2e8c5f0d784413e2127d7
      https://github.com/llvm/llvm-project/commit/b94997198796080ec2e2e8c5f0d784413e2127d7
  Author: chichunchen <chichunchen844 at gmail.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M flang/include/flang/Semantics/openmp-utils.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/check-omp-variant.cpp
    M flang/lib/Semantics/openmp-utils.cpp
    M flang/test/Semantics/OpenMP/metadirective-loop-applicability.f90
    M flang/test/Semantics/OpenMP/metadirective-loop-nest.f90

  Log Message:
  -----------
  [flang][OpenMP] Fix metadirective loop semantic checks

This is a follow-up to #207088.

Post-merge review feedback:

* Rename mayVariantBeSelected to MayVariantBeSelected and move it to
  the shared OpenMP semantic utilities so declare-variant checking can
  reuse it.
* Explain why a WHEN selector is recorded only when its modifier list
  contains exactly one element.
* Diagnose loop-associated variants that end a declaration-only
  program unit, such as a module with no execution part.

Additional correctness fixes:

* Handle consecutive metadirectives and modules or submodules with
  contained procedures without silently dropping an earlier
  loop-associated variant.
* Prevent a loop-associated variant in an interface, BLOCK construct,
  conditional branch, or nested body from being checked against an
  unrelated loop outside that scope.
* Avoid false or missing loop diagnostics when match_any or match_none
  combines target selectors with user or construct selectors.

Assisted with codex.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list