diff mbox series

[Committed] PR fortran/85407 -- convert assert to fatal error

Message ID 20181226204217.GA99713@troutmask.apl.washington.edu
State New
Headers show
Series [Committed] PR fortran/85407 -- convert assert to fatal error | expand

Commit Message

Steve Kargl Dec. 26, 2018, 8:42 p.m. UTC
Back in April, I told Harald I would get around to committing
the attached patch.  Well, "around" has arrived.  The patch
has been tested on i586-*-freebsd and x86_64-*-freebsd.

The patch converts an assert into a gfc_fatal_error(), which
gives a user some information about the failure.  There is
no testcase as one need to go out of one's way to corrupt
the components in a derived typed in a *.mod file.

2018-12-26  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/85407
	* module.c (read_module): Convert assert to fatal error to give 
	user a sensible error message.
diff mbox series

Patch

Index: gcc/fortran/module.c
===================================================================
--- gcc/fortran/module.c	(revision 267418)
+++ gcc/fortran/module.c	(working copy)
@@ -5180,7 +5180,13 @@  read_module (void)
 	      if (p->u.pointer == NULL)
 		associate_integer_pointer (p, c);
 	      mio_pool_string (&comp_name);
-	      gcc_assert (comp_name == c->name);
+	      if (comp_name != c->name)
+		{
+		  gfc_fatal_error ("Mismatch in components of derived type "
+				   "%qs from %qs at %C: expecting %qs, "
+				   "but got %qs", sym->name, sym->module,
+				   c->name, comp_name);
+		}
 	      skip_list (1); /* component end.  */
 	    }
 	  mio_rparen (); /* component list closing.  */