diff options
author | Tom Tromey <tom@tromey.com> | 2018-11-23 12:20:05 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2019-01-09 18:28:14 -0700 |
commit | aed57c537116ae91f553ac835b3f96d1f87b3bb0 (patch) | |
tree | c2699609b04041be0ab313616b8a20e771a7a47e /gdb/python | |
parent | 99d89cdea6c296bdd94ce532350d139d3900ff78 (diff) | |
download | binutils-aed57c537116ae91f553ac835b3f96d1f87b3bb0.zip binutils-aed57c537116ae91f553ac835b3f96d1f87b3bb0.tar.gz binutils-aed57c537116ae91f553ac835b3f96d1f87b3bb0.tar.bz2 |
Remove most uses of ALL_OBJFILES
This removes most uses of ALL_OBJFILES, replacing them with ranged for
loops. The remaining uses are all in macros, and will be removed in
subsequent patches.
gdb/ChangeLog
2019-01-09 Tom Tromey <tom@tromey.com>
* symtab.c (iterate_over_symtabs, matching_obj_sections)
(expand_symtab_containing_pc, lookup_static_symbol)
(basic_lookup_transparent_type, find_pc_sect_compunit_symtab)
(find_symbol_at_address, find_line_symtab, find_main_name): Use
all_objfiles.
* probe.c (find_probe_by_pc, collect_probes): Use all_objfiles.
* breakpoint.c (create_overlay_event_breakpoint)
(create_longjmp_master_breakpoint)
(create_std_terminate_master_breakpoint)
(create_exception_master_breakpoint): Use all_objfiles.
* linux-thread-db.c (try_thread_db_load_from_pdir)
(has_libpthread): Use all_objfiles.
* ada-lang.c (add_nonlocal_symbols): Use all_objfiles.
* linespec.c (iterate_over_all_matching_symtabs)
(search_minsyms_for_name): Use all_objfiles.
* maint.c (maintenance_info_sections): Use all_objfiles.
* main.c (captured_main_1): Use all_objfiles.
* spu-tdep.c (spu_objfile_from_frame): Use all_objfiles.
* guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles.
* guile/scm-pretty-print.c
(ppscm_find_pretty_printer_from_objfiles): Use all_objfiles.
* solib-spu.c (append_ocl_sos): Use all_objfiles.
* symmisc.c (maintenance_print_symbols): Use all_objfiles.
(maintenance_print_msymbols): Use all_objfiles.
* source.c (select_source_symtab): Use all_objfiles.
* jit.c (jit_find_objf_with_entry_addr): Use all_objfiles.
* symfile.c (remove_symbol_file_command)
(expand_symtabs_matching, map_symbol_filenames): Use
all_objfiles.
* ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use
all_objfiles.
* dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles.
* objc-lang.c (find_methods): Use all_objfiles.
* objfiles.c (have_partial_symbols, have_full_symbols)
(have_minimal_symbols, qsort_cmp)
(default_iterate_over_objfiles_in_search_order): Use
all_objfiles.
* hppa-tdep.c (find_unwind_entry): Use all_objfiles.
* psymtab.c (maintenance_print_psymbols): Use all_objfiles.
(maintenance_check_psymtabs): Use all_objfiles.
(ALL_PSYMTABS): Remove.
* compile/compile-object-run.c (do_module_cleanup): Use
all_objfiles.
* blockframe.c (find_pc_partial_function): Use all_objfiles.
* cp-support.c (add_symbol_overload_list_qualified): Use
all_objfiles.
* windows-tdep.c (windows_iterate_over_objfiles_in_search_order):
Use all_objfiles.
* dwarf-index-write.c (save_gdb_index_command): Use all_objfiles.
* python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use
all_objfiles.
* python/py-objfile.c (objfpy_lookup_objfile_by_name)
(objfpy_lookup_objfile_by_build_id): Use all_objfiles.
* python/py-prettyprint.c (find_pretty_printer_from_objfiles):
Uses all_objfiles.
* solib.c (solib_read_symbols): Use all_objfiles
Diffstat (limited to 'gdb/python')
-rw-r--r-- | gdb/python/py-objfile.c | 8 | ||||
-rw-r--r-- | gdb/python/py-prettyprint.c | 38 | ||||
-rw-r--r-- | gdb/python/py-xmethods.c | 4 |
3 files changed, 21 insertions, 29 deletions
diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c index 5f61b73..d9cf548 100644 --- a/gdb/python/py-objfile.c +++ b/gdb/python/py-objfile.c @@ -501,9 +501,7 @@ objfpy_build_id_matches (const struct bfd_build_id *build_id, static struct objfile * objfpy_lookup_objfile_by_name (const char *name) { - struct objfile *objfile; - - ALL_OBJFILES (objfile) + for (objfile *objfile : all_objfiles (current_program_space)) { const char *filename; @@ -529,9 +527,7 @@ objfpy_lookup_objfile_by_name (const char *name) static struct objfile * objfpy_lookup_objfile_by_build_id (const char *build_id) { - struct objfile *objfile; - - ALL_OBJFILES (objfile) + for (objfile *objfile : all_objfiles (current_program_space)) { const struct bfd_build_id *obfd_build_id; diff --git a/gdb/python/py-prettyprint.c b/gdb/python/py-prettyprint.c index ac0506f..4092fdb 100644 --- a/gdb/python/py-prettyprint.c +++ b/gdb/python/py-prettyprint.c @@ -93,28 +93,26 @@ search_pp_list (PyObject *list, PyObject *value) static PyObject * find_pretty_printer_from_objfiles (PyObject *value) { - struct objfile *obj; + for (objfile *obj : all_objfiles (current_program_space)) + { + gdbpy_ref<> objf = objfile_to_objfile_object (obj); + if (objf == NULL) + { + /* Ignore the error and continue. */ + PyErr_Clear (); + continue; + } - ALL_OBJFILES (obj) - { - gdbpy_ref<> objf = objfile_to_objfile_object (obj); - if (objf == NULL) - { - /* Ignore the error and continue. */ - PyErr_Clear (); - continue; - } - - gdbpy_ref<> pp_list (objfpy_get_printers (objf.get (), NULL)); - gdbpy_ref<> function (search_pp_list (pp_list.get (), value)); - - /* If there is an error in any objfile list, abort the search and exit. */ - if (function == NULL) - return NULL; + gdbpy_ref<> pp_list (objfpy_get_printers (objf.get (), NULL)); + gdbpy_ref<> function (search_pp_list (pp_list.get (), value)); - if (function != Py_None) - return function.release (); - } + /* If there is an error in any objfile list, abort the search and exit. */ + if (function == NULL) + return NULL; + + if (function != Py_None) + return function.release (); + } Py_RETURN_NONE; } diff --git a/gdb/python/py-xmethods.c b/gdb/python/py-xmethods.c index a1f7b1d..acf521d 100644 --- a/gdb/python/py-xmethods.c +++ b/gdb/python/py-xmethods.c @@ -121,8 +121,6 @@ gdbpy_get_matching_xmethod_workers struct type *obj_type, const char *method_name, std::vector<xmethod_worker_up> *dm_vec) { - struct objfile *objfile; - gdb_assert (obj_type != NULL && method_name != NULL); gdbpy_enter enter_py (get_current_arch (), current_language); @@ -145,7 +143,7 @@ gdbpy_get_matching_xmethod_workers /* Gather debug method matchers registered with the object files. This could be done differently by iterating over each objfile's matcher list individually, but there's no data yet to show it's needed. */ - ALL_OBJFILES (objfile) + for (objfile *objfile : all_objfiles (current_program_space)) { gdbpy_ref<> py_objfile = objfile_to_objfile_object (objfile); |