aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2013-04-18 20:59:38 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2013-04-18 20:59:38 +0200
commit36abe8958790744a78e4159c96d8be05d1458ff9 (patch)
tree6ee281c2a3bcf72cd82191493519aeaf778bc791 /gcc/fortran/expr.c
parent6f5a366a60e2ee3b3d9ea3500cab1d2de63a6e72 (diff)
downloadgcc-36abe8958790744a78e4159c96d8be05d1458ff9.zip
gcc-36abe8958790744a78e4159c96d8be05d1458ff9.tar.gz
gcc-36abe8958790744a78e4159c96d8be05d1458ff9.tar.bz2
expr.c (find_array_element): Don't copy expr.
2013-04-18 Tobias Burnus <burnus@net-b.de> * expr.c (find_array_element): Don't copy expr. * data.c (create_character_initializer): Free expr. * frontend-passes.c (combine_array_constructor): Ditto. * match.c (match_typebound_call, gfc_match_select_type): Ditto. * resolve.c (resolve_typebound_function): Free gfc_ref. From-SVN: r198068
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index 490cdaa..ab62c18 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -1209,7 +1209,7 @@ find_array_element (gfc_constructor_base base, gfc_array_ref *ar,
goto depart;
}
- e = gfc_copy_expr (ar->start[i]);
+ e = ar->start[i];
if (e->expr_type != EXPR_CONSTANT)
{
cons = NULL;
@@ -1258,8 +1258,6 @@ depart:
mpz_clear (offset);
mpz_clear (span);
mpz_clear (tmp);
- if (e)
- gfc_free_expr (e);
*rval = cons;
return t;
}