From: Simon Marchi Date: Sat, 15 Mar 2025 22:13:41 +0000 (-0400) Subject: gdbsupport: add some -Wunused-* warning flags X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6fca4d9694bf6d10d1cc41aed8552fe90085eb09;p=thirdparty%2Fbinutils-gdb.git gdbsupport: add some -Wunused-* warning flags Add a few -Wunused-* diagnostic flags that look useful. Some are known to gcc, some to clang, some to both. Fix the fallouts. -Wunused-const-variable=1 is understood by gcc, but not clang. -Wunused-const-variable would be undertsood by both, but for gcc at least it would flag the unused const variables in headers. This doesn't make sense to me, because as soon as one source file includes a header but doesn't use a const variable defined in that header, it's an error. With `=1`, gcc only warns about unused const variable in the main source file. It's not a big deal that clang doesn't understand it though: any instance of that problem will be flagged by any gcc build. Change-Id: Ie20d99524b3054693f1ac5b53115bb46c89a5156 Approved-By: Tom Tromey --- diff --git a/gdb/configure b/gdb/configure index f4f026297f8..3080413fdc9 100755 --- a/gdb/configure +++ b/gdb/configure @@ -31295,7 +31295,13 @@ build_warnings=" \ -Wsuggest-override \ -Wunused-but-set-parameter \ -Wunused-but-set-variable \ +-Wunused-const-variable=1 \ -Wunused-function \ +-Wunused-label \ +-Wunused-lambda-capture \ +-Wunused-local-typedefs \ +-Wunused-member-function \ +-Wunused-private-field \ -Wunused-value \ -Wunused-variable \ -Wvla \ diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index 13f0540f2a6..9626b2c16c0 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -714,8 +714,7 @@ cooked_index_worker::write_to_cache (const cooked_index *idx, cooked_index::cooked_index (dwarf2_per_objfile *per_objfile, cooked_index_worker_up &&worker) - : m_state (std::move (worker)), - m_per_bfd (per_objfile->per_bfd) + : m_state (std::move (worker)) { /* ACTIVE_VECTORS is not locked, and this assert ensures that this will be caught if ever moved to the background. */ diff --git a/gdb/dwarf2/cooked-index.h b/gdb/dwarf2/cooked-index.h index 02f4512213a..be67a83150d 100644 --- a/gdb/dwarf2/cooked-index.h +++ b/gdb/dwarf2/cooked-index.h @@ -651,8 +651,6 @@ private: that the state is CACHE_DONE -- it's important to note that only the main thread may change the value of this pointer. */ cooked_index_worker_up m_state; - - dwarf2_per_bfd *m_per_bfd; }; /* An implementation of quick_symbol_functions for the cooked DWARF diff --git a/gdb/dwarf2/index-write.c b/gdb/dwarf2/index-write.c index 8fb59318538..da1f6cd1e08 100644 --- a/gdb/dwarf2/index-write.c +++ b/gdb/dwarf2/index-write.c @@ -887,8 +887,7 @@ private: /* Object constructor to be called for current DWARF2_PER_BFD. */ debug_str_lookup (dwarf2_per_bfd *per_bfd) - : m_abfd (per_bfd->obfd), - m_per_bfd (per_bfd) + : m_per_bfd (per_bfd) { } @@ -922,7 +921,6 @@ private: private: gdb::unordered_map m_str_table; - bfd *const m_abfd; dwarf2_per_bfd *m_per_bfd; /* Data to add at the end of .debug_str for new needed symbol names. */ diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index 85e4d59a9ab..fd178e90a86 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -3050,7 +3050,6 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, bool skip_partial, enum language pretend_language, const abbrev_table_cache *cache) - : m_this_cu (this_cu) { struct objfile *objfile = per_objfile->objfile; struct dwarf2_section_info *section = this_cu->section; @@ -3279,7 +3278,6 @@ cutu_reader::cutu_reader (dwarf2_per_cu *this_cu, enum language pretend_language, struct dwarf2_cu *parent_cu, struct dwo_file *dwo_file) - : m_this_cu (this_cu) { struct objfile *objfile = per_objfile->objfile; struct dwarf2_section_info *section = this_cu->section; @@ -16192,9 +16190,6 @@ private: /* Additional bits of state we need to track. */ - /* The last file that we called dwarf2_start_subfile for. - This is only used for TLLs. */ - unsigned int m_last_file = 0; /* The last file a line number was recorded for. */ struct subfile *m_last_subfile = NULL; diff --git a/gdb/dwarf2/read.h b/gdb/dwarf2/read.h index ced81540584..d498eeb00e0 100644 --- a/gdb/dwarf2/read.h +++ b/gdb/dwarf2/read.h @@ -1037,7 +1037,6 @@ private: struct die_info *m_top_level_die = nullptr; bool m_dummy_p = false; - dwarf2_per_cu *m_this_cu; dwarf2_cu_up m_new_cu; /* The ordinary abbreviation table. */ diff --git a/gdb/elfread.c b/gdb/elfread.c index e81233c6be8..5be31183433 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -592,7 +592,7 @@ elf_rel_plt_read (minimal_symbol_reader &reader, std::string string_buffer; /* Does ADDRESS reside in SECTION of OBFD? */ - auto within_section = [obfd] (asection *section, CORE_ADDR address) + auto within_section = [] (asection *section, CORE_ADDR address) { if (section == NULL) return false; diff --git a/gdb/mi/mi-out.c b/gdb/mi/mi-out.c index 9ad26e76a30..a704535f22f 100644 --- a/gdb/mi/mi-out.c +++ b/gdb/mi/mi-out.c @@ -323,7 +323,6 @@ mi_ui_out::version () mi_ui_out::mi_ui_out (int mi_version) : ui_out (make_flags (mi_version)), m_suppress_field_separator (false), - m_suppress_output (false), m_mi_version (mi_version) { string_file *stream = new string_file (); diff --git a/gdb/mi/mi-out.h b/gdb/mi/mi-out.h index 0112d5a7dd4..c6aad00c233 100644 --- a/gdb/mi/mi-out.h +++ b/gdb/mi/mi-out.h @@ -139,7 +139,6 @@ private: } bool m_suppress_field_separator; - bool m_suppress_output; int m_mi_version; std::vector m_streams; }; diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c index dda3efe9db3..937839856b2 100644 --- a/gdb/symfile-debug.c +++ b/gdb/symfile-debug.c @@ -789,24 +789,6 @@ debug_sym_relocate (struct objfile *objfile, asection *sectp, bfd_byte *buf) return retval; } -/* Template of debugging version of struct sym_fns. - A copy is made, with sym_flavour updated, and a pointer to the real table - installed in real_sf, and then a pointer to the copy is installed in the - objfile. */ - -static const struct sym_fns debug_sym_fns = -{ - debug_sym_new_init, - debug_sym_init, - debug_sym_read, - debug_sym_finish, - debug_sym_offsets, - debug_sym_segments, - debug_sym_read_linetable, - debug_sym_relocate, - &debug_sym_probe_fns, -}; - /* Install the debugging versions of the symfile functions for OBJFILE. Do not call this if the debug versions are already installed. */ diff --git a/gdbserver/configure b/gdbserver/configure index 0deb14656f5..b45b55ffde7 100755 --- a/gdbserver/configure +++ b/gdbserver/configure @@ -13692,7 +13692,13 @@ build_warnings=" \ -Wsuggest-override \ -Wunused-but-set-parameter \ -Wunused-but-set-variable \ +-Wunused-const-variable=1 \ -Wunused-function \ +-Wunused-label \ +-Wunused-lambda-capture \ +-Wunused-local-typedefs \ +-Wunused-member-function \ +-Wunused-private-field \ -Wunused-value \ -Wunused-variable \ -Wvla \ diff --git a/gdbsupport/configure b/gdbsupport/configure index 63619d7b3a7..bcfae3460e5 100755 --- a/gdbsupport/configure +++ b/gdbsupport/configure @@ -14254,7 +14254,13 @@ build_warnings=" \ -Wsuggest-override \ -Wunused-but-set-parameter \ -Wunused-but-set-variable \ +-Wunused-const-variable=1 \ -Wunused-function \ +-Wunused-label \ +-Wunused-lambda-capture \ +-Wunused-local-typedefs \ +-Wunused-member-function \ +-Wunused-private-field \ -Wunused-value \ -Wunused-variable \ -Wvla \ diff --git a/gdbsupport/warning.m4 b/gdbsupport/warning.m4 index b7c2dc5c4bc..04b58f186f1 100644 --- a/gdbsupport/warning.m4 +++ b/gdbsupport/warning.m4 @@ -57,7 +57,13 @@ build_warnings=" \ -Wsuggest-override \ -Wunused-but-set-parameter \ -Wunused-but-set-variable \ +-Wunused-const-variable=1 \ -Wunused-function \ +-Wunused-label \ +-Wunused-lambda-capture \ +-Wunused-local-typedefs \ +-Wunused-member-function \ +-Wunused-private-field \ -Wunused-value \ -Wunused-variable \ -Wvla \