diff options
author | Simon Marchi <simon.marchi@polymtl.ca> | 2025-03-15 18:13:41 -0400 |
---|---|---|
committer | Simon Marchi <simon.marchi@efficios.com> | 2025-03-17 16:14:08 -0400 |
commit | 6fca4d9694bf6d10d1cc41aed8552fe90085eb09 (patch) | |
tree | 124548e579158904baa1a362ca1bf9e70c3c1b2a /gdb | |
parent | df3eb64a53c3589f4e930a89e08e2200e8627509 (diff) | |
download | binutils-6fca4d9694bf6d10d1cc41aed8552fe90085eb09.zip binutils-6fca4d9694bf6d10d1cc41aed8552fe90085eb09.tar.gz binutils-6fca4d9694bf6d10d1cc41aed8552fe90085eb09.tar.bz2 |
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 <tom@tromey.com>
Diffstat (limited to 'gdb')
-rwxr-xr-x | gdb/configure | 6 | ||||
-rw-r--r-- | gdb/dwarf2/cooked-index.c | 3 | ||||
-rw-r--r-- | gdb/dwarf2/cooked-index.h | 2 | ||||
-rw-r--r-- | gdb/dwarf2/index-write.c | 4 | ||||
-rw-r--r-- | gdb/dwarf2/read.c | 5 | ||||
-rw-r--r-- | gdb/dwarf2/read.h | 1 | ||||
-rw-r--r-- | gdb/elfread.c | 2 | ||||
-rw-r--r-- | gdb/mi/mi-out.c | 1 | ||||
-rw-r--r-- | gdb/mi/mi-out.h | 1 | ||||
-rw-r--r-- | gdb/symfile-debug.c | 18 |
10 files changed, 9 insertions, 34 deletions
diff --git a/gdb/configure b/gdb/configure index f4f0262..3080413 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 13f0540..9626b2c 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 02f4512..be67a83 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 8fb5931..da1f6cd 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<c_str_view, size_t, c_str_view_hasher> 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 85e4d59..fd178e9 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 ced8154..d498eeb 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 e81233c..5be3118 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 9ad26e7..a704535 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 0112d5a..c6aad00 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<ui_file *> m_streams; }; diff --git a/gdb/symfile-debug.c b/gdb/symfile-debug.c index dda3efe..9378398 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. */ |