diff options
| author | Krzysztof Parzyszek <Krzysztof.Parzyszek@amd.com> | 2025-11-03 07:37:13 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-03 07:37:13 -0600 |
| commit | 3d3fab17f5ea8a14eb390f53075c094f5e1f19fa (patch) | |
| tree | e70f65b2dbb2a6d94880590caf9906e2cad95c4b /llvm/tools/llvm-diff/lib | |
| parent | 795fa9ea00a18b2ccd779efb17ce805a73d1ce7a (diff) | |
| download | llvm-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
