Move internal_{,v}warning to common/errors.[ch]
authorGary Benson <gbenson@redhat.com>
Mon, 4 Aug 2014 11:04:02 +0000 (12:04 +0100)
committerGary Benson <gbenson@redhat.com>
Fri, 29 Aug 2014 09:53:35 +0000 (10:53 +0100)
This commit moves internal_warning and internal_vwarning into
common/errors.[ch].

gdb/ChangeLog:

* common/errors.h (internal_warning): New declaration.
(internal_vwarning): Likewise.
* common/errors.c (internal_warning): New function.
* utils.h (internal_warning): Don't declare.
(internal_vwarning): Likewise.
* utils.c (internal_warning): Removed.

gdb/gdbserver/ChangeLog:

* utils.c (internal_vwarning): New function.

gdb/ChangeLog
gdb/common/errors.c
gdb/common/errors.h
gdb/gdbserver/ChangeLog
gdb/gdbserver/utils.c
gdb/utils.c
gdb/utils.h

index 341e30339603aed64b379e33ef9f9a02c8716d52..4ce6d87e0ac360fd77cf06dc5b1425170262f2bb 100644 (file)
@@ -1,3 +1,12 @@
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+       * common/errors.h (internal_warning): New declaration.
+       (internal_vwarning): Likewise.
+       * common/errors.c (internal_warning): New function.
+       * utils.h (internal_warning): Don't declare.
+       (internal_vwarning): Likewise.
+       * utils.c (internal_warning): Removed.
+
 2014-08-29  Gary Benson  <gbenson@redhat.com>
 
        * main.c (captured_main): Use warning during startup.
index 7d0bb6eecc0d9222546e128ab919128572e8a075..d6e17a88b54cc90401fe6e362e54366b14b28e03 100644 (file)
@@ -59,3 +59,15 @@ internal_error (const char *file, int line, const char *fmt, ...)
   internal_verror (file, line, fmt, ap);
   va_end (ap);
 }
+
+/* See common/errors.h.  */
+
+void
+internal_warning (const char *file, int line, const char *fmt, ...)
+{
+  va_list ap;
+
+  va_start (ap, fmt);
+  internal_vwarning (file, line, fmt, ap);
+  va_end (ap);
+}
index 4e6c2b3ab765342b34e645cb6a1a19c517b3f8cf..88d77e503247e6581acd2db6419fa68b0e478fea 100644 (file)
@@ -58,6 +58,21 @@ extern void internal_error (const char *file, int line,
 extern void internal_verror (const char *file, int line,
                             const char *fmt, va_list args)
      ATTRIBUTE_NORETURN ATTRIBUTE_PRINTF (3, 0);
+
+/* An internal problem was detected, but the requested operation can
+   still proceed.  Internal warnings indicate programming errors as
+   opposed to more general issues beyond the application's control.
+   A warning message is constructed using a printf- or vprintf-style
+   argument list.  The function "internal_vwarning" must be provided
+   by the client.  */
+
+extern void internal_warning (const char *file, int line,
+                             const char *fmt, ...)
+     ATTRIBUTE_PRINTF (3, 4);
+
+extern void internal_vwarning (const char *file, int line,
+                              const char *fmt, va_list args)
+     ATTRIBUTE_PRINTF (3, 0);
 \f
 
 /* Like "error", but the error message is constructed by combining
index 2b63ca3c170a591978c27554b9d52b64ab14334b..56ef86cba61a489e1103dc5b18a9389d6fe97813 100644 (file)
@@ -1,3 +1,7 @@
+2014-08-29  Gary Benson  <gbenson@redhat.com>
+
+       * utils.c (internal_vwarning): New function.
+
 2014-08-28  Gary Benson  <gbenson@redhat.com>
 
        * utils.h (fatal): Remove declaration.
index 0c2af05a9d32581dda5f4b957ff458b5eefd965d..244e114c70fbf9e0afc392b83fd665f8e16cd243 100644 (file)
@@ -110,6 +110,17 @@ internal_verror (const char *file, int line, const char *fmt, va_list args)
   exit (1);
 }
 
+/* Report a problem internal to GDBserver.  */
+
+void
+internal_vwarning (const char *file, int line, const char *fmt, va_list args)
+{
+  fprintf (stderr,  "\
+%s:%d: A problem internal to " TOOLNAME " has been detected.\n", file, line);
+  vfprintf (stderr, fmt, args);
+  fprintf (stderr, "\n");
+}
+
 /* Convert a CORE_ADDR into a HEX string, like %lx.
    The result is stored in a circular static buffer, NUMCELLS deep.  */
 
index 9785a6117d1abca372e19ee9b018786987d51e71..4da9501774f59150cd5f88091c05bbb9fff36cb3 100644 (file)
@@ -823,16 +823,6 @@ internal_vwarning (const char *file, int line, const char *fmt, va_list ap)
   internal_vproblem (&internal_warning_problem, file, line, fmt, ap);
 }
 
-void
-internal_warning (const char *file, int line, const char *string, ...)
-{
-  va_list ap;
-
-  va_start (ap, string);
-  internal_vwarning (file, line, string, ap);
-  va_end (ap);
-}
-
 static struct internal_problem demangler_warning_problem = {
   "demangler-warning", 1, internal_problem_ask, 0, internal_problem_no
 };
index 62888a70b61ce200ba6d399c26f94b8249228e46..c1948eb652fd1fb0ac794dd0e62a8576542f2c7c 100644 (file)
@@ -286,13 +286,6 @@ extern char *warning_pre_print;
 
 extern void error_stream (struct ui_file *) ATTRIBUTE_NORETURN;
 
-extern void internal_vwarning (const char *file, int line,
-                              const char *, va_list ap)
-     ATTRIBUTE_PRINTF (3, 0);
-
-extern void internal_warning (const char *file, int line,
-                             const char *, ...) ATTRIBUTE_PRINTF (3, 4);
-
 extern void demangler_vwarning (const char *file, int line,
                               const char *, va_list ap)
      ATTRIBUTE_PRINTF (3, 0);