https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113906
Bug ID: 113906 Summary: [OpenMP][5.2] 'construct' context selectors lack many constructs Product: gcc Version: 14.0 Status: UNCONFIRMED Keywords: openmp, rejects-valid Severity: normal Priority: P3 Component: middle-end Assignee: unassigned at gcc dot gnu.org Reporter: burnus at gcc dot gnu.org CC: sandra at gcc dot gnu.org Target Milestone: --- GCC only accepts the those constructs that are permitted for 5.1 for the 'construct' selector. Expected: Those of OpenMP 5.2 are supported as well. OpenMP 5.1 has: The 'construct' selector set defines the _construct_ traits that should be active in the OpenMP context. The following selectors can be defined in the construct set: 'target'; 'teams'; 'parallel'; 'for' (in C/C++); 'do' (in Fortran); 'simd' and 'dispatch'. Each trait-property of the simd selector is a _trait-property-clause._ The syntax is the same as for a valid clause of the 'declare simd' directive and the restrictions on the clauses from that directive apply. The construct selector is an ordered list c1, . . . , cN. OpenMP 5.2 has [and TR12 has]: The 'construct' selector set defines the construct traits [TR12: construct trait set] that should be active in the OpenMP context. Each [trait] selector that can be defined in the 'construct' [selector] set is the directive-name of a context-matching construct. Each trait-property of the 'simd' selector is a trait-property-clause. The syntax is the same as for a valid clause of the declare simd directive and the restrictions on the clauses from that directive apply. The construct selector is an ordered list c1, . . . , cN. OpenMP TR12 also adds a helpful glossary entry: 'construct trait set' - The trait set that consists of all enclosing constructs at a given point in an OpenMP program up to a target construct.