diff options
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r-- | gcc/omp-low.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 6f38646afd2..6dded503954 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -58,6 +58,8 @@ along with GCC; see the file COPYING3. If not see #include "gomp-constants.h" #include "gimple-pretty-print.h" #include "hsa-common.h" +#include "stringpool.h" +#include "attribs.h" #include "params.h" /* Lowering of OMP parallel and workshare constructs proceeds in two @@ -797,6 +799,8 @@ omp_copy_decl (tree var, copy_body_data *cb) if (TREE_CODE (var) == LABEL_DECL) { + if (FORCED_LABEL (var) || DECL_NONLOCAL (var)) + return var; new_var = create_artificial_label (DECL_SOURCE_LOCATION (var)); DECL_CONTEXT (new_var) = current_function_decl; insert_decl_map (&ctx->cb, var, new_var); @@ -9085,7 +9089,7 @@ diagnose_sb_0 (gimple_stmt_iterator *gsi_p, } if (kind == NULL) { - gcc_checking_assert (flag_openmp); + gcc_checking_assert (flag_openmp || flag_openmp_simd); kind = "OpenMP"; } @@ -9345,7 +9349,7 @@ public: /* opt_pass methods: */ virtual bool gate (function *) { - return flag_cilkplus || flag_openacc || flag_openmp; + return flag_cilkplus || flag_openacc || flag_openmp || flag_openmp_simd; } virtual unsigned int execute (function *) { |