|
6 | 6 |
|
7 | 7 | --> |
8 | 8 |
|
9 | | -# Flang OpenMP Standards Support |
| 9 | +# Flang OpenMP Support |
10 | 10 |
|
11 | 11 | ```{contents} |
12 | 12 | --- |
13 | 13 | local: |
14 | 14 | --- |
15 | 15 | ``` |
16 | 16 |
|
17 | | -This document summarizes OpenMP standards support in Flang. The information is only provided as a guideline. The |
18 | | -TODOs/Not Yet Implemented messages emitted by the compiler for unimplemented features should be treated as authoritative. |
19 | | -As of March 2025, standards support is provided upto OpenMP 4.0. We are actively working towards supporting OpenMP 4.5, OpenMP 5.* and OpenMP 6.0. |
| 17 | +This document outlines the OpenMP API features supported by Flang. It is intended as a general reference. |
| 18 | +For the most accurate information on unimplemented features, rely on the compiler’s TODO or “Not Yet Implemented” |
| 19 | +messages, which are considered authoritative. Flang provides full support for OpenMP 3.1 and partial support for |
| 20 | +OpenMP 4.0. The table below details the current support for OpenMP 4.0 features. Work is ongoing to add support |
| 21 | +for OpenMP 4.5 and newer versions; an official support statement for these will be shared in the future. |
20 | 22 |
|
21 | | -The standards support information is provided as a table with three columns that are self explanatory. The Status column uses |
| 23 | +The feature support information is provided as a table with three columns that are self explanatory. The Status column uses |
22 | 24 | the letters **P**, **Y**, **N** for the implementation status: |
23 | | -- **P** : When the implementation is incomplete for a few cases |
24 | | -- **Y** : When the implementation is complete |
25 | | -- **N** : When the implementation is absent |
| 25 | +- **P** : Partial. When the implementation is incomplete for a few cases |
| 26 | +- **Y** : Yes. When the implementation is complete |
| 27 | +- **N** : No. When the implementation is absent |
26 | 28 |
|
27 | 29 | Note : No distinction is made between the support in Parser/Semantics, MLIR, Lowering or the OpenMPIRBuilder. |
28 | 30 |
|
@@ -59,4 +61,4 @@ Note : No distinction is made between the support in Parser/Semantics, MLIR, Low |
59 | 61 | | target teams distribute parallel loop simd construct | P | | |
60 | 62 |
|
61 | 63 | ## OpenMP 3.1, OpenMP 2.5, OpenMP 1.1 |
62 | | -All features except a few corner cases in atomic, copyin constructs/clauses are supported |
| 64 | +All features except a few corner cases in atomic (complex type, different but compatible types in lhs and rhs), threadprivate (character type) constructs/clauses are supported. |
0 commit comments