From 1c4bb3cbe6250949ee3de18cac1a46bd947a2cde Mon Sep 17 00:00:00 2001 From: mikael Date: Wed, 6 Oct 2010 15:39:15 +0000 Subject: [PATCH] 2010-10-06 Mikael Morin * trans-array.c (gfc_build_constant_array_constructor): Free array spec when done. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165041 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/trans-array.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 7d2f798da51..27ed63c2706 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,10 @@ 2010-10-06 Mikael Morin + * trans-array.c (gfc_build_constant_array_constructor): Free array + spec when done. + +2010-10-06 Mikael Morin + * symbol.c (gfc_copy_formal_args_ppc): Free previous formal arg list before overwriting it. diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index b32c3eccd8f..93d9b79f178 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -1731,6 +1731,13 @@ gfc_build_constant_array_constructor (gfc_expr * expr, tree type) tmptype = gfc_get_nodesc_array_type (type, &as, PACKED_STATIC, true); + /* as is not needed anymore. */ + for (i = 0; i < as.rank + as.corank; i++) + { + gfc_free_expr (as.lower[i]); + gfc_free_expr (as.upper[i]); + } + init = build_constructor (tmptype, v); TREE_CONSTANT (init) = 1; -- 2.11.0