aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-diff/lib
diff options
context:
space:
mode:
authorKrzysztof Parzyszek <Krzysztof.Parzyszek@amd.com>2025-11-03 07:37:13 -0600
committerGitHub <noreply@github.com>2025-11-03 07:37:13 -0600
commit3d3fab17f5ea8a14eb390f53075c094f5e1f19fa (patch)
treee70f65b2dbb2a6d94880590caf9906e2cad95c4b /llvm/tools/llvm-diff/lib
parent795fa9ea00a18b2ccd779efb17ce805a73d1ce7a (diff)
downloadllvm-3d3fab17f5ea8a14eb390f53075c094f5e1f19fa.zip
llvm-3d3fab17f5ea8a14eb390f53075c094f5e1f19fa.tar.gz
llvm-3d3fab17f5ea8a14eb390f53075c094f5e1f19fa.tar.bz2
[flang][OpenMP] Use OmpDirectiveSpecification in ALLOCATE (#165865)
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 directives 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 OmpAllocateDirectives, 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.
Diffstat (limited to 'llvm/tools/llvm-diff/lib')
0 files changed, 0 insertions, 0 deletions