gimplify.c (struct gimplify_omp_ctx): Add order_concurrent member.
* gimplify.c (struct gimplify_omp_ctx): Add order_concurrent member. (omp_notice_threadprivate_variable): Diagnose threadprivate variable uses inside of order(concurrent) constructs. (gimplify_scan_omp_clauses): Set ctx->order_concurrent if OMP_CLAUSE_ORDER is seen. * omp-low.c (struct omp_context): Add order_concurrent member. (scan_sharing_clauses): Set ctx->order_concurrent if OMP_CLAUSE_ORDER is seen. (check_omp_nesting_restrictions): Diagnose ordered or atomic inside of simd order(concurrent). Diagnose constructs not allowed inside of for order(concurrent). (setjmp_or_longjmp_p): Add a context and TREE_PUBLIC check to avoid complaining about static double setjmp (double); or class static methods or non-global namespace setjmps. (omp_runtime_api_call): New function. (scan_omp_1_stmt): Diagnose OpenMP runtime API calls inside of order(concurrent) loops. * c-c++-common/gomp/order-3.c: New test. * c-c++-common/gomp/order-4.c: New test. From-SVN: r273464
Showing
- gcc/ChangeLog 20 additions, 0 deletionsgcc/ChangeLog
- gcc/gimplify.c 19 additions, 5 deletionsgcc/gimplify.c
- gcc/omp-low.c 159 additions, 6 deletionsgcc/omp-low.c
- gcc/testsuite/ChangeLog 5 additions, 0 deletionsgcc/testsuite/ChangeLog
- gcc/testsuite/c-c++-common/gomp/order-3.c 212 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/order-3.c
- gcc/testsuite/c-c++-common/gomp/order-4.c 29 additions, 0 deletionsgcc/testsuite/c-c++-common/gomp/order-4.c
Loading
Please register or sign in to comment