re PR fortran/54384 (gfortran memory leaks)
authorTobias Burnus <burnus@net-b.de>
Mon, 27 Aug 2012 14:42:50 +0000 (16:42 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Mon, 27 Aug 2012 14:42:50 +0000 (16:42 +0200)
2012-08-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/54384
        * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss
        and loop.

From-SVN: r190713

gcc/fortran/ChangeLog
gcc/fortran/trans-expr.c

index b6600735ef45facbe147e31659bced8a89b2c41f..c3e618567228c37ac8894aa35392dd7c182c8be5 100644 (file)
@@ -1,3 +1,9 @@
+2012-08-27  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/54384
+       * trans-expr.c (gfc_trans_arrayfunc_assign): Free se.ss
+       and loop.
+
 2012-08-27  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/41093
index ebaa2386055caddde1fb13ead3cf702d8d73f5ec..3ab7d5d5b7419db9893ff6bd0d2b724d4a10d8ee 100644 (file)
@@ -6781,6 +6781,11 @@ gfc_trans_arrayfunc_assign (gfc_expr * expr1, gfc_expr * expr2)
   gfc_conv_function_expr (&se, expr2);
   gfc_add_block_to_block (&se.pre, &se.post);
 
+  if (ss)
+    gfc_cleanup_loop (&loop);
+  else
+    gfc_free_ss_chain (se.ss);
+
   return gfc_finish_block (&se.pre);
 }