diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2007-10-18 12:44:03 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2007-10-18 12:44:03 +0000 |
commit | 2dc955484e85876217366340ac2ba1cacc71b9f6 (patch) | |
tree | 78b764aa11db8a305689cf048eea74d3865c3291 /gcc/fortran | |
parent | 741e7594bec656ff6a5bc2e7e83655e86880e868 (diff) | |
download | gcc-2dc955484e85876217366340ac2ba1cacc71b9f6.zip gcc-2dc955484e85876217366340ac2ba1cacc71b9f6.tar.gz gcc-2dc955484e85876217366340ac2ba1cacc71b9f6.tar.bz2 |
re PR fortran/33733 (ICEs in simplify_transfer)
2007-10-18 Paul Thomas <pault@gcc.gnu.org>
Dominique d'Humieres <dominiq@lps.ens.fr>
PR fortran/33733
* simplify.c (gfc_simplify_transfer): Return null if the source
expression is EXPR_FUNCTION.
2007-10-18 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33733
* gfortran.dg/transfer_simplify_6.f90: New test.
From-SVN: r129435
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/simplify.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/simplify.c b/gcc/fortran/simplify.c index c9885ddd..0bb13c1 100644 --- a/gcc/fortran/simplify.c +++ b/gcc/fortran/simplify.c @@ -4011,6 +4011,9 @@ gfc_simplify_transfer (gfc_expr *source, gfc_expr *mold, gfc_expr *size) || !gfc_is_constant_expr (size)) return NULL; + if (source->expr_type == EXPR_FUNCTION) + return NULL; + /* Calculate the size of the source. */ if (source->expr_type == EXPR_ARRAY && gfc_array_size (source, &tmp) == FAILURE) |