error.c (gfc_internal_error): Convert to common diagnostics.
authorTobias Burnus <burnus@net-b.de>
Tue, 25 Nov 2014 22:37:54 +0000 (23:37 +0100)
committerTobias Burnus <burnus@gcc.gnu.org>
Tue, 25 Nov 2014 22:37:54 +0000 (23:37 +0100)
2014-11-25  Tobias Burnus  <burnus@net-b.de>

        * error.c (gfc_internal_error): Convert to common diagnostics.
        * interface.c (gfc_find_sym_in_symtree): Use %qs.
        * intrinsic.c (make_generic, gfc_check_intrinsic_standard,
        gfc_convert_type_warn): Ditto.
        * module.c (write_symbol): Ditto.
        * symbol.c (gfc_get_default_type): Ditto; use fatal instead
        of internal error.
        * trans-array.c (gfc_walk_subexpr): Replace internal_error by
        gfc_internal_error.
        * trans-decl.c (gfc_get_symbol_decl,
        (gfc_create_module_variable): Ditto. Use %qs.
        * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto.
        * trans-io.c (transfer_expr): Ditto.
        * trans-openmp.c (gfc_trans_omp_workshare): Ditto.
        * trans.c (trans_code): Ditto.

From-SVN: r218068

12 files changed:
gcc/fortran/ChangeLog
gcc/fortran/error.c
gcc/fortran/interface.c
gcc/fortran/intrinsic.c
gcc/fortran/module.c
gcc/fortran/symbol.c
gcc/fortran/trans-array.c
gcc/fortran/trans-decl.c
gcc/fortran/trans-intrinsic.c
gcc/fortran/trans-io.c
gcc/fortran/trans-openmp.c
gcc/fortran/trans.c

index 970671a3553dc562367088afced23b2a5f238ef3..68c941654f6d832a510470d6930047740f1dc482 100644 (file)
@@ -1,3 +1,21 @@
+2014-11-25  Tobias Burnus  <burnus@net-b.de>
+
+       * error.c (gfc_internal_error): Convert to common diagnostics.
+       * interface.c (gfc_find_sym_in_symtree): Use %qs.
+       * intrinsic.c (make_generic, gfc_check_intrinsic_standard,
+       gfc_convert_type_warn): Ditto.
+       * module.c (write_symbol): Ditto.
+       * symbol.c (gfc_get_default_type): Ditto; use fatal instead
+       of internal error.
+       * trans-array.c (gfc_walk_subexpr): Replace internal_error by
+       gfc_internal_error.
+       * trans-decl.c (gfc_get_symbol_decl,
+       (gfc_create_module_variable): Ditto. Use %qs.
+       * trans-intrinsic.c (gfc_conv_intrinsic_lib_function): Ditto.
+       * trans-io.c (transfer_expr): Ditto.
+       * trans-openmp.c (gfc_trans_omp_workshare): Ditto.
+       * trans.c (trans_code): Ditto.
+
 2014-11-25  Tobias Burnus  <burnus@net-b.de>
 
        * gfortran.h (gfc_option_t): Remove flags moved as Var to .opt.
index a0ad2ad9c71fd9cbb9775bd1bddb5b7d6931db5e..00e92280ce3b830f63f257f8c4c3c3c62adb9e27 100644 (file)
@@ -1282,21 +1282,17 @@ gfc_error_now_1 (const char *gmsgid, ...)
 /* This shouldn't happen... but sometimes does.  */
 
 void
-gfc_internal_error (const char *format, ...)
+gfc_internal_error (const char *gmsgid, ...)
 {
   va_list argp;
+  diagnostic_info diagnostic;
 
-  buffer_flag = 0;
-
-  va_start (argp, format);
-
-  show_loci (&gfc_current_locus, NULL);
-  error_printf ("Internal Error at (1):");
-
-  error_print ("", format, argp);
+  va_start (argp, gmsgid);
+  diagnostic_set_info (&diagnostic, gmsgid, &argp, UNKNOWN_LOCATION, DK_ICE);
+  report_diagnostic (&diagnostic);
   va_end (argp);
 
-  exit (ICE_EXIT_CODE);
+  gcc_unreachable ();
 }
 
 
index 1eb09ac250da8c195634c1abc610f7afea296d8d..1980ddf662e8ddb42ee924096a3cddf771345889 100644 (file)
@@ -3542,7 +3542,7 @@ gfc_find_sym_in_symtree (gfc_symbol *sym)
       if (st)
        return st;
     }
-  gfc_internal_error ("Unable to find symbol %s", sym->name);
+  gfc_internal_error ("Unable to find symbol %qs", sym->name);
   /* Not reached.  */
 }
 
index 8cbcac980bbe05fec7e5c7541a035144c5c34252..6b874a4092f8482e85fe47619a32f2dbf60b7d93 100644 (file)
@@ -1086,7 +1086,7 @@ make_generic (const char *name, gfc_isym_id id, int standard ATTRIBUTE_UNUSED)
 
   g = gfc_find_function (name);
   if (g == NULL)
-    gfc_internal_error ("make_generic(): Can't find generic symbol '%s'",
+    gfc_internal_error ("make_generic(): Can't find generic symbol %qs",
                        name);
 
   gcc_assert (g->id == id);
@@ -4307,7 +4307,7 @@ gfc_check_intrinsic_standard (const gfc_intrinsic_sym* isym,
       break;
 
     default:
-      gfc_internal_error ("Invalid standard code on intrinsic '%s' (%d)",
+      gfc_internal_error ("Invalid standard code on intrinsic %qs (%d)",
                          isym->name, isym->standard);
     }
 
@@ -4735,7 +4735,7 @@ bad:
       return false;
     }
 
-  gfc_internal_error ("Can't convert %s to %s at %L",
+  gfc_internal_error ("Can't convert %qs to %qs at %L",
                      gfc_typename (&from_ts), gfc_typename (ts),
                      &expr->where);
   /* Not reached */
index 2449bbcb37d59fca787fcac5f3fc8dee8cac7031..3adbe1a5bbd7525c5efd338991f571c443e70928 100644 (file)
@@ -5496,7 +5496,7 @@ write_symbol (int n, gfc_symbol *sym)
   const char *label;
 
   if (sym->attr.flavor == FL_UNKNOWN || sym->attr.flavor == FL_LABEL)
-    gfc_internal_error ("write_symbol(): bad module symbol '%s'", sym->name);
+    gfc_internal_error ("write_symbol(): bad module symbol %qs", sym->name);
 
   mio_integer (&n);
 
index aeb7dce3ef2568d5cfcce19e236a9f5998eb1754..fa0ffe06818e347f922b85fdb11c1cb032402644 100644 (file)
@@ -221,12 +221,12 @@ gfc_get_default_type (const char *name, gfc_namespace *ns)
   letter = name[0];
 
   if (gfc_option.flag_allow_leading_underscore && letter == '_')
-    gfc_internal_error ("Option -fallow-leading-underscore is for use only by "
-                       "gfortran developers, and should not be used for "
-                       "implicitly typed variables");
+    gfc_fatal_error ("Option %<-fallow-leading-underscore%> is for use only by "
+                    "gfortran developers, and should not be used for "
+                    "implicitly typed variables");
 
   if (letter < 'a' || letter > 'z')
-    gfc_internal_error ("gfc_get_default_type(): Bad symbol '%s'", name);
+    gfc_internal_error ("gfc_get_default_type(): Bad symbol %qs", name);
 
   if (ns == NULL)
     ns = gfc_current_ns;
index 218d27444f9c8a073002d3acc365578575437969..a70aa0783ebac4f4470d4cced7da640cab6c725a 100644 (file)
@@ -9093,7 +9093,7 @@ gfc_walk_subexpr (gfc_ss * ss, gfc_expr * expr)
       break;
 
     default:
-      internal_error ("bad expression type during walk (%d)",
+      gfc_internal_error ("bad expression type during walk (%d)",
                      expr->expr_type);
     }
   return ss;
index 07fefd90b2ab431121cb609457ae46d54f7e7e82..eefd9bc696ec218a804ca204c5e9f6b2a194f085 100644 (file)
@@ -1435,7 +1435,7 @@ gfc_get_symbol_decl (gfc_symbol * sym)
     }
 
   if (sym->attr.intrinsic)
-    internal_error ("intrinsic variable which isn't a procedure");
+    gfc_internal_error ("intrinsic variable which isn't a procedure");
 
   /* Create string length decl first so that they can be used in the
      type declaration.  */
@@ -4418,8 +4418,8 @@ gfc_create_module_variable (gfc_symbol * sym)
     return;
 
   if (sym->backend_decl && !sym->attr.vtab && !sym->attr.target)
-    internal_error ("backend decl for module variable %s already exists",
-                   sym->name);
+    gfc_internal_error ("backend decl for module variable %qs already exists",
+                       sym->name);
 
   if (sym->module && !sym->attr.result && !sym->attr.dummy
       && (sym->attr.access == ACCESS_UNKNOWN
index 932bf7972b56a0cbbb51670cded6e434f2425618..6bf1f7439c59ce89c5b2b0d9a46a4437fd321da1 100644 (file)
@@ -856,8 +856,8 @@ gfc_conv_intrinsic_lib_function (gfc_se * se, gfc_expr * expr)
 
   if (m->id == GFC_ISYM_NONE)
     {
-      internal_error ("Intrinsic function %s(%d) not recognized",
-                     expr->value.function.name, id);
+      gfc_internal_error ("Intrinsic function %qs (%d) not recognized",
+                         expr->value.function.name, id);
     }
 
   /* Get the decl and generate the call.  */
index fbf791263d31eb72a2ed00660776db28f5980650..e1b7eb9d10e606f6ad1b1a46d2a95eea02c6f493 100644 (file)
@@ -2192,7 +2192,7 @@ transfer_expr (gfc_se * se, gfc_typespec * ts, tree addr_expr, gfc_code * code)
       return;
 
     default:
-      internal_error ("Bad IO basetype (%d)", ts->type);
+      gfc_internal_error ("Bad IO basetype (%d)", ts->type);
     }
 
   tmp = gfc_build_addr_expr (NULL_TREE, dt_parm);
index d7660d772ae90ce6c7d03f0eee7d64a062936ea8..d1fad30ef79e0aaa8a7a8dadffc25f41394cdd79 100644 (file)
@@ -3933,7 +3933,7 @@ gfc_trans_omp_workshare (gfc_code *code, gfc_omp_clauses *clauses)
          break;
        
        default:
-         internal_error ("gfc_trans_omp_workshare(): Bad statement code");
+         gfc_internal_error ("gfc_trans_omp_workshare(): Bad statement code");
        }
 
       gfc_set_backend_locus (&code->loc);
index b70702303e49d6d5e7d514c101b36a6e0136891d..76fe7fd6e0381efee0ba115b6ed53959bc0a4d34 100644 (file)
@@ -1890,7 +1890,7 @@ trans_code (gfc_code * code, tree cond)
          break;
 
        default:
-         internal_error ("gfc_trans_code(): Bad statement code");
+         gfc_internal_error ("gfc_trans_code(): Bad statement code");
        }
 
       gfc_set_backend_locus (&code->loc);