[flang][OpenMP] Add semantic checks for ordered construct
This patch implements the following semantic checks according to OpenMP Version 5.1 Ordered construct restriction: ``` At most one threads clause can appear on an ordered construct; At most one simd clause can appear on an ordered construct; At most one depend(source) clause can appear on an ordered construct; Either depend(sink:vec) clauses or depend(source) clauses may appear on an ordered construct, but not both. ``` This patch also implements the following semantic checks according to the syntax and descriptions in OpenMP Version 5.1 Ordered construct: ``` The dependence types of sink or source are only allowed on an ordered construct. The depend(*) clauses are not allowed when ordered construct is a block construct with an ordered region. The threads or simd clauses are not allowed when the ordered construct is a standalone construct with no ordered region. ``` Co-authored-by:Sameeran Joshi <sameeranjayant.joshi@amd.com> Reviewed By: kiranchandramohan Differential Revision: https://reviews.llvm.org/D108512
Loading
Please register or sign in to comment