diff options
author | Tom Tromey <tromey@adacore.com> | 2022-06-17 09:38:20 -0600 |
---|---|---|
committer | Tom Tromey <tromey@adacore.com> | 2022-06-22 13:28:55 -0600 |
commit | ee04bfc01e51faae3fb64f6582f0e207d3ad898d (patch) | |
tree | 6b422bd277877fc67673b9cdbe97020c590c6ab4 /gdb/mi | |
parent | 3af607d998587de460b9e29996b1d43fa40a76b0 (diff) | |
download | fsf-binutils-gdb-ee04bfc01e51faae3fb64f6582f0e207d3ad898d.zip fsf-binutils-gdb-ee04bfc01e51faae3fb64f6582f0e207d3ad898d.tar.gz fsf-binutils-gdb-ee04bfc01e51faae3fb64f6582f0e207d3ad898d.tar.bz2 |
Move mi_interpreter to mi-interp.h
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.
Diffstat (limited to 'gdb/mi')
-rw-r--r-- | gdb/mi/mi-common.h | 50 | ||||
-rw-r--r-- | gdb/mi/mi-interp.h | 50 | ||||
-rw-r--r-- | 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 0c254ba..6970d41 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 -#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 const char *async_reason_lookup (enum async_reply_reason reason); -/* 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 logging, 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 53369f2..adf6eaf 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 +#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 logging, 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. */ 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 18707bf..68868e4 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" |