diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2011-11-09 09:51:49 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2011-11-09 09:51:49 +0000 |
commit | 7298eef346ba82d3e4e0a97ffd50ffa6469272e8 (patch) | |
tree | 21b7f86becc62380f19119a2313da5ef229932a3 /gcc/fortran/resolve.c | |
parent | 9c63ca5a1da8f003feff00d808d5d67931038d29 (diff) | |
download | gcc-7298eef346ba82d3e4e0a97ffd50ffa6469272e8.zip gcc-7298eef346ba82d3e4e0a97ffd50ffa6469272e8.tar.gz gcc-7298eef346ba82d3e4e0a97ffd50ffa6469272e8.tar.bz2 |
re PR fortran/50540 (Internal Error: Can't convert UNKNOWN to INTEGER(4) (r178939))
PR fortran/50540
* resolve.c (resolve_forall_iterators): Transform internal errors
to normal errors.
* gfortran.dg/forall_16.f90: New test.
From-SVN: r181200
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 0a8fac6..d96b332 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -6427,14 +6427,14 @@ resolve_forall_iterators (gfc_forall_iterator *it) gfc_error ("FORALL start expression at %L must be a scalar INTEGER", &iter->start->where); if (iter->var->ts.kind != iter->start->ts.kind) - gfc_convert_type (iter->start, &iter->var->ts, 2); + gfc_convert_type (iter->start, &iter->var->ts, 1); if (gfc_resolve_expr (iter->end) == SUCCESS && (iter->end->ts.type != BT_INTEGER || iter->end->rank != 0)) gfc_error ("FORALL end expression at %L must be a scalar INTEGER", &iter->end->where); if (iter->var->ts.kind != iter->end->ts.kind) - gfc_convert_type (iter->end, &iter->var->ts, 2); + gfc_convert_type (iter->end, &iter->var->ts, 1); if (gfc_resolve_expr (iter->stride) == SUCCESS) { @@ -6448,7 +6448,7 @@ resolve_forall_iterators (gfc_forall_iterator *it) &iter->stride->where); } if (iter->var->ts.kind != iter->stride->ts.kind) - gfc_convert_type (iter->stride, &iter->var->ts, 2); + gfc_convert_type (iter->stride, &iter->var->ts, 1); } for (iter = it; iter; iter = iter->next) |