diff options
author | Paul Brook <paul@codesourcery.com> | 2004-11-10 20:03:21 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-11-10 20:03:21 +0000 |
commit | 9665466484bfb8035acf80f73d5d2449060b47e7 (patch) | |
tree | 2dc3220cdb8ff059082955dd6396293b324e4640 /gcc | |
parent | fdc7e5d00e0d577852dd17d6207750e8efacda0e (diff) | |
download | gcc-9665466484bfb8035acf80f73d5d2449060b47e7.zip gcc-9665466484bfb8035acf80f73d5d2449060b47e7.tar.gz gcc-9665466484bfb8035acf80f73d5d2449060b47e7.tar.bz2 |
re PR fortran/18375 (ICE when compiling spec benchmark fma3d)
PR fortran/18375
* trans-expr.c (gfc_trans_subarray_assign): Free shape before ss.
* trans-io.c (transfer_array_component): Ditto.
From-SVN: r90449
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/trans-expr.c | 4 | ||||
-rw-r--r-- | gcc/fortran/trans-io.c | 4 |
3 files changed, 10 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 2657529..faeebac 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 2004-11-10 Paul Brook <paul@codesourcery.com> + 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 <paul@codesourcery.com> + * invoke.texi: Fix typo. 2004-11-08 Kazu Hirata <kazu@cs.umass.edu> diff --git a/gcc/fortran/trans-expr.c b/gcc/fortran/trans-expr.c index d6da9bf..8832b33 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 d5e8df6..194856f 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); } |