| Issue |
180493
|
| Summary |
[Flang][OpenMP] Support THREADPRIVATE for Symbols in EQUIVALENCE
|
| Labels |
flang
|
| Assignees |
mjklemm
|
| Reporter |
mjklemm
|
With PR https://github.com/llvm/llvm-project/pull/127642 landed, Flang now objects against variables that are in a `EQUIVALENCE` statement and appear in a `THREADPRIVATE` directive. This is a per the OpenMP specification:
```Text
Page 61 : OpenMP 5.2
11 When a named common block appears in an OpenMP argument list, it has the same meaning and
12 restrictions as if every explicit member of the common block appeared in the list. An explicit
13 member of a common block is a variable that is named in a COMMON statement that specifies the
14 common block name and is declared in the same scoping unit in which the clause appears.
Page 105 : OpenMP 5.2
8 A variable may only appear as an argument in a threadprivate directive in the scope in
9 which it is declared. It must not be an element of a common block or appear in an
10 EQUIVALENCE statement.
```
There seem to be several ISV codes that heavily use this code pattern and other compilers accept that pattern.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs