aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2013-03-01 11:24:11 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2013-03-01 11:24:11 +0100
commit76c1a7ec3da05e9a249c9ccdda28c44778cd1a3f (patch)
tree18b5f22d4be524defaf3e433b8386679d956586b /gcc/fortran
parentcf2f3b1b6783317bfa53bc154eaee59a03ff47c4 (diff)
downloadgcc-76c1a7ec3da05e9a249c9ccdda28c44778cd1a3f.zip
gcc-76c1a7ec3da05e9a249c9ccdda28c44778cd1a3f.tar.gz
gcc-76c1a7ec3da05e9a249c9ccdda28c44778cd1a3f.tar.bz2
trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
2013-03-01 Tobias Burnus <burnus@net-b.de> * trans-decl.c (gfc_trans_deferred_vars): Free expr after use. * trans-io.c (build_dt): Ditto. From-SVN: r196372
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/trans-decl.c10
-rw-r--r--gcc/fortran/trans-io.c2
3 files changed, 13 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 2bea996..cb6fd61 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-01 Tobias Burnus <burnus@net-b.de>
+
+ * trans-decl.c (gfc_trans_deferred_vars): Free expr after use.
+ * trans-io.c (build_dt): Ditto.
+
2013-02-24 Joseph Myers <joseph@codesourcery.com>
* resolve.c (generate_component_assignments): Don't use UTF-8
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 337d747..7806bbb 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -3818,10 +3818,12 @@ gfc_trans_deferred_vars (gfc_symbol * proc_sym, gfc_wrapped_block * block)
NULL_TREE, true, NULL,
true);
else
- tmp = gfc_deallocate_scalar_with_status (se.expr, NULL_TREE,
- true,
- gfc_lval_expr_from_sym (sym),
- sym->ts);
+ {
+ gfc_expr *expr = gfc_lval_expr_from_sym (sym);
+ tmp = gfc_deallocate_scalar_with_status (se.expr, NULL_TREE,
+ true, expr, sym->ts);
+ gfc_free_expr (expr);
+ }
}
if (sym->ts.type == BT_CLASS)
{
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index bb5fa24..9394810 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -1782,6 +1782,8 @@ build_dt (tree function, gfc_code * code)
mask |= set_string (&block, &post_block, var, IOPARM_dt_namelist_name,
nmlname);
+ gfc_free_expr (nmlname);
+
if (last_dt == READ)
mask |= IOPARM_dt_namelist_read_mode;