summaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-17 08:35:01 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2006-05-17 08:35:01 +0000
commit87f7c31ef783d27c635cec533ca1d67789096966 (patch)
tree7de49861b990eff224e646e29a3ad1dd59004468 /gcc/tree.h
parent93c1299472e04fceb734d53cb35bc76e1586bc66 (diff)
downloadgcc-87f7c31ef783d27c635cec533ca1d67789096966.tar.gz
PR middle-end/27415
* tree.h (OMP_PARALLEL_COMBINED): Define. * gimplify.c (struct gimplify_omp_ctx): Add is_combined_parallel field. (new_omp_context): Add is_combined_parallel argument. (gimplify_scan_omp_clauses): Add in_combined_parallel argument, adjust new_omp_context caller. (gimplify_omp_parallel, gimplify_omp_for, gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses callers. (omp_is_private): Issue errors if iteration variable is firstprivate or reduction in the current context. * c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED on combined parallel workshare constructs. cp/ * parser.c (cp_parser_omp_parallel): Set OMP_PARALLEL_COMBINED on combined parallel workshare constructs. * pt.c (tsubst_expr): Copy OMP_PARALLEL_COMBINED flag. fortran/ * trans-openmp.c (gfc_trans_omp_parallel_do, gfc_trans_omp_parallel_sections, gfc_trans_omp_parallel_workshare): Set OMP_PARALLEL_COMBINED flag. testsuite/ * gcc.dg/gomp/pr27415.c: New test. * g++.dg/gomp/pr27415.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113846 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 7a4ee33346a..55a5d8f8618 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -443,6 +443,8 @@ struct tree_common GTY(())
OMP_RETURN
OMP_SECTION_LAST in
OMP_SECTION
+ OMP_PARALLEL_COMBINED in
+ OMP_PARALLEL
protected_flag:
@@ -1583,6 +1585,11 @@ struct tree_constructor GTY(())
#define OMP_RETURN_NOWAIT(NODE) \
TREE_PRIVATE (OMP_RETURN_CHECK (NODE))
+/* True on an OMP_PARALLEL statement if it represents an explicit
+ combined parallel work-sharing constructs. */
+#define OMP_PARALLEL_COMBINED(NODE) \
+ TREE_PRIVATE (OMP_PARALLEL_CHECK (NODE))
+
/* True on a PRIVATE clause if its decl is kept around for debugging
information only and its DECL_VALUE_EXPR is supposed to point
to what it has been remapped to. */