gimplify.c (struct gimplify_omp_ctx): Add order_concurrent member.
authorJakub Jelinek <jakub@redhat.com>
Sat, 13 Jul 2019 06:25:04 +0000 (08:25 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sat, 13 Jul 2019 06:25:04 +0000 (08:25 +0200)
commit704686049d5eb2d54fe62585d2c17c5ef00dbb83
tree0278c5ad8b6326931917d793acc35b41b2a6b73f
parentbf85a0385f07887c35c32d62cf9d015b4ae58d22
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
gcc/ChangeLog
gcc/gimplify.c
gcc/omp-low.c
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/gomp/order-3.c [new file with mode: 0644]
gcc/testsuite/c-c++-common/gomp/order-4.c [new file with mode: 0644]