aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2014-11-25 23:37:54 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2014-11-25 23:37:54 +0100
commit17d5d49f584e47e20bdbe16404c2be5af9db4e08 (patch)
treebfcb1c853b89254b45c6ed5d2d51b7c3c0980f62 /gcc/fortran
parent4daa149b86a42d1d10a735889c5f9cd6a0bca09e (diff)
downloadgcc-17d5d49f584e47e20bdbe16404c2be5af9db4e08.zip
gcc-17d5d49f584e47e20bdbe16404c2be5af9db4e08.tar.gz
gcc-17d5d49f584e47e20bdbe16404c2be5af9db4e08.tar.bz2
error.c (gfc_internal_error): Convert to common diagnostics.
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
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog18
-rw-r--r--gcc/fortran/error.c16
-rw-r--r--gcc/fortran/interface.c2
-rw-r--r--gcc/fortran/intrinsic.c6
-rw-r--r--gcc/fortran/module.c2
-rw-r--r--gcc/fortran/symbol.c8
-rw-r--r--gcc/fortran/trans-array.c2
-rw-r--r--gcc/fortran/trans-decl.c6
-rw-r--r--gcc/fortran/trans-intrinsic.c4
-rw-r--r--gcc/fortran/trans-io.c2
-rw-r--r--gcc/fortran/trans-openmp.c2
-rw-r--r--gcc/fortran/trans.c2
12 files changed, 42 insertions, 28 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 970671a..68c9416 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,5 +1,23 @@
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.
(gfc_error_now_1): Renamed from gfc_error_now.
(gfc_error_now): Renamed from gfc_error_now_2.
diff --git a/gcc/fortran/error.c b/gcc/fortran/error.c
index a0ad2ad..00e9228 100644
--- a/gcc/fortran/error.c
+++ b/gcc/fortran/error.c
@@ -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 ();
}
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
index 1eb09ac..1980ddf 100644
--- a/gcc/fortran/interface.c
+++ b/gcc/fortran/interface.c
@@ -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. */
}
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c
index 8cbcac98..6b874a4 100644
--- a/gcc/fortran/intrinsic.c
+++ b/gcc/fortran/intrinsic.c
@@ -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 */
diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c
index 2449bbc..3adbe1a 100644
--- a/gcc/fortran/module.c
+++ b/gcc/fortran/module.c
@@ -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);
diff --git a/gcc/fortran/symbol.c b/gcc/fortran/symbol.c
index aeb7dce..fa0ffe0 100644
--- a/gcc/fortran/symbol.c
+++ b/gcc/fortran/symbol.c
@@ -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;
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c
index 218d274..a70aa07 100644
--- a/gcc/fortran/trans-array.c
+++ b/gcc/fortran/trans-array.c
@@ -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;
diff --git a/gcc/fortran/trans-decl.c b/gcc/fortran/trans-decl.c
index 07fefd9..eefd9bc 100644
--- a/gcc/fortran/trans-decl.c
+++ b/gcc/fortran/trans-decl.c
@@ -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
diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c
index 932bf79..6bf1f74 100644
--- a/gcc/fortran/trans-intrinsic.c
+++ b/gcc/fortran/trans-intrinsic.c
@@ -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. */
diff --git a/gcc/fortran/trans-io.c b/gcc/fortran/trans-io.c
index fbf7912..e1b7eb9 100644
--- a/gcc/fortran/trans-io.c
+++ b/gcc/fortran/trans-io.c
@@ -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);
diff --git a/gcc/fortran/trans-openmp.c b/gcc/fortran/trans-openmp.c
index d7660d7..d1fad30 100644
--- a/gcc/fortran/trans-openmp.c
+++ b/gcc/fortran/trans-openmp.c
@@ -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);
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index b707023..76fe7fd 100644
--- a/gcc/fortran/trans.c
+++ b/gcc/fortran/trans.c
@@ -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);