diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-03-28 23:33:29 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-03-28 23:33:29 +0100 |
commit | 79d64ee8295b19668e47e0f38bfe77ad9d67c0a7 (patch) | |
tree | 89da244f9e4f48eabb4b07ba477ea7762b9c30fd /gcc/omp-low.c | |
parent | e4479ec676b96445e52f47950703218162c4637a (diff) | |
download | gcc-79d64ee8295b19668e47e0f38bfe77ad9d67c0a7.zip gcc-79d64ee8295b19668e47e0f38bfe77ad9d67c0a7.tar.gz gcc-79d64ee8295b19668e47e0f38bfe77ad9d67c0a7.tar.bz2 |
re PR middle-end/89621 (ICE with allocatable character and openmp)
PR middle-end/89621
* tree-inline.h (struct copy_body_data): Add
dont_remap_vla_if_no_change flag.
* tree-inline.c (remap_type_3, remap_type_2): New functions.
(remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change
and remap_type_2 returns false.
* omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change.
Move ctx->cb.adjust_array_error_bounds setting to the outermost ctx
only from where it is copied to nested contexts.
* gfortran.dg/gomp/pr89621.f90: New test.
From-SVN: r270009
Diffstat (limited to 'gcc/omp-low.c')
-rw-r--r-- | gcc/omp-low.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 61f2f5e..874781a 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -868,11 +868,12 @@ new_omp_context (gimple *stmt, omp_context *outer_ctx) ctx->cb.copy_decl = omp_copy_decl; ctx->cb.eh_lp_nr = 0; ctx->cb.transform_call_graph_edges = CB_CGE_MOVE; + ctx->cb.adjust_array_error_bounds = true; + ctx->cb.dont_remap_vla_if_no_change = true; ctx->depth = 1; } ctx->cb.decl_map = new hash_map<tree, tree>; - ctx->cb.adjust_array_error_bounds = true; return ctx; } |