aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgfortran/ChangeLog3
-rw-r--r--libgfortran/runtime/minimal.c23
2 files changed, 25 insertions, 1 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 9e3b1f8..c5a4533 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,5 +1,8 @@
2019-10-08 Thomas Schwinge <thomas@codesourcery.com>
+ PR fortran/68401
+ * runtime/minimal.c (os_error_at): New function.
+
* runtime/minimal.c: Revise.
2019-10-05 Paul Thomas <pault@gcc.gnu.org>
diff --git a/libgfortran/runtime/minimal.c b/libgfortran/runtime/minimal.c
index a633bc1..bdaf878 100644
--- a/libgfortran/runtime/minimal.c
+++ b/libgfortran/runtime/minimal.c
@@ -215,7 +215,28 @@ os_error (const char *message)
estr_write ("\n");
exit_error (1);
}
-iexport(os_error);
+iexport(os_error); /* TODO, DEPRECATED, ABI: Should not be exported
+ anymore when bumping so version. */
+
+
+/* Improved version of os_error with a printf style format string and
+ a locus. */
+
+void
+os_error_at (const char *where, const char *message, ...)
+{
+ va_list ap;
+
+ recursion_check ();
+ estr_write (where);
+ estr_write (": ");
+ va_start (ap, message);
+ estr_vprintf (message, ap);
+ va_end (ap);
+ estr_write ("\n");
+ exit_error (1);
+}
+iexport(os_error_at);
/* void runtime_error()-- These are errors associated with an