aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorMikael Morin <mikael@gcc.gnu.org>2010-10-06 16:11:23 +0000
committerMikael Morin <mikael@gcc.gnu.org>2010-10-06 16:11:23 +0000
commit3231fe9002a12774393910a6fd2d68437562817a (patch)
tree86b4d79fba51d04c4dc659ef12fcdb7810826aa4 /gcc/fortran
parentc12ee5df35dad4a053195d2e8aef16b7758d77d8 (diff)
downloadgcc-3231fe9002a12774393910a6fd2d68437562817a.zip
gcc-3231fe9002a12774393910a6fd2d68437562817a.tar.gz
gcc-3231fe9002a12774393910a6fd2d68437562817a.tar.bz2
trans-expr.c (get_proc_ptr_comp): Restore initial expression type before calling gfc_free_expr.
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. From-SVN: r165048
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog4
-rw-r--r--gcc/fortran/trans-stmt.c7
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);