OpenMP: Fortran + ME - update for spatial dimensions + message clause
Adds 'message' and 'severity' clauses to OpenMP directives in Fortran and updates middle-end handling.
This commit enhances OpenMP support in the Fortran front-end and middle-end by adding ‘message’ and ‘severity’ clauses to target, teams, and parallel directives. It also updates the handling of spatial dimensions (‘dims’) and strict modifiers for team and thread counts, moving ‘sorry, unimplemented’ diagnostics to the middle end.
In Details
Extends OpenMP support in GCC for Fortran by introducing the message and severity clauses to target, teams, and parallel directives. It enhances the middle-end processing (omp-expand.cc) to handle dims and strict modifiers for team/thread counts, and relocates error reporting from the Fortran parser to the middle end.
- OpenMP
- A widely adopted API for shared-memory parallel programming. It consists of a set of compiler directives, library routines, and environment variables.
- middle-end
- The part of a compiler that performs optimizations and transformations on an intermediate representation (IR) of the code, after the front-end has parsed the source code.
- spatial dimensions
- In the context of OpenMP, refers to how threads are mapped across multiple dimensions, typically used with
teamsandparalleldirectives to control thread affinity and distribution.