aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-low.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/omp-low.cc')
-rw-r--r--gcc/omp-low.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/omp-low.cc b/gcc/omp-low.cc
index b882df0..00e6fb0 100644
--- a/gcc/omp-low.cc
+++ b/gcc/omp-low.cc
@@ -4300,6 +4300,7 @@ scan_omp_1_stmt (gimple_stmt_iterator *gsi, bool *handled_ops_p,
}
/* FALLTHRU */
case GIMPLE_OMP_SECTION:
+ case GIMPLE_OMP_STRUCTURED_BLOCK:
case GIMPLE_OMP_MASTER:
case GIMPLE_OMP_ORDERED:
case GIMPLE_OMP_CRITICAL:
@@ -14499,6 +14500,14 @@ lower_omp_1 (gimple_stmt_iterator *gsi_p, omp_context *ctx)
gcc_assert (ctx);
lower_omp_single (gsi_p, ctx);
break;
+ case GIMPLE_OMP_STRUCTURED_BLOCK:
+ /* We have already done error checking at this point, so these nodes
+ can be completely removed and replaced with their body. */
+ ctx = maybe_lookup_ctx (stmt);
+ gcc_assert (ctx);
+ lower_omp (gimple_omp_body_ptr (stmt), ctx);
+ gsi_replace_with_seq (gsi_p, gimple_omp_body (stmt), true);
+ break;
case GIMPLE_OMP_MASTER:
case GIMPLE_OMP_MASKED:
ctx = maybe_lookup_ctx (stmt);
@@ -14886,6 +14895,7 @@ diagnose_sb_1 (gimple_stmt_iterator *gsi_p, bool *handled_ops_p,
case GIMPLE_OMP_SECTIONS:
case GIMPLE_OMP_SINGLE:
case GIMPLE_OMP_SECTION:
+ case GIMPLE_OMP_STRUCTURED_BLOCK:
case GIMPLE_OMP_MASTER:
case GIMPLE_OMP_MASKED:
case GIMPLE_OMP_ORDERED:
@@ -14949,6 +14959,7 @@ diagnose_sb_2 (gimple_stmt_iterator *gsi_p, bool *handled_ops_p,
case GIMPLE_OMP_SECTIONS:
case GIMPLE_OMP_SINGLE:
case GIMPLE_OMP_SECTION:
+ case GIMPLE_OMP_STRUCTURED_BLOCK:
case GIMPLE_OMP_MASTER:
case GIMPLE_OMP_MASKED:
case GIMPLE_OMP_ORDERED: