Delete def_uiout

Currently, current_uiout starts out pointing to def_uiout, a dummy
ui_out implementation.

Since we create a replacement uiout early on as soon as we create the
interpreter, we never actually use def_uiout.  So this patch removes
it.

The proof that it works is that starting with current_uiout set to
NULL does not crash.

gdb/ChangeLog:
2016-06-21  Pedro Alves  <palves@redhat.com>

	* ui-out.c (default_ui_out_impl): Delete.
	(def_uiout): Delete.
	(current_uiout): Set to NULL.
	(default_table_begin, default_table_body, default_table_end)
	(default_table_header, default_begin, default_end)
	(default_field_int, default_field_skip, default_field_string)
	(default_field_fmt, default_spaces, default_text, default_message)
	(default_wrap_hint, default_flush, default_data_destroy): Delete.
This commit is contained in:
Pedro Alves 2016-06-21 01:11:48 +01:00
parent 694ec099d2
commit 23ff98d2fe
2 changed files with 12 additions and 180 deletions

View File

@ -1,3 +1,14 @@
2016-06-21 Pedro Alves <palves@redhat.com>
* ui-out.c (default_ui_out_impl): Delete.
(def_uiout): Delete.
(current_uiout): Set to NULL.
(default_table_begin, default_table_body, default_table_end)
(default_table_header, default_begin, default_end)
(default_field_int, default_field_skip, default_field_string)
(default_field_fmt, default_spaces, default_text, default_message)
(default_wrap_hint, default_flush, default_data_destroy): Delete.
2016-06-21 Pedro Alves <palves@redhat.com>
* event-top.c (gdb_setup_readline): Pass the UI's outstream and

View File

@ -147,84 +147,10 @@ pop_level (struct ui_out *uiout,
return uiout->level + 1;
}
/* These are the default implementation functions. */
static void default_table_begin (struct ui_out *uiout, int nbrofcols,
int nr_rows, const char *tblid);
static void default_table_body (struct ui_out *uiout);
static void default_table_end (struct ui_out *uiout);
static void default_table_header (struct ui_out *uiout, int width,
enum ui_align alig, const char *col_name,
const char *colhdr);
static void default_begin (struct ui_out *uiout,
enum ui_out_type type,
int level, const char *id);
static void default_end (struct ui_out *uiout,
enum ui_out_type type,
int level);
static void default_field_int (struct ui_out *uiout, int fldno, int width,
enum ui_align alig,
const char *fldname,
int value);
static void default_field_skip (struct ui_out *uiout, int fldno, int width,
enum ui_align alig,
const char *fldname);
static void default_field_string (struct ui_out *uiout, int fldno, int width,
enum ui_align align,
const char *fldname,
const char *string);
static void default_field_fmt (struct ui_out *uiout, int fldno,
int width, enum ui_align align,
const char *fldname,
const char *format,
va_list args) ATTRIBUTE_PRINTF (6, 0);
static void default_spaces (struct ui_out *uiout, int numspaces);
static void default_text (struct ui_out *uiout, const char *string);
static void default_message (struct ui_out *uiout, int verbosity,
const char *format,
va_list args) ATTRIBUTE_PRINTF (3, 0);
static void default_wrap_hint (struct ui_out *uiout, char *identstring);
static void default_flush (struct ui_out *uiout);
static void default_data_destroy (struct ui_out *uiout);
/* This is the default ui-out implementation functions vector. */
const struct ui_out_impl default_ui_out_impl =
{
default_table_begin,
default_table_body,
default_table_end,
default_table_header,
default_begin,
default_end,
default_field_int,
default_field_skip,
default_field_string,
default_field_fmt,
default_spaces,
default_text,
default_message,
default_wrap_hint,
default_flush,
NULL, /* redirect */
default_data_destroy,
0, /* Does not need MI hacks. */
};
/* The default ui_out */
struct ui_out def_uiout =
{
0, /* flags */
&default_ui_out_impl, /* impl */
};
/* Pointer to current ui_out */
/* FIXME: This should not be a global, but something passed down from main.c
or top.c. */
struct ui_out *current_uiout = &def_uiout;
struct ui_out *current_uiout = NULL;
/* These are the interfaces to implementation functions. */
@ -652,111 +578,6 @@ ui_out_is_mi_like_p (struct ui_out *uiout)
return uiout->impl->is_mi_like_p;
}
/* Default gdb-out hook functions. */
static void
default_table_begin (struct ui_out *uiout, int nbrofcols,
int nr_rows,
const char *tblid)
{
}
static void
default_table_body (struct ui_out *uiout)
{
}
static void
default_table_end (struct ui_out *uiout)
{
}
static void
default_table_header (struct ui_out *uiout, int width, enum ui_align alignment,
const char *col_name,
const char *colhdr)
{
}
static void
default_begin (struct ui_out *uiout,
enum ui_out_type type,
int level,
const char *id)
{
}
static void
default_end (struct ui_out *uiout,
enum ui_out_type type,
int level)
{
}
static void
default_field_int (struct ui_out *uiout, int fldno, int width,
enum ui_align align,
const char *fldname, int value)
{
}
static void
default_field_skip (struct ui_out *uiout, int fldno, int width,
enum ui_align align, const char *fldname)
{
}
static void
default_field_string (struct ui_out *uiout,
int fldno,
int width,
enum ui_align align,
const char *fldname,
const char *string)
{
}
static void
default_field_fmt (struct ui_out *uiout, int fldno, int width,
enum ui_align align,
const char *fldname,
const char *format,
va_list args)
{
}
static void
default_spaces (struct ui_out *uiout, int numspaces)
{
}
static void
default_text (struct ui_out *uiout, const char *string)
{
}
static void
default_message (struct ui_out *uiout, int verbosity,
const char *format,
va_list args)
{
}
static void
default_wrap_hint (struct ui_out *uiout, char *identstring)
{
}
static void
default_flush (struct ui_out *uiout)
{
}
static void
default_data_destroy (struct ui_out *uiout)
{
}
/* Interface to the implementation functions. */
void