This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/77429] ICE in gfc_check_dependency, at fortran/dependency.c:1261
- From: "kargl at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 31 Aug 2016 20:02:25 +0000
- Subject: [Bug fortran/77429] ICE in gfc_check_dependency, at fortran/dependency.c:1261
- Auto-submitted: auto-generated
- References: <bug-77429-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77429
kargl at gcc dot gnu.org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2016-08-31
CC| |kargl at gcc dot gnu.org
Ever confirmed|0 |1
--- Comment #2 from kargl at gcc dot gnu.org ---
The following fixings the problem by converting the assert()
into a gfc_internal_error(). gfc_internal_error() exits if
error messages have been emitted instead of ICE-ing.
Index: dependency.c
===================================================================
--- dependency.c (revision 239833)
+++ dependency.c (working copy)
@@ -1258,7 +1258,8 @@ gfc_check_dependency (gfc_expr *expr1, g
&& strcmp (expr1->value.function.name, "_F.caf_get") == 0)
return 0;
- gcc_assert (expr1->expr_type == EXPR_VARIABLE);
+ if (expr1->expr_type != EXPR_VARIABLE)
+ gfc_internal_error ("gfc_check_dependency: expecting an EXPR_VARIABLE");
switch (expr2->expr_type)
{