From 6cf06ccde6dfe5c6a525a16bacaafca12242a9ca Mon Sep 17 00:00:00 2001 From: pbrook Date: Wed, 10 Nov 2004 20:03:21 +0000 Subject: [PATCH] PR fortran/18375 * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss. * trans-io.c (transfer_array_component): Ditto. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90449 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans-expr.c | 4 ++-- gcc/fortran/trans-io.c | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 26575297570..faeebac9caa 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 2004-11-10 Paul Brook + PR fortran/18375 + * trans-expr.c (gfc_trans_subarray_assign): Free shape before ss. + * trans-io.c (transfer_array_component): Ditto. + +2004-11-10 Paul Brook + * invoke.texi: Fix typo. 2004-11-08 Kazu Hirata diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index d6da9bf96db..8832b33f6db 100644 --- a/gcc/fortran/trans-expr.c +++ b/gcc/fortran/trans-expr.c @@ -1566,12 +1566,12 @@ gfc_trans_subarray_assign (tree dest, gfc_component * cm, gfc_expr * expr) gfc_add_block_to_block (&block, &loop.pre); gfc_add_block_to_block (&block, &loop.post); - gfc_cleanup_loop (&loop); - for (n = 0; n < cm->as->rank; n++) mpz_clear (lss->shape[n]); gfc_free (lss->shape); + gfc_cleanup_loop (&loop); + return gfc_finish_block (&block); } diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c index d5e8df6d2df..194856f1a30 100644 --- a/gcc/fortran/trans-io.c +++ b/gcc/fortran/trans-io.c @@ -1222,12 +1222,12 @@ transfer_array_component (tree expr, gfc_component * cm) gfc_add_block_to_block (&block, &loop.pre); gfc_add_block_to_block (&block, &loop.post); - gfc_cleanup_loop (&loop); - for (n = 0; n < cm->as->rank; n++) mpz_clear (ss->shape[n]); gfc_free (ss->shape); + gfc_cleanup_loop (&loop); + return gfc_finish_block (&block); } -- 2.11.4.GIT