(warning_begin): Delete declaration.
* utils.c (vwarning): New function.
(warning): Call vwarning.
(warning_begin): Delete function.
* rs6000-nat.c (vmap_ldinfo): Use the function warning to print
the warning message.
* d10v-tdep.c (d10v_address_to_pointer) [0]: Delete call to
warning_begin.
+2002-01-30 Andrew Cagney <ac131313@redhat.com>
+
+ * defs.h (vwarning): Declare.
+ (warning_begin): Delete declaration.
+ * utils.c (vwarning): New function.
+ (warning): Call vwarning.
+ (warning_begin): Delete function.
+
+ * rs6000-nat.c (vmap_ldinfo): Use the function warning to print
+ the warning message.
+ * d10v-tdep.c (d10v_address_to_pointer) [0]: Delete call to
+ warning_begin.
+
2002-01-30 Michael Snyder <msnyder@redhat.com>
* NEWS: Mention "set trust-readonly-sections" command.
if (TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_FUNC
|| TYPE_CODE (TYPE_TARGET_TYPE (type)) == TYPE_CODE_METHOD)
{
-#if 0
- if (! d10v_iaddr_p (addr))
- {
- warning_begin ();
- fprintf_unfiltered (gdb_stderr, "address `");
- print_address_numeric (addr, 1, gdb_stderr);
- fprintf_unfiltered (gdb_stderr, "' is not a code address\n");
- }
-#endif
-
store_unsigned_integer (buf, TYPE_LENGTH (type),
d10v_convert_iaddr_to_raw (addr));
}
extern void warning (const char *, ...) ATTR_FORMAT (printf, 1, 2);
+extern void vwarning (const char *, va_list args);
+
/* Global functions from other, non-gdb GNU thingies.
Libiberty thingies are no longer declared here. We include libiberty.h
above, instead. */
running a different copy of the same executable. */
if (symfile_objfile != NULL && !got_exec_file)
{
- warning_begin ();
- fputs_unfiltered ("Symbol file ", gdb_stderr);
- fputs_unfiltered (symfile_objfile->name, gdb_stderr);
- fputs_unfiltered ("\nis not mapped; discarding it.\n\
+ warning ("Symbol file %s\nis not mapped; discarding it.\n\
If in fact that file has symbols which the mapped files listed by\n\
\"info files\" lack, you can load symbols with the \"symbol-file\" or\n\
\"add-symbol-file\" commands (note that you must take care of relocating\n\
-symbols to the proper address).\n", gdb_stderr);
+symbols to the proper address).",
+ symfile_objfile->name);
free_objfile (symfile_objfile);
symfile_objfile = NULL;
}
\f
-/* Print a warning message. Way to use this is to call warning_begin,
- output the warning message (use unfiltered output to gdb_stderr),
- ending in a newline. There is not currently a warning_end that you
- call afterwards, but such a thing might be added if it is useful
- for a GUI to separate warning messages from other output.
-
- FIXME: Why do warnings use unfiltered output and errors filtered?
- Is this anything other than a historical accident? */
+/* Print a warning message. The first argument STRING is the warning
+ message, used as an fprintf format string, the second is the
+ va_list of arguments for that string. A warning is unfiltered (not
+ paginated) so that the user does not need to page through each
+ screen full of warnings when there are lots of them. */
void
-warning_begin (void)
+vwarning (const char *string, va_list args)
{
- target_terminal_ours ();
- wrap_here (""); /* Force out any buffered output */
- gdb_flush (gdb_stdout);
- if (warning_pre_print)
- fprintf_unfiltered (gdb_stderr, warning_pre_print);
+ if (warning_hook)
+ (*warning_hook) (string, args);
+ else
+ {
+ target_terminal_ours ();
+ wrap_here (""); /* Force out any buffered output */
+ gdb_flush (gdb_stdout);
+ if (warning_pre_print)
+ fprintf_unfiltered (gdb_stderr, warning_pre_print);
+ vfprintf_unfiltered (gdb_stderr, string, args);
+ fprintf_unfiltered (gdb_stderr, "\n");
+ va_end (args);
+ }
}
/* Print a warning message.
{
va_list args;
va_start (args, string);
- if (warning_hook)
- (*warning_hook) (string, args);
- else
- {
- warning_begin ();
- vfprintf_unfiltered (gdb_stderr, string, args);
- fprintf_unfiltered (gdb_stderr, "\n");
- va_end (args);
- }
+ vwarning (string, args);
+ va_end (args);
}
/* Start the printing of an error message. Way to use this is to call