summaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-openmp.c
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2016-08-31 18:42:55 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2016-08-31 18:42:55 +0000
commit68c215e47b73f5d64a51ba3b261fdc212dc8270d (patch)
treeec28d0149fff8389b1640c653288cfcd0a1524d7 /gcc/fortran/trans-openmp.c
parenta7b3b7c4dce64ba911fbeec227d5d43c3bb995ec (diff)
downloadgcc-68c215e47b73f5d64a51ba3b261fdc212dc8270d.tar.gz
PR fortran/77352
* trans-openmp.c (gfc_trans_omp_parallel_workshare): Always add a BIND_EXPR with BLOCK around what gfc_trans_omp_workshare returns. * gfortran.dg/gomp/pr77352.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239904 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/trans-openmp.c')
-rw-r--r--gcc/fortran/trans-openmp.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c
index 3f5db965822..c0d67617871 100644
--- a/gcc/fortran/trans-openmp.c
+++ b/gcc/fortran/trans-openmp.c
@@ -4001,10 +4001,7 @@ gfc_trans_omp_parallel_workshare (gfc_code *code)
code->loc);
pushlevel ();
stmt = gfc_trans_omp_workshare (code, &workshare_clauses);
- if (TREE_CODE (stmt) != BIND_EXPR)
- stmt = build3_v (BIND_EXPR, NULL, stmt, poplevel (1, 0));
- else
- poplevel (0, 0);
+ stmt = build3_v (BIND_EXPR, NULL, stmt, poplevel (1, 0));
stmt = build2_loc (input_location, OMP_PARALLEL, void_type_node, stmt,
omp_clauses);
OMP_PARALLEL_COMBINED (stmt) = 1;