From efbf7392079222ef00db2d39998faf5513055181 Mon Sep 17 00:00:00 2001 From: Linus Koenig Date: Mon, 13 Apr 2020 16:30:44 +0200 Subject: ICE on wrong code [PR94192]. The idea is not have another resolution of a pointer if an error has occurred previously. 2020-04-13 Linus Koenig PR fortran/94192 * resolve.c (resolve_fl_var_and_proc): Set flag "error" to 1 if pointer is found to not have an assumed rank or a deferred shape. * simplify.c (simplify_bound): If an error has been issued for a given pointer, one should not attempt to find its bounds. 2020-04-13 Linus Koenig PR fortran/94192 * gfortran.dg/bound_resolve_after_error_1.f90: New test. --- gcc/fortran/resolve.c | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/fortran/resolve.c') diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index ccd2a5e..9b95200 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -12622,6 +12622,7 @@ resolve_fl_var_and_proc (gfc_symbol *sym, int mp_flag) { gfc_error ("Array pointer %qs at %L must have a deferred shape or " "assumed rank", sym->name, &sym->declared_at); + sym->error = 1; return false; } } -- cgit v1.1