re PR fortran/85407 (Replace gcc_assert in module.c:read_module by more helpful diagn...
authorHarald Anlauf <anlauf@gmx.de>
Wed, 26 Dec 2018 20:37:28 +0000 (20:37 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Wed, 26 Dec 2018 20:37:28 +0000 (20:37 +0000)
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.

From-SVN: r267422

gcc/fortran/ChangeLog
gcc/fortran/module.c

index a93b99ee33332b86b4520e575e7989755649485d..af5467f8fa405880255a8b785bd184aa30c59eab 100644 (file)
@@ -1,3 +1,9 @@
+2018-12-26  Harald Anlauf  <anlauf@gmx.de>
+
+       PR fortran/85407
+       * module.c (read_module): Convert assert to fatal error to give a
+       sensible error message.
+
 2018-12-24  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/45513
index 163b3ceebb2c12050e94b0a6f5dfa31a8ede875e..4cfedf6a1533b6ab3c0b933c35b16b3d30faecbb 100644 (file)
@@ -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.  */