mirror of git://gcc.gnu.org/git/gcc.git
re PR middle-end/65431 (Invalid read of size 8 at 0x105DBBF8: delete_omp_context(unsigned long) (omp-low.c:1586))
PR middle-end/65431 * omp-low.c (delete_omp_context): Only splay_tree_delete reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded is_gimple_omp_oacc contexts. Don't look at ctx->outer. From-SVN: r221459
This commit is contained in:
parent
ae8b772f95
commit
3713412b8a
|
|
@ -1,3 +1,10 @@
|
|||
2015-03-16 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/65431
|
||||
* omp-low.c (delete_omp_context): Only splay_tree_delete
|
||||
reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
|
||||
is_gimple_omp_oacc contexts. Don't look at ctx->outer.
|
||||
|
||||
2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
|
||||
|
||||
PR sanitizer/64820
|
||||
|
|
|
|||
|
|
@ -1580,10 +1580,12 @@ delete_omp_context (splay_tree_value value)
|
|||
splay_tree_delete (ctx->field_map);
|
||||
if (ctx->sfield_map)
|
||||
splay_tree_delete (ctx->sfield_map);
|
||||
/* Reduction map is copied to nested contexts, so only delete it in the
|
||||
owner. */
|
||||
if (ctx->reduction_map
|
||||
/* Shared over several omp_contexts. */
|
||||
&& (ctx->outer == NULL
|
||||
|| ctx->reduction_map != ctx->outer->reduction_map))
|
||||
&& gimple_code (ctx->stmt) == GIMPLE_OMP_TARGET
|
||||
&& is_gimple_omp_offloaded (ctx->stmt)
|
||||
&& is_gimple_omp_oacc (ctx->stmt))
|
||||
splay_tree_delete (ctx->reduction_map);
|
||||
|
||||
/* We hijacked DECL_ABSTRACT_ORIGIN earlier. We need to clear it before
|
||||
|
|
|
|||
Loading…
Reference in New Issue