[all-commits] [llvm/llvm-project] 1ba385: [flang][OpenMP] Parse strictly- and loosely-struct...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Thu Jul 24 06:59:34 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 1ba3859cdbf263182502b1c00546e985bdb633da
      https://github.com/llvm/llvm-project/commit/1ba3859cdbf263182502b1c00546e985bdb633da
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-07-24 (Thu, 24 Jul 2025)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    A flang/test/Parser/OpenMP/block-construct.f90
    A flang/test/Parser/OpenMP/construct-prefix-conflict.f90

  Log Message:
  -----------
  [flang][OpenMP] Parse strictly- and loosely-structured blocks (#150298)

Block-associated constructs have, as their body, either a strictly- or a
loosely-structured block. In the former case the end-directive is
optional.

The existing parser required the end-directive to be present in all
cases.

Note:
The definitions of these blocks in the OpenMP spec exclude cases where
the block contains more than one construct, and the first one is
BLOCK/ENDBLOCK. For example, the following is invalid:
```
  !$omp target
  block         ! This cannot be a strictly-structured block, but
    continue    ! a loosely-structured block cannot start with
  endblock      ! BLOCK/ENDBLOCK
  continue      !
  !$omp end target
```



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