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>
|
2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
|
||||||
|
|
||||||
PR sanitizer/64820
|
PR sanitizer/64820
|
||||||
|
|
|
||||||
|
|
@ -1580,10 +1580,12 @@ delete_omp_context (splay_tree_value value)
|
||||||
splay_tree_delete (ctx->field_map);
|
splay_tree_delete (ctx->field_map);
|
||||||
if (ctx->sfield_map)
|
if (ctx->sfield_map)
|
||||||
splay_tree_delete (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
|
if (ctx->reduction_map
|
||||||
/* Shared over several omp_contexts. */
|
&& gimple_code (ctx->stmt) == GIMPLE_OMP_TARGET
|
||||||
&& (ctx->outer == NULL
|
&& is_gimple_omp_offloaded (ctx->stmt)
|
||||||
|| ctx->reduction_map != ctx->outer->reduction_map))
|
&& is_gimple_omp_oacc (ctx->stmt))
|
||||||
splay_tree_delete (ctx->reduction_map);
|
splay_tree_delete (ctx->reduction_map);
|
||||||
|
|
||||||
/* We hijacked DECL_ABSTRACT_ORIGIN earlier. We need to clear it before
|
/* We hijacked DECL_ABSTRACT_ORIGIN earlier. We need to clear it before
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue