[all-commits] [llvm/llvm-project] b3a69f: [flang][OpenMP] Use OmpDirectiveSpecification in A...
Krzysztof Parzyszek via All-commits
all-commits at lists.llvm.org
Fri Oct 31 06:58:15 PDT 2025
Branch: refs/heads/users/kparzysz/r13-ods-allocate
Home: https://github.com/llvm/llvm-project
Commit: b3a69f5dabb6e8d6801b47eeb0b9de9023fcda2e
https://github.com/llvm/llvm-project/commit/b3a69f5dabb6e8d6801b47eeb0b9de9023fcda2e
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-10-31 (Fri, 31 Oct 2025)
Changed paths:
M flang/examples/FeatureList/FeatureList.cpp
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/openmp-utils.h
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/openmp-utils.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/canonicalize-omp.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate-align.f90
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
M flang/test/Parser/OpenMP/allocate-align-tree.f90
M flang/test/Parser/OpenMP/allocate-tree-spec-part.f90
M flang/test/Parser/OpenMP/allocate-tree.f90
M flang/test/Parser/OpenMP/allocate-unparse.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate-directive.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate10.f90
A flang/test/Semantics/OpenMP/allocate12.f90
Log Message:
-----------
[flang][OpenMP] Use OmpDirectiveSpecification in ALLOCATE
The ALLOCATE directive has two forms:
- A declarative form with a standalone directive:
!$OMP ALLOCATE (variable-list-item...)
- An executable form that consists of several diretives followed by an
ALLOCATE statement:
!$OMP ALLOCATE (variable-list-item...)
!$OMP ALLOCATE (variable-list-item...)
...
ALLOCATE (...)
The second form was deprecated in OpenMP 5.2 in favor of the ALLOCATORS
construct.
Since in the parse tree every type corresponding to a directive only
corresponds to a single directive, the executable form is represented by
a sequence of nested OmpAlocateDirectives, e.g.
!$OMP ALLOCATE(x)
!$OMP ALLOCATE(y)
ALLOCATE(x, y)
will become
OmpAllocateDirective
|- ALLOCATE(x) // begin directive
`- OmpAllocateDirective // block
|- ALLOCATE(y) // begin directive
`- ALLOCATE(x, y) // block
With this change all AST nodes for directives use OmpDirectiveSpecification
as the directive representation.
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