From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2126) id CD33C385AE4B; Wed, 22 Jun 2022 19:50:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CD33C385AE4B Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Tom Tromey To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Move mi_interpreter to mi-interp.h X-Act-Checkin: binutils-gdb X-Git-Author: Tom Tromey X-Git-Refname: refs/heads/master X-Git-Oldrev: 3af607d998587de460b9e29996b1d43fa40a76b0 X-Git-Newrev: ee04bfc01e51faae3fb64f6582f0e207d3ad898d Message-Id: <20220622195051.CD33C385AE4B@sourceware.org> Date: Wed, 22 Jun 2022 19:50:51 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Jun 2022 19:50:51 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3Dee04bfc01e51= faae3fb64f6582f0e207d3ad898d commit ee04bfc01e51faae3fb64f6582f0e207d3ad898d Author: Tom Tromey Date: Fri Jun 17 09:38:20 2022 -0600 Move mi_interpreter to mi-interp.h =20 I noticed that touching interps.h caused a lot of recompilation. I tracked this down to mi-common.h including this file. This patch moves the MI interpreter to mi-interp.h, which cuts down on recompilation when modifying interps.h. Diff: --- gdb/mi/mi-common.h | 50 -------------------------------------------------- gdb/mi/mi-interp.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ gdb/mi/mi-main.c | 2 +- 3 files changed, 51 insertions(+), 51 deletions(-) diff --git a/gdb/mi/mi-common.h b/gdb/mi/mi-common.h index 0c254baf8b4..6970d41ae08 100644 --- a/gdb/mi/mi-common.h +++ b/gdb/mi/mi-common.h @@ -19,10 +19,6 @@ #ifndef MI_MI_COMMON_H #define MI_MI_COMMON_H =20 -#include "interps.h" - -struct mi_console_file; - /* Represents the reason why GDB is sending an asynchronous command to the front end. NOTE: When modifing this, don't forget to update gdb.texinfo! */ @@ -52,50 +48,4 @@ enum async_reply_reason =20 const char *async_reason_lookup (enum async_reply_reason reason); =20 -/* An MI interpreter. */ - -class mi_interp final : public interp -{ -public: - mi_interp (const char *name) - : interp (name) - {} - - void init (bool top_level) override; - void resume () override; - void suspend () override; - gdb_exception exec (const char *command_str) override; - ui_out *interp_ui_out () override; - void set_logging (ui_file_up logfile, bool logging_redirect, - bool debug_redirect) override; - void pre_command_loop () override; - - /* MI's output channels */ - mi_console_file *out; - mi_console_file *err; - mi_console_file *log; - mi_console_file *targ; - mi_console_file *event_channel; - - /* Raw console output. */ - struct ui_file *raw_stdout; - - /* Raw logfile output. */ - struct ui_file *raw_stdlog; - - /* Save the original value of raw_stdout and raw_stdlog here when loggin= g, and - the file which we need to delete, so we can restore correctly when - done. */ - struct ui_file *saved_raw_stdout; - struct ui_file *saved_raw_stdlog; - struct ui_file *saved_raw_file_to_delete; - - - /* MI's builder. */ - struct ui_out *mi_uiout; - - /* MI's CLI builder (wraps OUT). */ - struct ui_out *cli_uiout; -}; - #endif /* MI_MI_COMMON_H */ diff --git a/gdb/mi/mi-interp.h b/gdb/mi/mi-interp.h index 53369f2eea7..adf6eaffef4 100644 --- a/gdb/mi/mi-interp.h +++ b/gdb/mi/mi-interp.h @@ -20,6 +20,56 @@ #ifndef MI_MI_INTERP_H #define MI_MI_INTERP_H =20 +#include "interps.h" + +struct mi_console_file; + +/* An MI interpreter. */ + +class mi_interp final : public interp +{ +public: + mi_interp (const char *name) + : interp (name) + {} + + void init (bool top_level) override; + void resume () override; + void suspend () override; + gdb_exception exec (const char *command_str) override; + ui_out *interp_ui_out () override; + void set_logging (ui_file_up logfile, bool logging_redirect, + bool debug_redirect) override; + void pre_command_loop () override; + + /* MI's output channels */ + mi_console_file *out; + mi_console_file *err; + mi_console_file *log; + mi_console_file *targ; + mi_console_file *event_channel; + + /* Raw console output. */ + struct ui_file *raw_stdout; + + /* Raw logfile output. */ + struct ui_file *raw_stdlog; + + /* Save the original value of raw_stdout and raw_stdlog here when loggin= g, and + the file which we need to delete, so we can restore correctly when + done. */ + struct ui_file *saved_raw_stdout; + struct ui_file *saved_raw_stdlog; + struct ui_file *saved_raw_file_to_delete; + + + /* MI's builder. */ + struct ui_out *mi_uiout; + + /* MI's CLI builder (wraps OUT). */ + struct ui_out *cli_uiout; +}; + /* Output the shared object attributes to UIOUT. */ =20 void mi_output_solib_attribs (ui_out *uiout, struct so_list *solib); diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c index 18707bf62e7..68868e49e99 100644 --- a/gdb/mi/mi-main.c +++ b/gdb/mi/mi-main.c @@ -40,7 +40,7 @@ #include "regcache.h" #include "frame.h" #include "mi-main.h" -#include "mi-common.h" +#include "mi-interp.h" #include "language.h" #include "valprint.h" #include "osdata.h"