aboutsummaryrefslogtreecommitdiff
path: root/gdb/compile/compile-object-run.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2015-05-16 14:27:47 +0200
committerJan Kratochvil <jan.kratochvil@redhat.com>2015-05-16 14:28:10 +0200
commit5c65b58a58a4c77b1ec38b4e31549aaa090b4845 (patch)
tree3e129a27062b4f2edbeb6197964ae5341ac7deff /gdb/compile/compile-object-run.c
parent1c88ceb1bedc81dbfd1d076e4a49bbf533b4e238 (diff)
downloadgdb-5c65b58a58a4c77b1ec38b4e31549aaa090b4845.zip
gdb-5c65b58a58a4c77b1ec38b4e31549aaa090b4845.tar.gz
gdb-5c65b58a58a4c77b1ec38b4e31549aaa090b4845.tar.bz2
compile: Distribute scope, add scope_data
Provide a way to access current 'scope' during the do_module_cleanup stage and associate more data with it. gdb/ChangeLog 2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com> * cli/cli-script.c (execute_control_command): Update eval_compile_command caller. * compile/compile-object-load.c (compile_object_load): Add parameters scope and scope_data. Set them. * compile/compile-object-load.h (struct compile_module): Add fields scope and scope_data. (compile_object_load): Add parameters scope and scope_data. * compile/compile-object-run.c (struct do_module_cleanup): Add fields scope and scope_data. (compile_object_run): Propagate the fields scope and scope_data. * compile/compile.c (compile_file_command, compile_code_command): Update eval_compile_command callers. (eval_compile_command): Add parameter scope_data. Pass it plus scope. * compile/compile.h (eval_compile_command): Add parameter scope_data. * defs.h (struct command_line): Add field scope_data.
Diffstat (limited to 'gdb/compile/compile-object-run.c')
-rw-r--r--gdb/compile/compile-object-run.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/compile/compile-object-run.c b/gdb/compile/compile-object-run.c
index 422693b..c194705 100644
--- a/gdb/compile/compile-object-run.c
+++ b/gdb/compile/compile-object-run.c
@@ -36,6 +36,10 @@ struct do_module_cleanup
/* .c file OBJFILE was built from. It needs to be xfree-d. */
char *source_file;
+ /* Copy from struct compile_module. */
+ enum compile_i_scope_types scope;
+ void *scope_data;
+
/* objfile_name of our objfile. */
char objfile_name_string[1];
};
@@ -96,6 +100,8 @@ compile_object_run (struct compile_module *module)
data->executedp = &executed;
data->source_file = xstrdup (module->source_file);
strcpy (data->objfile_name_string, objfile_name_s);
+ data->scope = module->scope;
+ data->scope_data = module->scope_data;
xfree (module->source_file);
xfree (module);