Use checked_static_cast in more places
I looked through all the uses of static_cast<... *> in gdb and converted many of them to checked_static_cast. I couldn't test a few of these changes.
This commit is contained in:
parent
45685a2fd8
commit
98ed24fb35
9 changed files with 28 additions and 25 deletions
|
@ -90,7 +90,7 @@ struct aix_thread_info : public private_thread_info
|
|||
static aix_thread_info *
|
||||
get_aix_thread_info (thread_info *thread)
|
||||
{
|
||||
return static_cast<aix_thread_info *> (thread->priv.get ());
|
||||
return gdb::checked_static_cast<aix_thread_info *> (thread->priv.get ());
|
||||
}
|
||||
|
||||
/* Information about a thread of which libpthdebug is aware. */
|
||||
|
|
|
@ -997,7 +997,7 @@ set_breakpoint_condition (struct breakpoint *b, const char *exp,
|
|||
b->cond_string.reset ();
|
||||
|
||||
if (is_watchpoint (b))
|
||||
static_cast<watchpoint *> (b)->cond_exp.reset ();
|
||||
gdb::checked_static_cast<watchpoint *> (b)->cond_exp.reset ();
|
||||
else
|
||||
{
|
||||
int loc_num = 1;
|
||||
|
@ -1029,7 +1029,7 @@ set_breakpoint_condition (struct breakpoint *b, const char *exp,
|
|||
expression_up new_exp = parse_exp_1 (&arg, 0, 0, 0, &tracker);
|
||||
if (*arg != 0)
|
||||
error (_("Junk at end of expression"));
|
||||
watchpoint *w = static_cast<watchpoint *> (b);
|
||||
watchpoint *w = gdb::checked_static_cast<watchpoint *> (b);
|
||||
w->cond_exp = std::move (new_exp);
|
||||
w->cond_exp_valid_block = tracker.block ();
|
||||
}
|
||||
|
@ -8312,7 +8312,7 @@ code_breakpoint::code_breakpoint (struct gdbarch *gdbarch_,
|
|||
if (type == bp_static_tracepoint
|
||||
|| type == bp_static_marker_tracepoint)
|
||||
{
|
||||
auto *t = static_cast<struct tracepoint *> (this);
|
||||
auto *t = gdb::checked_static_cast<struct tracepoint *> (this);
|
||||
struct static_tracepoint_marker marker;
|
||||
|
||||
if (strace_marker_p (this))
|
||||
|
@ -13502,7 +13502,8 @@ insert_single_step_breakpoint (struct gdbarch *gdbarch,
|
|||
sal.explicit_pc = 1;
|
||||
|
||||
auto *ss_bp
|
||||
= static_cast<momentary_breakpoint *> (tp->control.single_step_breakpoints);
|
||||
= (gdb::checked_static_cast<momentary_breakpoint *>
|
||||
(tp->control.single_step_breakpoints));
|
||||
ss_bp->add_location (sal);
|
||||
|
||||
update_global_location_list (UGLL_INSERT);
|
||||
|
|
|
@ -154,7 +154,7 @@ struct darwin_exception_info
|
|||
static inline darwin_thread_info *
|
||||
get_darwin_thread_info (class thread_info *thread)
|
||||
{
|
||||
return static_cast<darwin_thread_info *> (thread->priv.get ());
|
||||
return gdb::checked_static_cast<darwin_thread_info *> (thread->priv.get ());
|
||||
}
|
||||
|
||||
/* Describe an inferior. */
|
||||
|
@ -188,7 +188,7 @@ struct darwin_inferior : public private_inferior
|
|||
static inline darwin_inferior *
|
||||
get_darwin_inferior (inferior *inf)
|
||||
{
|
||||
return static_cast<darwin_inferior *> (inf->priv.get ());
|
||||
return gdb::checked_static_cast<darwin_inferior *> (inf->priv.get ());
|
||||
}
|
||||
|
||||
/* Exception port. */
|
||||
|
|
|
@ -3102,7 +3102,7 @@ dwarf2_gdb_index::dump (struct objfile *objfile)
|
|||
{
|
||||
dwarf2_per_objfile *per_objfile = get_dwarf2_per_objfile (objfile);
|
||||
|
||||
mapped_index *index = (static_cast<mapped_index *>
|
||||
mapped_index *index = (gdb::checked_static_cast<mapped_index *>
|
||||
(per_objfile->per_bfd->index_table.get ()));
|
||||
gdb_printf (".gdb_index: version %d\n", index->version);
|
||||
gdb_printf ("\n");
|
||||
|
@ -18576,11 +18576,11 @@ dwarf2_per_cu_data *
|
|||
cooked_index_functions::find_per_cu (dwarf2_per_bfd *per_bfd,
|
||||
CORE_ADDR adjusted_pc)
|
||||
{
|
||||
cooked_index_vector *table
|
||||
= (static_cast<cooked_index_vector *>
|
||||
(per_bfd->index_table.get ()));
|
||||
if (table == nullptr)
|
||||
if (per_bfd->index_table == nullptr)
|
||||
return nullptr;
|
||||
cooked_index_vector *table
|
||||
= (gdb::checked_static_cast<cooked_index_vector *>
|
||||
(per_bfd->index_table.get ()));
|
||||
return table->lookup (adjusted_pc);
|
||||
}
|
||||
|
||||
|
@ -18597,7 +18597,7 @@ cooked_index_functions::find_compunit_symtab_by_address
|
|||
|
||||
CORE_ADDR baseaddr = objfile->data_section_offset ();
|
||||
cooked_index_vector *table
|
||||
= (static_cast<cooked_index_vector *>
|
||||
= (gdb::checked_static_cast<cooked_index_vector *>
|
||||
(per_objfile->per_bfd->index_table.get ()));
|
||||
dwarf2_per_cu_data *per_cu = table->lookup (address - baseaddr);
|
||||
if (per_cu == nullptr)
|
||||
|
@ -18625,7 +18625,7 @@ cooked_index_functions::expand_matching_symbols
|
|||
= lang->get_symbol_name_matcher (lookup_name);
|
||||
|
||||
cooked_index_vector *table
|
||||
= (static_cast<cooked_index_vector *>
|
||||
= (gdb::checked_static_cast<cooked_index_vector *>
|
||||
(per_objfile->per_bfd->index_table.get ()));
|
||||
for (const cooked_index_entry *entry : table->all_entries ())
|
||||
{
|
||||
|
@ -18657,7 +18657,7 @@ cooked_index_functions::expand_symtabs_matching
|
|||
return true;
|
||||
|
||||
cooked_index_vector *table
|
||||
= (static_cast<cooked_index_vector *>
|
||||
= (gdb::checked_static_cast<cooked_index_vector *>
|
||||
(per_objfile->per_bfd->index_table.get ()));
|
||||
table->wait ();
|
||||
|
||||
|
|
|
@ -317,7 +317,7 @@ struct thread_db_thread_info : public private_thread_info
|
|||
static thread_db_thread_info *
|
||||
get_thread_db_thread_info (thread_info *thread)
|
||||
{
|
||||
return static_cast<thread_db_thread_info *> (thread->priv.get ());
|
||||
return gdb::checked_static_cast<thread_db_thread_info *> (thread->priv.get ());
|
||||
}
|
||||
|
||||
static const char *
|
||||
|
|
|
@ -221,7 +221,7 @@ const linespec_location_spec *
|
|||
as_linespec_location_spec (const location_spec *locspec)
|
||||
{
|
||||
gdb_assert (locspec->type () == LINESPEC_LOCATION_SPEC);
|
||||
return static_cast<const linespec_location_spec *> (locspec);
|
||||
return gdb::checked_static_cast<const linespec_location_spec *> (locspec);
|
||||
}
|
||||
|
||||
/* See description in location.h. */
|
||||
|
@ -240,7 +240,7 @@ const address_location_spec *
|
|||
as_address_location_spec (const location_spec *locspec)
|
||||
{
|
||||
gdb_assert (locspec->type () == ADDRESS_LOCATION_SPEC);
|
||||
return static_cast<const address_location_spec *> (locspec);
|
||||
return gdb::checked_static_cast<const address_location_spec *> (locspec);
|
||||
}
|
||||
|
||||
/* See description in location.h. */
|
||||
|
@ -257,7 +257,7 @@ const probe_location_spec *
|
|||
as_probe_location_spec (const location_spec *locspec)
|
||||
{
|
||||
gdb_assert (locspec->type () == PROBE_LOCATION_SPEC);
|
||||
return static_cast<const probe_location_spec *> (locspec);
|
||||
return gdb::checked_static_cast<const probe_location_spec *> (locspec);
|
||||
}
|
||||
|
||||
/* See description in location.h. */
|
||||
|
@ -266,7 +266,7 @@ const explicit_location_spec *
|
|||
as_explicit_location_spec (const location_spec *locspec)
|
||||
{
|
||||
gdb_assert (locspec->type () == EXPLICIT_LOCATION_SPEC);
|
||||
return static_cast<const explicit_location_spec *> (locspec);
|
||||
return gdb::checked_static_cast<const explicit_location_spec *> (locspec);
|
||||
}
|
||||
|
||||
/* See description in location.h. */
|
||||
|
@ -275,7 +275,7 @@ explicit_location_spec *
|
|||
as_explicit_location_spec (location_spec *locspec)
|
||||
{
|
||||
gdb_assert (locspec->type () == EXPLICIT_LOCATION_SPEC);
|
||||
return static_cast<explicit_location_spec *> (locspec);
|
||||
return gdb::checked_static_cast<explicit_location_spec *> (locspec);
|
||||
}
|
||||
|
||||
/* Return a string representation of the explicit location spec in
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "osabi.h"
|
||||
#include "regset.h"
|
||||
#include "gdbthread.h"
|
||||
#include "gdbsupport/gdb-checked-static-cast.h"
|
||||
|
||||
/* Target operations defined for Neutrino targets (<target>-nto-tdep.c). */
|
||||
|
||||
|
@ -145,7 +146,7 @@ struct nto_thread_info : public private_thread_info
|
|||
static inline nto_thread_info *
|
||||
get_nto_thread_info (thread_info *thread)
|
||||
{
|
||||
return static_cast<nto_thread_info *> (thread->priv.get ());
|
||||
return gdb::checked_static_cast<nto_thread_info *> (thread->priv.get ());
|
||||
}
|
||||
|
||||
/* Per-inferior data, common for both procfs and remote. */
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include "target.h"
|
||||
#include <set>
|
||||
#include "gdbsupport/intrusive_list.h"
|
||||
#include "gdbsupport/gdb-checked-static-cast.h"
|
||||
#include "gdbthread.h"
|
||||
|
||||
/* Abstract base class inherited by all process_stratum targets. */
|
||||
|
@ -160,7 +161,7 @@ static inline process_stratum_target *
|
|||
as_process_stratum_target (target_ops *target)
|
||||
{
|
||||
gdb_assert (target->stratum () == process_stratum);
|
||||
return static_cast<process_stratum_target *> (target);
|
||||
return gdb::checked_static_cast<process_stratum_target *> (target);
|
||||
}
|
||||
|
||||
/* Return a collection of targets that have non-exited inferiors. */
|
||||
|
|
|
@ -2694,7 +2694,7 @@ get_remote_thread_info (thread_info *thread)
|
|||
if (thread->priv == NULL)
|
||||
thread->priv.reset (new remote_thread_info);
|
||||
|
||||
return static_cast<remote_thread_info *> (thread->priv.get ());
|
||||
return gdb::checked_static_cast<remote_thread_info *> (thread->priv.get ());
|
||||
}
|
||||
|
||||
/* Return PTID's private thread data, creating it if necessary. */
|
||||
|
@ -6611,7 +6611,7 @@ get_remote_inferior (inferior *inf)
|
|||
if (inf->priv == NULL)
|
||||
inf->priv.reset (new remote_inferior);
|
||||
|
||||
return static_cast<remote_inferior *> (inf->priv.get ());
|
||||
return gdb::checked_static_cast<remote_inferior *> (inf->priv.get ());
|
||||
}
|
||||
|
||||
/* Class used to track the construction of a vCont packet in the
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue