diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-02-14 20:40:27 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-02-14 20:40:27 +0100 |
commit | 622f6b642a6c90720becec67d63a7b2f9e40a675 (patch) | |
tree | 2791828700952fc10f7dc353a33f93d6bf14220e /gcc/omp-offload.c | |
parent | 63d090338085c842d23594061321eef48a58bd60 (diff) | |
download | gcc-622f6b642a6c90720becec67d63a7b2f9e40a675.zip gcc-622f6b642a6c90720becec67d63a7b2f9e40a675.tar.gz gcc-622f6b642a6c90720becec67d63a7b2f9e40a675.tar.bz2 |
re PR middle-end/79505 (Memory leaks in oacc_loop_discover_walk)
PR middle-end/79505
* omp-offload.c (free_oacc_loop): Release loop->ifns vector.
(new_oacc_loop_raw): Don't clear already cleared fields.
From-SVN: r245445
Diffstat (limited to 'gcc/omp-offload.c')
-rw-r--r-- | gcc/omp-offload.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/gcc/omp-offload.c b/gcc/omp-offload.c index 11696b8..aed9e14 100644 --- a/gcc/omp-offload.c +++ b/gcc/omp-offload.c @@ -681,7 +681,6 @@ new_oacc_loop_raw (oacc_loop *parent, location_t loc) oacc_loop *loop = XCNEW (oacc_loop); loop->parent = parent; - loop->child = loop->sibling = NULL; if (parent) { @@ -690,15 +689,6 @@ new_oacc_loop_raw (oacc_loop *parent, location_t loc) } loop->loc = loc; - loop->marker = NULL; - memset (loop->heads, 0, sizeof (loop->heads)); - memset (loop->tails, 0, sizeof (loop->tails)); - loop->routine = NULL_TREE; - - loop->mask = loop->e_mask = loop->flags = loop->inner = 0; - loop->chunk_size = 0; - loop->head_end = NULL; - return loop; } @@ -773,6 +763,7 @@ free_oacc_loop (oacc_loop *loop) if (loop->child) free_oacc_loop (loop->child); + loop->ifns.release (); free (loop); } |