diff options
| -rw-r--r-- | gcc/fortran/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/fortran/trans-stmt.c | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index dc0bfbb..4f8a609 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,9 @@ 2010-10-06 Mikael Morin <mikael@gcc.gnu.org> + * trans-stmt.c (gfc_trans_forall_1): Free forall struct at the end. + +2010-10-06 Mikael Morin <mikael@gcc.gnu.org> + * trans-expr.c (get_proc_ptr_comp): Restore initial expression type before calling gfc_free_expr. diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index 12ebe4a..1a4828a 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -3462,6 +3462,13 @@ gfc_trans_forall_1 (gfc_code * code, forall_info * nested_forall_info) gfc_free (varexpr); gfc_free (saved_vars); + for (this_forall = info->this_loop; this_forall;) + { + iter_info *next = this_forall->next; + gfc_free (this_forall); + this_forall = next; + } + /* Free the space for this forall_info. */ gfc_free (info); |
