aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@ericsson.com>2017-01-10 11:30:47 -0500
committerSimon Marchi <simon.marchi@ericsson.com>2017-01-10 11:32:04 -0500
commit7becfd03bad526c02216eeb5ec2bebae694b1af1 (patch)
tree1cf43c4bbc218d31611124c6c56583a43086ca14
parent98461510d3a8cefa6603980294bfc647cddcab97 (diff)
downloadgdb-7becfd03bad526c02216eeb5ec2bebae694b1af1.zip
gdb-7becfd03bad526c02216eeb5ec2bebae694b1af1.tar.gz
gdb-7becfd03bad526c02216eeb5ec2bebae694b1af1.tar.bz2
Change return type of ui_out redirect to void
All implementations of redirect/do_redirect in the ui_out subsystem always return 0 (success). We can therefore clean it up and make them return void. gdb/ChangeLog: * cli-out.c (cli_ui_out::do_redirect): Change return type to void. * cli-out.h (cli_ui_out::do_redirect): Likewise. * mi/mi-out.c (mi_ui_out::do_redirect): Likewise. * mi/mi-out.h (mi_ui_out::do_redirect): Likewise. * ui-out.c (ui_out::redirect): Likewise. * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise. * cli/cli-logging.c (set_logging_redirect): Update call site of ui_out::redirect. (handle_redirections): Likewise. * scm-ports.c (ioscm_with_output_to_port_worker): Likewise. * top.c (execute_command_to_string): Likewise. * utils.c (do_ui_out_redirect_pop): Likewise.
-rw-r--r--gdb/ChangeLog16
-rw-r--r--gdb/cli-out.c4
-rw-r--r--gdb/cli-out.h2
-rw-r--r--gdb/cli/cli-logging.c15
-rw-r--r--gdb/guile/scm-ports.c6
-rw-r--r--gdb/mi/mi-out.c4
-rw-r--r--gdb/mi/mi-out.h2
-rw-r--r--gdb/top.c6
-rw-r--r--gdb/ui-out.c4
-rw-r--r--gdb/ui-out.h4
-rw-r--r--gdb/utils.c3
11 files changed, 34 insertions, 32 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4733d8d..3ea58ba 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,21 @@
2017-01-10 Simon Marchi <simon.marchi@ericsson.com>
+ * cli-out.c (cli_ui_out::do_redirect): Change return type to
+ void.
+ * cli-out.h (cli_ui_out::do_redirect): Likewise.
+ * mi/mi-out.c (mi_ui_out::do_redirect): Likewise.
+ * mi/mi-out.h (mi_ui_out::do_redirect): Likewise.
+ * ui-out.c (ui_out::redirect): Likewise.
+ * ui-out.h (ui_out::redirect, ui_out::do_redirect): Likewise.
+ * cli/cli-logging.c (set_logging_redirect): Update call site of
+ ui_out::redirect.
+ (handle_redirections): Likewise.
+ * scm-ports.c (ioscm_with_output_to_port_worker): Likewise.
+ * top.c (execute_command_to_string): Likewise.
+ * utils.c (do_ui_out_redirect_pop): Likewise.
+
+2017-01-10 Simon Marchi <simon.marchi@ericsson.com>
+
* stack.c (_initialize_stack): Update "frame" command help message.
2017-01-08 Iain Buclaw <ibuclaw@gdcproject.org>
diff --git a/gdb/cli-out.c b/gdb/cli-out.c
index fcb9ca1..2a59869 100644
--- a/gdb/cli-out.c
+++ b/gdb/cli-out.c
@@ -227,15 +227,13 @@ cli_ui_out::do_flush ()
and make it therefore active. OUTSTREAM as NULL will pop the last pushed
output stream; it is an internal error if it does not exist. */
-int
+void
cli_ui_out::do_redirect (ui_file *outstream)
{
if (outstream != NULL)
m_streams.push_back (outstream);
else
m_streams.pop_back ();
-
- return 0;
}
/* local functions */
diff --git a/gdb/cli-out.h b/gdb/cli-out.h
index cc6679f..1b6a1ad 100644
--- a/gdb/cli-out.h
+++ b/gdb/cli-out.h
@@ -60,7 +60,7 @@ protected:
ATTRIBUTE_PRINTF (2,0);
virtual void do_wrap_hint (const char *identstring) override;
virtual void do_flush () override;
- virtual int do_redirect (struct ui_file * outstream) override;
+ virtual void do_redirect (struct ui_file *outstream) override;
bool suppress_output ()
{ return m_suppress_output; }
diff --git a/gdb/cli/cli-logging.c b/gdb/cli/cli-logging.c
index 8840736..9428624 100644
--- a/gdb/cli/cli-logging.c
+++ b/gdb/cli/cli-logging.c
@@ -130,13 +130,11 @@ set_logging_redirect (char *args, int from_tty, struct cmd_list_element *c)
/* There is a former output pushed on the ui_out_redirect stack. We
want to replace it by OUTPUT so we must pop the former value
- first. We should either do both the pop and push or to do
- neither of it. At least do not try to push OUTPUT if the pop
- already failed. */
+ first. Ideally, we should either do both the pop and push or do
+ neither of them. */
- if (uiout->redirect (NULL) < 0
- || uiout->redirect (output) < 0)
- warning (_("Current output protocol does not support redirection"));
+ uiout->redirect (NULL);
+ uiout->redirect (output);
do_cleanups (cleanups);
}
@@ -246,10 +244,7 @@ handle_redirections (int from_tty)
/* Don't do the redirect for MI, it confuses MI's ui-out scheme. */
if (!current_uiout->is_mi_like_p ())
- {
- if (current_uiout->redirect (output) < 0)
- warning (_("Current output protocol does not support redirection"));
- }
+ current_uiout->redirect (output);
}
static void
diff --git a/gdb/guile/scm-ports.c b/gdb/guile/scm-ports.c
index 475e4e9..4a1c864 100644
--- a/gdb/guile/scm-ports.c
+++ b/gdb/guile/scm-ports.c
@@ -531,10 +531,8 @@ ioscm_with_output_to_port_worker (SCM port, SCM thunk, enum oport oport,
gdb_stderr = port_file;
else
{
- if (current_uiout->redirect (port_file) < 0)
- warning (_("Current output protocol does not support redirection"));
- else
- make_cleanup_ui_out_redirect_pop (current_uiout);
+ current_uiout->redirect (port_file);
+ make_cleanup_ui_out_redirect_pop (current_uiout);
gdb_stdout = port_file;
}
diff --git a/gdb/mi/mi-out.c b/gdb/mi/mi-out.c
index 28e1fbe..5a5aef9 100644
--- a/gdb/mi/mi-out.c
+++ b/gdb/mi/mi-out.c
@@ -170,15 +170,13 @@ mi_ui_out::do_flush ()
gdb_flush (m_streams.back ());
}
-int
+void
mi_ui_out::do_redirect (ui_file *outstream)
{
if (outstream != NULL)
m_streams.push_back (outstream);
else
m_streams.pop_back ();
-
- return 0;
}
void
diff --git a/gdb/mi/mi-out.h b/gdb/mi/mi-out.h
index afa0b66..e82d44d 100644
--- a/gdb/mi/mi-out.h
+++ b/gdb/mi/mi-out.h
@@ -67,7 +67,7 @@ protected:
ATTRIBUTE_PRINTF (2,0);
virtual void do_wrap_hint (const char *identstring) override;
virtual void do_flush () override;
- virtual int do_redirect (struct ui_file * outstream) override;
+ virtual void do_redirect (struct ui_file *outstream) override;
virtual bool do_is_mi_like_p () override
{ return true; }
diff --git a/gdb/top.c b/gdb/top.c
index 24ea14e..ef8d856 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -706,10 +706,8 @@ execute_command_to_string (char *p, int from_tty)
make_cleanup_ui_file_delete (str_file);
- if (current_uiout->redirect (str_file) < 0)
- warning (_("Current output protocol does not support redirection"));
- else
- make_cleanup_ui_out_redirect_pop (current_uiout);
+ current_uiout->redirect (str_file);
+ make_cleanup_ui_out_redirect_pop (current_uiout);
scoped_restore save_stdout
= make_scoped_restore (&gdb_stdout, str_file);
diff --git a/gdb/ui-out.c b/gdb/ui-out.c
index 1900965..fdcd454 100644
--- a/gdb/ui-out.c
+++ b/gdb/ui-out.c
@@ -619,10 +619,10 @@ ui_out::flush ()
do_flush ();
}
-int
+void
ui_out::redirect (ui_file *outstream)
{
- return do_redirect (outstream);
+ do_redirect (outstream);
}
/* Test the flags against the mask given. */
diff --git a/gdb/ui-out.h b/gdb/ui-out.h
index cd43cd0..b8bea97 100644
--- a/gdb/ui-out.h
+++ b/gdb/ui-out.h
@@ -121,7 +121,7 @@ class ui_out
void flush ();
/* Redirect the output of a ui_out object temporarily. */
- int redirect (ui_file *outstream);
+ void redirect (ui_file *outstream);
ui_out_flags test_flags (ui_out_flags mask);
@@ -163,7 +163,7 @@ class ui_out
ATTRIBUTE_PRINTF (2,0) = 0;
virtual void do_wrap_hint (const char *identstring) = 0;
virtual void do_flush () = 0;
- virtual int do_redirect (struct ui_file * outstream) = 0;
+ virtual void do_redirect (struct ui_file *outstream) = 0;
/* Set as not MI-like by default. It is overridden in subclasses if
necessary. */
diff --git a/gdb/utils.c b/gdb/utils.c
index 34e10d3..a6d2033 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -218,8 +218,7 @@ do_ui_out_redirect_pop (void *arg)
{
struct ui_out *uiout = (struct ui_out *) arg;
- if (uiout->redirect (NULL) < 0)
- warning (_("Cannot restore redirection of the current output protocol"));
+ uiout->redirect (NULL);
}
/* Return a new cleanup that pops the last redirection by ui_out_redirect