+/* Display a non-fatal error message, don't exit. */
+void
+non_fatal_error (const string &s, const string &location)
+{
+ if (is_expected (s))
+ print_message (LOG_DEBUG, location, _f ("suppressed error: %s", s) + "\n");
+ else if (warning_as_error)
+ error (s, location);
+ else
+ print_message (LOG_ERROR, location, _f ("error: %s", s) + "\n");
+}
+
+/* Display a warning message. */
+void
+warning (const string &s, const string &location)
+{
+ if (is_expected (s))
+ print_message (LOG_DEBUG, location, _f ("suppressed warning: %s", s) + "\n");
+ else if (warning_as_error)
+ error (s, location);
+ else
+ print_message (LOG_WARN, location, _f ("warning: %s", s) + "\n");
+}
+
+/* Display a success message. */
+void
+basic_progress (const string &s, const string &location)
+{
+ print_message (LOG_BASIC, location, s + "\n", true);
+}
+
+/* Display information about the progress. */
+void
+progress_indication (const string &s, bool newline, const string &location)
+{
+ print_message (LOG_PROGRESS, location, s, newline);
+}
+
+/* Display a single info message. */
+void
+message (const string &s, bool newline, const string &location)
+{
+ // Use the progress loglevel for all normal messages (including progress msg)
+ print_message (LOG_INFO, location, s, newline);
+}
+
+/* Display a debug information, not necessarily on a new line. */
+void
+debug_output (const string &s, bool newline, const string &location)
+{
+ print_message (LOG_DEBUG, location, s, newline);
+}