aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-offload.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-02-14 20:40:27 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-02-14 20:40:27 +0100
commit622f6b642a6c90720becec67d63a7b2f9e40a675 (patch)
tree2791828700952fc10f7dc353a33f93d6bf14220e /gcc/omp-offload.c
parent63d090338085c842d23594061321eef48a58bd60 (diff)
downloadgcc-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.c11
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);
}