https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80752
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |kargl at gcc dot gnu.org
--- Comment #2 from kargl at gcc dot gnu.org ---
Here's two possible patches. The first possible patch
converts the reported error from an internal error to a
fatal error.
Index: gcc/fortran/intrinsic.c
===================================================================
--- gcc/fortran/intrinsic.c (revision 248066)
+++ gcc/fortran/intrinsic.c (working copy)
@@ -4900,7 +4900,7 @@ gfc_convert_type (gfc_expr *expr, gfc_ty
The possible values are:
1 Generate a gfc_error()
- 2 Generate a gfc_internal_error().
+ 2 Generate a gfc_fatal_error().
'wflag' controls the warning related to conversion. */
@@ -5064,7 +5064,7 @@ bad:
return false;
}
- gfc_internal_error ("Can't convert %qs to %qs at %L",
+ gfc_fatal_error ("Can't convert %qs to %qs at %L",
gfc_typename (&from_ts), gfc_typename (ts),
&expr->where);
/* Not reached */
The second possible patch allows the gfortran to continue
processing the code, but the error is repeated 3 times.
Index: gcc/fortran/expr.c
===================================================================
--- gcc/fortran/expr.c (revision 248066)
+++ gcc/fortran/expr.c (working copy)
@@ -4395,7 +4395,7 @@ gfc_generate_initializer (gfc_typespec *
if ((comp->ts.type != tmp->ts.type
|| comp->ts.kind != tmp->ts.kind)
&& !comp->attr.pointer && !comp->attr.proc_pointer)
- gfc_convert_type_warn (ctor->expr, &comp->ts, 2, false);
+ gfc_convert_type_warn (ctor->expr, &comp->ts, 1, false);
}
if (comp->attr.allocatable