aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-11-10 20:03:21 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-11-10 20:03:21 +0000
commit9665466484bfb8035acf80f73d5d2449060b47e7 (patch)
tree2dc3220cdb8ff059082955dd6396293b324e4640 /gcc
parentfdc7e5d00e0d577852dd17d6207750e8efacda0e (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/fortran/trans-expr.c4
-rw-r--r--gcc/fortran/trans-io.c4
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);
}