m_call_info (call_info)
{}
- label_text get_desc (bool can_colorize) const
+ label_text get_desc (bool can_colorize) const final override
{
return m_call_info->get_desc (can_colorize);
}
}
state_machine::state_t get_state (const gimple *stmt ATTRIBUTE_UNUSED,
- tree var)
+ tree var) final override
{
logger * const logger = get_logger ();
LOG_FUNC (logger);
return current;
}
state_machine::state_t get_state (const gimple *stmt ATTRIBUTE_UNUSED,
- const svalue *sval)
+ const svalue *sval) final override
{
logger * const logger = get_logger ();
LOG_FUNC (logger);
void set_next_state (const gimple *stmt,
tree var,
state_machine::state_t to,
- tree origin)
+ tree origin) final override
{
logger * const logger = get_logger ();
LOG_FUNC (logger);
void set_next_state (const gimple *stmt,
const svalue *sval,
state_machine::state_t to,
- tree origin)
+ tree origin) final override
{
logger * const logger = get_logger ();
LOG_FUNC (logger);
return false;
}
- label_text describe_final_event (const evdesc::final_event &ev)
+ label_text describe_final_event (const evdesc::final_event &ev) final override
{
if (m_stack_pop_event)
return ev.formatted_print
const char *get_kind () const final override { return "reason_attr_access"; }
- void emit () const
+ void emit () const final override
{
inform (DECL_SOURCE_LOCATION (m_callee_fndecl),
"parameter %i of %qD marked with attribute %qs",
const char *get_kind () const final override { return "possible_null_arg"; }
- bool subclass_equal_p (const pending_diagnostic &base_other) const
+ bool subclass_equal_p (const pending_diagnostic &base_other)
+ const final override
{
const possible_null_arg &sub_other
= (const possible_null_arg &)base_other;
const char *get_kind () const final override { return "null_arg"; }
- bool subclass_equal_p (const pending_diagnostic &base_other) const
+ bool subclass_equal_p (const pending_diagnostic &base_other)
+ const final override
{
const null_arg &sub_other
= (const null_arg &)base_other;
void dump (pretty_printer *pp) const;
void dump () const;
- void dump_dot (graphviz_out *gv, const dump_args_t &args) const;
+ void dump_dot (graphviz_out *gv, const dump_args_t &args)
+ const final override;
virtual void dump_label_to_pp (pretty_printer *pp,
bool user_facing) const = 0;
involvement_visitor (const svalue *needle)
: m_needle (needle), m_found (false) {}
- void visit_initial_svalue (const initial_svalue *candidate)
+ void visit_initial_svalue (const initial_svalue *candidate) final override
{
if (candidate == m_needle)
m_found = true;
}
- void visit_conjured_svalue (const conjured_svalue *candidate)
+ void visit_conjured_svalue (const conjured_svalue *candidate) final override
{
if (candidate == m_needle)
m_found = true;
return va_list_sm_diagnostic::subclass_equal_p (other);
}
- bool emit (rich_location *rich_loc)
+ bool emit (rich_location *rich_loc) final override
{
auto_diagnostic_group d;
return warning_at (rich_loc, get_controlling_option (),