diff options
author | Tobias Burnus <burnus@net-b.de> | 2007-09-13 20:08:04 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2007-09-13 20:08:04 +0200 |
commit | 3c7b91d3dcaf577588205ee810fbbdb91e64125f (patch) | |
tree | b9179f5461f752d81a6f49fc2cb48a258d0aa68b /gcc/fortran/resolve.c | |
parent | 10a6db6ef3704c55bebf354218fcd9166800f543 (diff) | |
download | gcc-3c7b91d3dcaf577588205ee810fbbdb91e64125f.zip gcc-3c7b91d3dcaf577588205ee810fbbdb91e64125f.tar.gz gcc-3c7b91d3dcaf577588205ee810fbbdb91e64125f.tar.bz2 |
re PR fortran/33343 (ICE (segfault) on invalid code with wrongly shaped arguments to elemental procedures)
2007-09-13 Tobias Burnus <burnus@net-b.de>
PR fortran/33343
* expr.c (gfc_check_conformance): Print ranks in the error message.
* resolve.c (resolve_elemental_actual): Check also conformance of
the actual arguments for elemental functions.
2007-09-13 Tobias Burnus <burnus@net-b.de>
PR fortran/33343
* gfortran.dg/elemental_args_check_1.f90: New.
* gfortran.dg/assumed_size_refs_1.f90: Update error message.
* gfortran.dg/elemental_subroutine_4.f90: Ditto.
From-SVN: r128473
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 76a20a4..55d087f 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -1275,13 +1275,10 @@ resolve_elemental_actual (gfc_expr *expr, gfc_code *c) if (resolve_assumed_size_actual (arg->expr)) return FAILURE; - if (expr) - continue; - - /* Elemental subroutine array actual arguments must conform. */ + /* Elemental procedure's array actual arguments must conform. */ if (e != NULL) { - if (gfc_check_conformance ("elemental subroutine", arg->expr, e) + if (gfc_check_conformance ("elemental procedure", arg->expr, e) == FAILURE) return FAILURE; } |