aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ada-exp.y4
-rw-r--r--gdb/ax-gdb.c6
-rw-r--r--gdb/disasm.c3
-rw-r--r--gdb/location.c4
-rw-r--r--gdb/mi/mi-out.c7
-rw-r--r--gdb/tracepoint.c8
-rw-r--r--gdb/tui/tui-io.c4
7 files changed, 14 insertions, 22 deletions
diff --git a/gdb/ada-exp.y b/gdb/ada-exp.y
index 8660205..78aec4e 100644
--- a/gdb/ada-exp.y
+++ b/gdb/ada-exp.y
@@ -342,9 +342,7 @@ static ada_choices_component *
choice_component ()
{
ada_component *last = components.back ().get ();
- ada_choices_component *result = dynamic_cast<ada_choices_component *> (last);
- gdb_assert (result != nullptr);
- return result;
+ return gdb::checked_static_cast<ada_choices_component *> (last);
}
/* Pop the most recent component from the global stack, and return
diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c
index 1fccfde..0d2566f 100644
--- a/gdb/ax-gdb.c
+++ b/gdb/ax-gdb.c
@@ -1920,8 +1920,7 @@ assign_operation::do_generate_ax (struct expression *exp,
error (_("May only assign to trace state variables"));
internalvar_operation *ivarop
- = dynamic_cast<internalvar_operation *> (subop);
- gdb_assert (ivarop != nullptr);
+ = gdb::checked_static_cast<internalvar_operation *> (subop);
const char *name = internalvar_name (ivarop->get_internalvar ());
struct trace_state_variable *tsv;
@@ -1950,8 +1949,7 @@ assign_modify_operation::do_generate_ax (struct expression *exp,
error (_("May only assign to trace state variables"));
internalvar_operation *ivarop
- = dynamic_cast<internalvar_operation *> (subop);
- gdb_assert (ivarop != nullptr);
+ = gdb::checked_static_cast<internalvar_operation *> (subop);
const char *name = internalvar_name (ivarop->get_internalvar ());
struct trace_state_variable *tsv;
diff --git a/gdb/disasm.c b/gdb/disasm.c
index fe4eed2..989120e 100644
--- a/gdb/disasm.c
+++ b/gdb/disasm.c
@@ -246,8 +246,7 @@ gdb_printing_disassembler::stream_from_gdb_disassemble_info (void *dis_info)
{
gdb_disassemble_info *di = (gdb_disassemble_info *) dis_info;
gdb_printing_disassembler *dis
- = dynamic_cast<gdb_printing_disassembler *> (di);
- gdb_assert (dis != nullptr);
+ = gdb::checked_static_cast<gdb_printing_disassembler *> (di);
ui_file *stream = dis->stream ();
gdb_assert (stream != nullptr);
return stream;
diff --git a/gdb/location.c b/gdb/location.c
index 2b31baa..e4863fd 100644
--- a/gdb/location.c
+++ b/gdb/location.c
@@ -18,6 +18,7 @@
#include "defs.h"
#include "gdbsupport/gdb_assert.h"
+#include "gdbsupport/gdb-checked-static-cast.h"
#include "location.h"
#include "symtab.h"
#include "language.h"
@@ -848,8 +849,7 @@ string_to_location_spec (const char **stringp,
linespec parsing below and discard the explicit location
spec. */
explicit_location_spec *xloc
- = dynamic_cast<explicit_location_spec *> (locspec.get ());
- gdb_assert (xloc != nullptr);
+ = gdb::checked_static_cast<explicit_location_spec *> (locspec.get ());
match_type = xloc->func_name_match_type;
}
diff --git a/gdb/mi/mi-out.c b/gdb/mi/mi-out.c
index eedc5f7..96a847e 100644
--- a/gdb/mi/mi-out.c
+++ b/gdb/mi/mi-out.c
@@ -27,6 +27,7 @@
#include "interps.h"
#include "ui-out.h"
#include "utils.h"
+#include "gdbsupport/gdb-checked-static-cast.h"
/* Mark beginning of a table. */
@@ -327,11 +328,7 @@ mi_out_new (const char *mi_version)
static mi_ui_out *
as_mi_ui_out (ui_out *uiout)
{
- mi_ui_out *mi_uiout = dynamic_cast<mi_ui_out *> (uiout);
-
- gdb_assert (mi_uiout != NULL);
-
- return mi_uiout;
+ return gdb::checked_static_cast<mi_ui_out *> (uiout);
}
int
diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c
index 75ac0ce..dfb62dc 100644
--- a/gdb/tracepoint.c
+++ b/gdb/tracepoint.c
@@ -687,7 +687,7 @@ validate_actionline (const char *line, struct breakpoint *b)
{
symbol *sym;
expr::var_value_operation *vvop
- = (dynamic_cast<expr::var_value_operation *>
+ = (gdb::checked_static_cast<expr::var_value_operation *>
(exp->op.get ()));
sym = vvop->get_symbol ();
@@ -1357,7 +1357,7 @@ encode_actions_1 (struct command_line *action,
case OP_REGISTER:
{
expr::register_operation *regop
- = (dynamic_cast<expr::register_operation *>
+ = (gdb::checked_static_cast<expr::register_operation *>
(exp->op.get ()));
const char *name = regop->get_name ();
@@ -1380,7 +1380,7 @@ encode_actions_1 (struct command_line *action,
tempval = evaluate_expression (exp.get ());
addr = value_address (tempval);
expr::unop_memval_operation *memop
- = (dynamic_cast<expr::unop_memval_operation *>
+ = (gdb::checked_static_cast<expr::unop_memval_operation *>
(exp->op.get ()));
struct type *type = memop->get_type ();
/* Initialize the TYPE_LENGTH if it is a typedef. */
@@ -1397,7 +1397,7 @@ encode_actions_1 (struct command_line *action,
case OP_VAR_VALUE:
{
expr::var_value_operation *vvo
- = (dynamic_cast<expr::var_value_operation *>
+ = (gdb::checked_static_cast<expr::var_value_operation *>
(exp->op.get ()));
struct symbol *sym = vvo->get_symbol ();
const char *name = sym->natural_name ();
diff --git a/gdb/tui/tui-io.c b/gdb/tui/tui-io.c
index 0efaf69..a30000e 100644
--- a/gdb/tui/tui-io.c
+++ b/gdb/tui/tui-io.c
@@ -45,6 +45,7 @@
#include "gdb_curses.h"
#include <map>
#include "pager.h"
+#include "gdbsupport/gdb-checked-static-cast.h"
/* This redefines CTRL if it is not already defined, so it must come
after terminal state releated include files like <term.h> and
@@ -832,8 +833,7 @@ tui_setup_io (int mode)
tui_old_stdout = gdb_stdout;
tui_old_stderr = gdb_stderr;
tui_old_stdlog = gdb_stdlog;
- tui_old_uiout = dynamic_cast<cli_ui_out *> (current_uiout);
- gdb_assert (tui_old_uiout != nullptr);
+ tui_old_uiout = gdb::checked_static_cast<cli_ui_out *> (current_uiout);
/* Reconfigure gdb output. */
gdb_stdout = tui_stdout;