diff options
author | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:45 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-06-21 01:11:45 +0100 |
commit | cb814510676f7f6c08b329af2f57006fa598b619 (patch) | |
tree | dbc063197b94b01d4bfaf13288ca81f18890b7cf /gdb/compile | |
parent | 79aa2fe86f105fae162f780f760d655f212eaeb6 (diff) | |
download | gdb-cb814510676f7f6c08b329af2f57006fa598b619.zip gdb-cb814510676f7f6c08b329af2f57006fa598b619.tar.gz gdb-cb814510676f7f6c08b329af2f57006fa598b619.tar.bz2 |
Make the interpreters be per UI
Make each UI have its own interpreter list, top level interpreter,
current interpreter, etc. The "interpreter_async" global is not
really specific to an struct interp (it crosses interpreter-exec ...),
so I moved it to "struct ui" directly, while the other globals were
left hidden in interps.c, opaque to the rest of GDB.
gdb/ChangeLog:
2016-06-21 Pedro Alves <palves@redhat.com>
* breakpoint.c (bpstat_do_actions_1): Access the current UI's
async field instead of the interpreter_async global.
* cli/cli-script.c (execute_user_command, while_command)
(if_command, script_from_file): Likewise.
* compile/compile.c: Include top.h instead of interps.h.
(compile_file_command, compile_code_command)
(compile_print_command): Access the current UI's async field
instead of the interpreter_async global.
* guile/guile.c: Include top.h instead of interps.h.
(guile_repl_command, guile_command, gdbscm_execute_gdb_command):
Access the current UI's async field instead of the
interpreter_async global.
* guile/scm-ports.c: Include top.h instead of interps.h.
(ioscm_with_output_to_port_worker): Access the current UI's async
field instead of the interpreter_async global.
* inf-loop.c (inferior_event_handler): Likewise.
* infcall.c (run_inferior_call): Likewise.
* infrun.c (reinstall_readline_callback_handler_cleanup)
(fetch_inferior_event): Likewise.
* interps.c (interpreter_async): Delete.
(struct ui_interp_info): New.
(get_current_interp_info): New function.
(interp_list, current_interpreter, top_level_interpreter_ptr):
Delete.
(interp_add, interp_set, interp_lookup, interp_ui_out)
(current_interp_set_logging, interp_set_temp)
(current_interp_named_p): Adjust to per-UI interpreters.
(command_interpreter): Delete.
(command_interp, current_interp_command_loop, interp_quiet_p)
(interp_exec, interpreter_exec_cmd, interpreter_completer)
(top_level_interpreter, top_level_interpreter_data): Adjust to
per-UI interpreters.
* interps.h (interpreter_async): Delete.
* main.c (captured_command_loop): Access the current UI's async
field instead of the interpreter_async global.
* python/python.c (python_interactive_command, python_command)
(execute_gdb_command): Likewise.
* top.c (maybe_wait_sync_command_done, execute_command_to_string):
Access the current UI's async field instead of the
interpreter_async global.
* top.h (struct tl_interp_info): Forward declare.
(struct ui) <interp_info, async>: New fields.
Diffstat (limited to 'gdb/compile')
-rw-r--r-- | gdb/compile/compile.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c index 77b4137..0c4a738 100644 --- a/gdb/compile/compile.c +++ b/gdb/compile/compile.c @@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "defs.h" -#include "interps.h" +#include "top.h" #include "ui-out.h" #include "command.h" #include "cli/cli-script.h" @@ -91,8 +91,8 @@ compile_file_command (char *arg, int from_tty) char *buffer; struct cleanup *cleanup; - cleanup = make_cleanup_restore_integer (&interpreter_async); - interpreter_async = 0; + cleanup = make_cleanup_restore_integer (¤t_ui->async); + current_ui->async = 0; /* Check the user did not just <enter> after command. */ if (arg == NULL) @@ -133,8 +133,8 @@ compile_code_command (char *arg, int from_tty) struct cleanup *cleanup; enum compile_i_scope_types scope = COMPILE_I_SIMPLE_SCOPE; - cleanup = make_cleanup_restore_integer (&interpreter_async); - interpreter_async = 0; + cleanup = make_cleanup_restore_integer (¤t_ui->async); + current_ui->async = 0; if (arg != NULL && check_raw_argument (&arg)) { @@ -187,8 +187,8 @@ compile_print_command (char *arg_param, int from_tty) enum compile_i_scope_types scope = COMPILE_I_PRINT_ADDRESS_SCOPE; struct format_data fmt; - cleanup = make_cleanup_restore_integer (&interpreter_async); - interpreter_async = 0; + cleanup = make_cleanup_restore_integer (¤t_ui->async); + current_ui->async = 0; /* Passing &FMT as SCOPE_DATA is safe as do_module_cleanup will not touch the stale pointer if compile_object_run has already quit. */ |