+2016-05-13 David Malcolm <dmalcolm@redhat.com>
+
+ * jit-playback.h: Within namespace gcc:jit::playback...
+ (compile_to_memory::postprocess): Mark with FINAL OVERRIDE.
+ (compile_to_file::postprocess): Likewise.
+ (function::finalizer): Likewise.
+ (block::finalizer): Likewise.
+ (source_file::finalizer): Likewise.
+ (source_line::finalizer): Likewise.
+ * jit-recording.c (gcc::jit::rvalue_usage_validator):: Likewise.
+ * jit-recording.h: Within namespace gcc::jit::recording...
+ (string::replay_into): Mark with FINAL OVERRIDE.
+ (string::make_debug_string): Likewise.
+ (string::write_reproducer): Likewise.
+ (location::replay_into): Likewise.
+ (location::dyn_cast_location): Likewise.
+ (location::make_debug_string): Likewise.
+ (location::write_reproducer): Likewise.
+ (memento_of_get_type::dereference): Likewise.
+ (memento_of_get_type::accepts_writes_from): Likewise.
+ (memento_of_get_type::is_int): Likewise.
+ (memento_of_get_type::is_float): Likewise.
+ (memento_of_get_type::is_bool): Likewise.
+ (memento_of_get_type::is_pointer): Likewise.
+ (memento_of_get_type::is_array): Likewise.
+ (memento_of_get_type::is_void): Likewise.
+ (memento_of_get_type::replay_into): Likewise.
+ (memento_of_get_type::make_debug_string): Likewise.
+ (memento_of_get_type::write_reproducer): Likewise.
+ (memento_of_get_pointer::dereference): Likewise.
+ (memento_of_get_pointer::accepts_writes_from): Likewise.
+ (memento_of_get_pointer::replay_into): Likewise.
+ (memento_of_get_pointer::is_int): Likewise.
+ (memento_of_get_pointer::is_float): Likewise.
+ (memento_of_get_pointer::is_bool): Likewise.
+ (memento_of_get_pointer::is_pointer): Likewise.
+ (memento_of_get_pointer::is_array): Likewise.
+ (memento_of_get_pointer::make_debug_string): Likewise.
+ (memento_of_get_pointer::write_reproducer): Likewise.
+ (memento_of_get_const::dereference): Likewise.
+ (memento_of_get_const::accepts_writes_from): Likewise.
+ (memento_of_get_const::unqualified): Likewise.
+ (memento_of_get_const::is_int): Likewise.
+ (memento_of_get_const::is_float): Likewise.
+ (memento_of_get_const::is_bool): Likewise.
+ (memento_of_get_const::is_pointer): Likewise.
+ (memento_of_get_const::is_array): Likewise.
+ (memento_of_get_const::void replay_into): Likewise;
+ (memento_of_get_const::make_debug_string): Likewise.
+ (memento_of_get_const::write_reproducer): Likewise.
+ (memento_of_get_volatile::dereference): Likewise.
+ (memento_of_get_volatile::unqualified): Likewise.
+ (memento_of_get_volatile::is_int): Likewise.
+ (memento_of_get_volatile::is_float): Likewise.
+ (memento_of_get_volatile::is_bool): Likewise.
+ (memento_of_get_volatile::is_pointer): Likewise.
+ (memento_of_get_volatile::is_array): Likewise.
+ (memento_of_get_volatile::replay_into): Likewise;
+ (memento_of_get_volatile::make_debug_string): Likewise.
+ (memento_of_get_volatile::write_reproducer): Likewise.
+ (array_type::dereference): Likewise.
+ (array_type::is_int): Likewise.
+ (array_type::is_float): Likewise.
+ (array_type::is_bool): Likewise.
+ (array_type::is_pointer): Likewise.
+ (array_type::is_array): Likewise.
+ (array_type::replay_into): Likewise;
+ (array_type::make_debug_string): Likewise.
+ (array_type::write_reproducer): Likewise.
+ (function_type::dereference): Likewise.
+ (function_type::function_dyn_cast_function_type): Likewise.
+ (function_type::function_as_a_function_type): Likewise.
+ (function_type::is_int): Likewise.
+ (function_type::is_float): Likewise.
+ (function_type::is_bool): Likewise.
+ (function_type::is_pointer): Likewise.
+ (function_type::is_array): Likewise.
+ (function_type::replay_into): Likewise;
+ (function_type::make_debug_string): Likewise.
+ (function_type::write_reproducer): Likewise.
+ (field::replay_into): Likewise;
+ (field::write_to_dump): Likewise.
+ (field::make_debug_string): Likewise.
+ (field::write_reproducer): Likewise.
+ (compound_type::dereference): Likewise.
+ (compound_type::is_int): Likewise.
+ (compound_type::is_float): Likewise.
+ (compound_type::is_bool): Likewise.
+ (compound_type::is_pointer): Likewise.
+ (compound_type::is_array): Likewise.
+ (compound_type::has_known_size): Likewise.
+ (struct_::dyn_cast_struct): Likewise.
+ (struct_::replay_into): Likewise.
+ (struct_::access_as_type): Likewise.
+ (struct_::make_debug_string): Likewise.
+ (struct_::write_reproducer): Likewise.
+ (fields::replay_into): Likewise.
+ (fields::write_to_dump): Likewise.
+ (fields::make_debug_string): Likewise.
+ (fields::write_reproducer): Likewise.
+ (union_::replay_into): Likewise.
+ (union_::make_debug_string): Likewise.
+ (union_::write_reproducer): Likewise.
+ (lvalue::access_as_rvalue): Mark with OVERRIDE.
+ (param::replay_into): Mark with FINAL OVERRIDE.
+ (param::visit_children): Likewise.
+ (param::dyn_cast_param): Likewise.
+ (param::access_as_rvalue): Likewise.
+ (param::access_as_lvalue): Likewise.
+ (param::make_debug_string): Likewise.
+ (param::write_reproducer): Likewise.
+ (param::get_precedence): Likewise.
+ (function::replay_into): Likewise.
+ (function::write_to_dump): Likewise.
+ (function::make_debug_string): Likewise.
+ (function::write_reproducer): Likewise.
+ (block::write_to_dump): Likewise.
+ (block::make_debug_string): Likewise.
+ (block::write_reproducer): Likewise.
+ (block::replay_into): Likewise.
+ (global::replay_into): Likewise;
+ (global::visit_children): Likewise.
+ (global::write_to_dump): Likewise.
+ (global::make_debug_string): Likewise.
+ (global::write_reproducer): Likewise.
+ (global::get_precedence): Likewise.
+ (memento_of_new_rvalue_from_const::replay_into): Likewise.
+ (memento_of_new_rvalue_from_const::visit_children): Likewise.
+ (memento_of_new_rvalue_from_const::is_constant): Likewise.
+ (memento_of_new_rvalue_from_const::get_wide_int): Likewise.
+ (memento_of_new_rvalue_from_const::make_debug_string): Likewise.
+ (memento_of_new_rvalue_from_const::write_reproducer): Likewise.
+ (memento_of_new_rvalue_from_const::get_precedence): Likewise.
+ (memento_of_new_string_literal::replay_into): Likewise.
+ (memento_of_new_string_literal::visit_children): Likewise.
+ (memento_of_new_string_literal::make_debug_string): Likewise.
+ (memento_of_new_string_literal::write_reproducer): Likewise.
+ (memento_of_new_string_literal::get_precedence): Likewise.
+ (unary_op::replay_into): Likewise.
+ (unary_op::visit_children): Likewise.
+ (unary_op::make_debug_string): Likewise.
+ (unary_op::write_reproducer): Likewise.
+ (unary_op::get_precedence): Likewise.
+ (binary_op::replay_into): Likewise.
+ (binary_op::visit_children): Likewise.
+ (binary_op::make_debug_string): Likewise.
+ (binary_op::write_reproducer): Likewise.
+ (binary_op::get_precedence): Likewise.
+ (comparison::replay_into): Likewise.
+ (comparison::visit_children): Likewise.
+ (comparison::make_debug_string): Likewise.
+ (comparison::write_reproducer): Likewise.
+ (comparison::get_precedence): Likewise.
+ (cast::replay_into): Likewise.
+ (cast::visit_children): Likewise.
+ (cast::make_debug_string): Likewise.
+ (cast::write_reproducer): Likewise.
+ (cast::get_precedence): Likewise.
+ (call::replay_into): Likewise.
+ (call::visit_children): Likewise.
+ (call::make_debug_string): Likewise.
+ (call::write_reproducer): Likewise.
+ (call::get_precedence): Likewise.
+ (call_through_ptr::replay_into): Likewise.
+ (call_through_ptr::visit_children): Likewise.
+ (call_through_ptr::make_debug_string): Likewise.
+ (call_through_ptr::write_reproducer): Likewise.
+ (call_through_ptr::get_precedence): Likewise.
+ (array_access::replay_into): Likewise.
+ (array_access::visit_children): Likewise.
+ (array_access::make_debug_string): Likewise.
+ (array_access::write_reproducer): Likewise.
+ (array_access::get_precedence): Likewise.
+ (access_field_of_lvalue::replay_into): Likewise.
+ (access_field_of_lvalue::visit_children): Likewise.
+ (access_field_of_lvalue::make_debug_string): Likewise.
+ (access_field_of_lvalue::write_reproducer): Likewise.
+ (access_field_of_lvalue::get_precedence): Likewise.
+ (access_field_rvalue::replay_into): Likewise.
+ (access_field_rvalue::visit_children): Likewise.
+ (access_field_rvalue::make_debug_string): Likewise.
+ (access_field_rvalue::write_reproducer): Likewise.
+ (access_field_rvalue::get_precedence): Likewise.
+ (dereference_field_rvalue::replay_into): Likewise.
+ (dereference_field_rvalue::visit_children): Likewise.
+ (dereference_field_rvalue::make_debug_string): Likewise.
+ (dereference_field_rvalue::write_reproducer): Likewise.
+ (dereference_field_rvalue::get_precedence): Likewise.
+ (dereference_rvalue::replay_into): Likewise.
+ (dereference_rvalue::visit_children): Likewise.
+ (dereference_rvalue::make_debug_string): Likewise.
+ (dereference_rvalue::write_reproducer): Likewise.
+ (dereference_rvalue::get_precedence): Likewise.
+ (get_address_of_lvalue::replay_into): Likewise.
+ (get_address_of_lvalue::visit_children): Likewise.
+ (get_address_of_lvalue::make_debug_string): Likewise.
+ (get_address_of_lvalue::write_reproducer): Likewise.
+ (get_address_of_lvalue::get_precedence): Likewise.
+ (local::replay_into): Likewise.
+ (local::visit_children): Likewise.
+ (local::write_to_dump): Likewise.
+ (local::make_debug_string): Likewise.
+ (local::write_reproducer): Likewise.
+ (local::get_precedence): Likewise.
+ (statement::write_to_dump): Likewise.
+ (eval::replay_into): Likewise.
+ (eval::make_debug_string): Likewise.
+ (eval::write_reproducer): Likewise.
+ (assignment::replay_into): Likewise.
+ (assignment::make_debug_string): Likewise.
+ (assignment::write_reproducer): Likewise.
+ (assignment_op::replay_into): Likewise.
+ (assignment_op::make_debug_string): Likewise.
+ (assignment_op::write_reproducer): Likewise.
+ (comment::replay_into): Likewise.
+ (comment::make_debug_string): Likewise.
+ (comment::write_reproducer): Likewise.
+ (conditional::replay_into): Likewise.
+ (conditional::get_successor_blocks): Likewise.
+ (conditional::make_debug_string): Likewise.
+ (conditional::write_reproducer): Likewise.
+ (jump::replay_into): Likewise.
+ (jump::get_successor_blocks): Likewise.
+ (jump::make_debug_string): Likewise.
+ (jump::write_reproducer): Likewise.
+ (return_::replay_into): Likewise.
+ (return_::get_successor_blocks): Likewise.
+ (return_::make_debug_string): Likewise.
+ (return_::write_reproducer): Likewise.
+ (case_::replay_into): Likewise.
+ (case_::write_reproducer): Likewise.
+ (case_::make_debug_string): Likewise.
+ (switch_::replay_into): Likewise.
+ (switch_::get_successor_blocks): Likewise.
+ (switch_::make_debug_string): Likewise.
+ (switch_::write_reproducer): Likewise.
+
2016-02-08 David Malcolm <dmalcolm@redhat.com>
* dummy-frontend.c (jit_langhook_init): Remove
static string * from_printf (context *ctxt, const char *fmt, ...)
GNU_PRINTF(2, 3);
- void replay_into (replayer *) {}
+ void replay_into (replayer *) FINAL OVERRIDE {}
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
size_t m_len;
m_created_by_user (created_by_user)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
playback::location *
playback_location (replayer *r)
return static_cast <playback::location *> (m_playback_obj);
}
- location *dyn_cast_location () { return this; }
+ location *dyn_cast_location () FINAL OVERRIDE { return this; }
bool created_by_user () const { return m_created_by_user; }
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
string *m_filename;
: type (ctxt),
m_kind (kind) {}
- type *dereference ();
+ type *dereference () FINAL OVERRIDE;
- bool accepts_writes_from (type *rtype)
+ bool accepts_writes_from (type *rtype) FINAL OVERRIDE
{
if (m_kind == GCC_JIT_TYPE_VOID_PTR)
if (rtype->is_pointer ())
return type::accepts_writes_from (rtype);
}
- bool is_int () const;
- bool is_float () const;
- bool is_bool () const;
- type *is_pointer () { return dereference (); }
- type *is_array () { return NULL; }
- bool is_void () const { return m_kind == GCC_JIT_TYPE_VOID; }
+ bool is_int () const FINAL OVERRIDE;
+ bool is_float () const FINAL OVERRIDE;
+ bool is_bool () const FINAL OVERRIDE;
+ type *is_pointer () FINAL OVERRIDE { return dereference (); }
+ type *is_array () FINAL OVERRIDE { return NULL; }
+ bool is_void () const FINAL OVERRIDE { return m_kind == GCC_JIT_TYPE_VOID; }
public:
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
enum gcc_jit_types m_kind;
: type (other_type->m_ctxt),
m_other_type (other_type) {}
- type *dereference () { return m_other_type; }
+ type *dereference () FINAL OVERRIDE { return m_other_type; }
- bool accepts_writes_from (type *rtype);
+ bool accepts_writes_from (type *rtype) FINAL OVERRIDE;
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- bool is_int () const { return false; }
- bool is_float () const { return false; }
- bool is_bool () const { return false; }
- type *is_pointer () { return m_other_type; }
- type *is_array () { return NULL; }
+ bool is_int () const FINAL OVERRIDE { return false; }
+ bool is_float () const FINAL OVERRIDE { return false; }
+ bool is_bool () const FINAL OVERRIDE { return false; }
+ type *is_pointer () FINAL OVERRIDE { return m_other_type; }
+ type *is_array () FINAL OVERRIDE { return NULL; }
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
type *m_other_type;
: type (other_type->m_ctxt),
m_other_type (other_type) {}
- type *dereference () { return m_other_type->dereference (); }
+ type *dereference () FINAL OVERRIDE { return m_other_type->dereference (); }
- bool accepts_writes_from (type */*rtype*/)
+ bool accepts_writes_from (type */*rtype*/) FINAL OVERRIDE
{
/* Can't write to a "const". */
return false;
}
/* Strip off the "const", giving the underlying type. */
- type *unqualified () { return m_other_type; }
+ type *unqualified () FINAL OVERRIDE { return m_other_type; }
- bool is_int () const { return m_other_type->is_int (); }
- bool is_float () const { return m_other_type->is_float (); }
- bool is_bool () const { return m_other_type->is_bool (); }
- type *is_pointer () { return m_other_type->is_pointer (); }
- type *is_array () { return m_other_type->is_array (); }
+ bool is_int () const FINAL OVERRIDE { return m_other_type->is_int (); }
+ bool is_float () const FINAL OVERRIDE { return m_other_type->is_float (); }
+ bool is_bool () const FINAL OVERRIDE { return m_other_type->is_bool (); }
+ type *is_pointer () FINAL OVERRIDE { return m_other_type->is_pointer (); }
+ type *is_array () FINAL OVERRIDE { return m_other_type->is_array (); }
- void replay_into (replayer *);
+ void replay_into (replayer *) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
type *m_other_type;
: type (other_type->m_ctxt),
m_other_type (other_type) {}
- type *dereference () { return m_other_type->dereference (); }
+ type *dereference () FINAL OVERRIDE { return m_other_type->dereference (); }
/* Strip off the "volatile", giving the underlying type. */
- type *unqualified () { return m_other_type; }
+ type *unqualified () FINAL OVERRIDE { return m_other_type; }
- bool is_int () const { return m_other_type->is_int (); }
- bool is_float () const { return m_other_type->is_float (); }
- bool is_bool () const { return m_other_type->is_bool (); }
- type *is_pointer () { return m_other_type->is_pointer (); }
- type *is_array () { return m_other_type->is_array (); }
+ bool is_int () const FINAL OVERRIDE { return m_other_type->is_int (); }
+ bool is_float () const FINAL OVERRIDE { return m_other_type->is_float (); }
+ bool is_bool () const FINAL OVERRIDE { return m_other_type->is_bool (); }
+ type *is_pointer () FINAL OVERRIDE { return m_other_type->is_pointer (); }
+ type *is_array () FINAL OVERRIDE { return m_other_type->is_array (); }
- void replay_into (replayer *);
+ void replay_into (replayer *) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
type *m_other_type;
m_num_elements (num_elements)
{}
- type *dereference ();
+ type *dereference () FINAL OVERRIDE;
- bool is_int () const { return false; }
- bool is_float () const { return false; }
- bool is_bool () const { return false; }
- type *is_pointer () { return NULL; }
- type *is_array () { return m_element_type; }
+ bool is_int () const FINAL OVERRIDE { return false; }
+ bool is_float () const FINAL OVERRIDE { return false; }
+ bool is_bool () const FINAL OVERRIDE { return false; }
+ type *is_pointer () FINAL OVERRIDE { return NULL; }
+ type *is_array () FINAL OVERRIDE { return m_element_type; }
- void replay_into (replayer *);
+ void replay_into (replayer *) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
location *m_loc;
type **param_types,
int is_variadic);
- type *dereference ();
- function_type *dyn_cast_function_type () { return this; }
- function_type *as_a_function_type () { return this; }
+ type *dereference () FINAL OVERRIDE;
+ function_type *dyn_cast_function_type () FINAL OVERRIDE { return this; }
+ function_type *as_a_function_type () FINAL OVERRIDE { return this; }
- bool is_int () const { return false; }
- bool is_float () const { return false; }
- bool is_bool () const { return false; }
- type *is_pointer () { return NULL; }
- type *is_array () { return NULL; }
+ bool is_int () const FINAL OVERRIDE { return false; }
+ bool is_float () const FINAL OVERRIDE { return false; }
+ bool is_bool () const FINAL OVERRIDE { return false; }
+ type *is_pointer () FINAL OVERRIDE { return NULL; }
+ type *is_array () FINAL OVERRIDE { return NULL; }
- void replay_into (replayer *);
+ void replay_into (replayer *) FINAL OVERRIDE;
type * get_return_type () const { return m_return_type; }
const vec<type *> &get_param_types () const { return m_param_types; }
memento *ptr_type);
private:
- string * make_debug_string ();
+ string * make_debug_string () FINAL OVERRIDE;
string * make_debug_string_with (const char *);
- void write_reproducer (reproducer &r);
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
type *m_return_type;
compound_type * get_container () const { return m_container; }
void set_container (compound_type *c) { m_container = c; }
- void replay_into (replayer *);
+ void replay_into (replayer *) FINAL OVERRIDE;
- void write_to_dump (dump &d);
+ void write_to_dump (dump &d) FINAL OVERRIDE;
playback::field *
playback_field () const
}
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
location *m_loc;
int num_fields,
field **fields);
- type *dereference ();
+ type *dereference () FINAL OVERRIDE;
- bool is_int () const { return false; }
- bool is_float () const { return false; }
- bool is_bool () const { return false; }
- type *is_pointer () { return NULL; }
- type *is_array () { return NULL; }
+ bool is_int () const FINAL OVERRIDE { return false; }
+ bool is_float () const FINAL OVERRIDE { return false; }
+ bool is_bool () const FINAL OVERRIDE { return false; }
+ type *is_pointer () FINAL OVERRIDE { return NULL; }
+ type *is_array () FINAL OVERRIDE { return NULL; }
- bool has_known_size () const { return m_fields != NULL; }
+ bool has_known_size () const FINAL OVERRIDE { return m_fields != NULL; }
playback::compound_type *
playback_compound_type ()
location *loc,
string *name);
- struct_ *dyn_cast_struct () { return this; }
+ struct_ *dyn_cast_struct () FINAL OVERRIDE { return this; }
type *
as_type () { return this; }
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- const char *access_as_type (reproducer &r);
+ const char *access_as_type (reproducer &r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
};
// memento of struct_::set_fields
int num_fields,
field **fields);
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void write_to_dump (dump &d);
+ void write_to_dump (dump &d) FINAL OVERRIDE;
int length () const { return m_fields.length (); }
field *get_field (int i) const { return m_fields[i]; }
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
compound_type *m_struct_or_union;
location *loc,
string *name);
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
location *m_loc;
rvalue *
as_rvalue () { return this; }
- const char *access_as_rvalue (reproducer &r);
+ const char *access_as_rvalue (reproducer &r) OVERRIDE;
virtual const char *access_as_lvalue (reproducer &r);
};
lvalue *
as_lvalue () { return this; }
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *) {}
+ void visit_children (rvalue_visitor *) FINAL OVERRIDE {}
playback::param *
playback_param () const
return static_cast <playback::param *> (m_playback_obj);
}
- param *dyn_cast_param () { return this; }
+ param *dyn_cast_param () FINAL OVERRIDE { return this; }
- const char *access_as_rvalue (reproducer &r);
- const char *access_as_lvalue (reproducer &r);
+ const char *access_as_rvalue (reproducer &r) FINAL OVERRIDE;
+ const char *access_as_lvalue (reproducer &r) FINAL OVERRIDE;
private:
- string * make_debug_string () { return m_name; }
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; }
+ string * make_debug_string () FINAL OVERRIDE { return m_name; }
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_PRIMARY;
+ }
private:
string *m_name;
int is_variadic,
enum built_in_function builtin_id);
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
playback::function *
playback_function () const
bool is_variadic () const { return m_is_variadic; }
- void write_to_dump (dump &d);
+ void write_to_dump (dump &d) FINAL OVERRIDE;
void validate ();
void dump_to_dot (const char *path);
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
location *m_loc;
return static_cast <playback::block *> (m_playback_obj);
}
- void write_to_dump (dump &d);
+ void write_to_dump (dump &d) FINAL OVERRIDE;
bool validate ();
vec <block *> get_successor_blocks () const;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
void dump_to_dot (pretty_printer *pp);
void dump_edges_to_dot (pretty_printer *pp);
m_name (name)
{}
- void replay_into (replayer *);
+ void replay_into (replayer *) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *) {}
+ void visit_children (rvalue_visitor *) FINAL OVERRIDE {}
- void write_to_dump (dump &d);
+ void write_to_dump (dump &d) FINAL OVERRIDE;
private:
- string * make_debug_string () { return m_name; }
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; }
+ string * make_debug_string () FINAL OVERRIDE { return m_name; }
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_PRIMARY;
+ }
private:
enum gcc_jit_global_kind m_kind;
: rvalue (ctxt, loc, type),
m_value (value) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *) {}
+ void visit_children (rvalue_visitor *) FINAL OVERRIDE {}
- bool is_constant () const { return true; }
+ bool is_constant () const FINAL OVERRIDE { return true; }
- bool get_wide_int (wide_int *out) const;
+ bool get_wide_int (wide_int *out) const FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_PRIMARY;
+ }
private:
HOST_TYPE m_value;
: rvalue (ctxt, loc, ctxt->get_type (GCC_JIT_TYPE_CONST_CHAR_PTR)),
m_value (value) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *) {}
+ void visit_children (rvalue_visitor *) FINAL OVERRIDE {}
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_PRIMARY;
+ }
private:
string *m_value;
m_a (a)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const {return PRECEDENCE_UNARY;}
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_UNARY;
+ }
private:
enum gcc_jit_unary_op m_op;
m_a (a),
m_b (b) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const;
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE;
private:
enum gcc_jit_binary_op m_op;
m_b (b)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const;
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE;
private:
enum gcc_jit_comparison m_op;
m_rvalue (a)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_CAST; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_CAST;
+ }
private:
rvalue *m_rvalue;
int numargs,
rvalue **args);
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_POSTFIX;
+ }
private:
function *m_func;
int numargs,
rvalue **args);
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_POSTFIX;
+ }
private:
rvalue *m_fn_ptr;
m_index (index)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_POSTFIX;
+ }
private:
rvalue *m_ptr;
m_field (field)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_POSTFIX;
+ }
private:
lvalue *m_lvalue;
m_field (field)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_POSTFIX;
+ }
private:
rvalue *m_rvalue;
m_field (field)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_POSTFIX;
+ }
private:
rvalue *m_rvalue;
: lvalue (ctxt, loc, val->get_type ()->dereference ()),
m_rvalue (val) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_UNARY; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_UNARY;
+ }
private:
rvalue *m_rvalue;
m_lvalue (val)
{}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *v);
+ void visit_children (rvalue_visitor *v) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_UNARY; }
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_UNARY;
+ }
private:
lvalue *m_lvalue;
set_scope (func);
}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- void visit_children (rvalue_visitor *) {}
+ void visit_children (rvalue_visitor *) FINAL OVERRIDE {}
- void write_to_dump (dump &d);
+ void write_to_dump (dump &d) FINAL OVERRIDE;
private:
- string * make_debug_string () { return m_name; }
- void write_reproducer (reproducer &r);
- enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; }
+ string * make_debug_string () FINAL OVERRIDE { return m_name; }
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
+ enum precedence get_precedence () const FINAL OVERRIDE
+ {
+ return PRECEDENCE_PRIMARY;
+ }
private:
function *m_func;
public:
virtual vec <block *> get_successor_blocks () const;
- void write_to_dump (dump &d);
+ void write_to_dump (dump &d) FINAL OVERRIDE;
block *get_block () const { return m_block; }
location *get_loc () const { return m_loc; }
: statement (b, loc),
m_rvalue (rvalue) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
rvalue *m_rvalue;
m_lvalue (lvalue),
m_rvalue (rvalue) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
lvalue *m_lvalue;
m_op (op),
m_rvalue (rvalue) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
lvalue *m_lvalue;
: statement (b, loc),
m_text (text) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
string *m_text;
m_on_true (on_true),
m_on_false (on_false) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- vec <block *> get_successor_blocks () const;
+ vec <block *> get_successor_blocks () const FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
rvalue *m_boolval;
: statement (b, loc),
m_target (target) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- vec <block *> get_successor_blocks () const;
+ vec <block *> get_successor_blocks () const FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
block *m_target;
: statement (b, loc),
m_rvalue (rvalue) {}
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- vec <block *> get_successor_blocks () const;
+ vec <block *> get_successor_blocks () const FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
rvalue *m_rvalue;
rvalue *get_max_value () const { return m_max_value; }
block *get_dest_block () const { return m_dest_block; }
- void replay_into (replayer *) { /* empty */ }
+ void replay_into (replayer *) FINAL OVERRIDE { /* empty */ }
- void write_reproducer (reproducer &r);
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
- string * make_debug_string ();
+ string * make_debug_string () FINAL OVERRIDE;
private:
rvalue *m_min_value;
int num_cases,
case_ **cases);
- void replay_into (replayer *r);
+ void replay_into (replayer *r) FINAL OVERRIDE;
- vec <block *> get_successor_blocks () const;
+ vec <block *> get_successor_blocks () const FINAL OVERRIDE;
private:
- string * make_debug_string ();
- void write_reproducer (reproducer &r);
+ string * make_debug_string () FINAL OVERRIDE;
+ void write_reproducer (reproducer &r) FINAL OVERRIDE;
private:
rvalue *m_expr;