Commit 54ece5e2 by David Malcolm Committed by David Malcolm

jit: use FINAL and OVERRIDE throughout

Mark most virtual functions in gcc/jit as being FINAL OVERRIDE.
gcc::jit::recording::lvalue::access_as_rvalue is the sole OVERRIDE
that isn't a FINAL.

gcc/jit/ChangeLog:
	* 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.

From-SVN: r236223
parent 9e37582d
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> 2016-02-08 David Malcolm <dmalcolm@redhat.com>
* dummy-frontend.c (jit_langhook_init): Remove * dummy-frontend.c (jit_langhook_init): Remove
......
...@@ -314,7 +314,7 @@ class compile_to_memory : public context ...@@ -314,7 +314,7 @@ class compile_to_memory : public context
{ {
public: public:
compile_to_memory (recording::context *ctxt); compile_to_memory (recording::context *ctxt);
void postprocess (const char *ctxt_progname); void postprocess (const char *ctxt_progname) FINAL OVERRIDE;
result *get_result_obj () const { return m_result; } result *get_result_obj () const { return m_result; }
...@@ -328,7 +328,7 @@ class compile_to_file : public context ...@@ -328,7 +328,7 @@ class compile_to_file : public context
compile_to_file (recording::context *ctxt, compile_to_file (recording::context *ctxt,
enum gcc_jit_output_kind output_kind, enum gcc_jit_output_kind output_kind,
const char *output_path); const char *output_path);
void postprocess (const char *ctxt_progname); void postprocess (const char *ctxt_progname) FINAL OVERRIDE;
private: private:
void void
...@@ -414,7 +414,7 @@ public: ...@@ -414,7 +414,7 @@ public:
function(context *ctxt, tree fndecl, enum gcc_jit_function_kind kind); function(context *ctxt, tree fndecl, enum gcc_jit_function_kind kind);
void gt_ggc_mx (); void gt_ggc_mx ();
void finalizer (); void finalizer () FINAL OVERRIDE;
tree get_return_type_as_tree () const; tree get_return_type_as_tree () const;
...@@ -475,7 +475,7 @@ public: ...@@ -475,7 +475,7 @@ public:
block (function *func, block (function *func,
const char *name); const char *name);
void finalizer (); void finalizer () FINAL OVERRIDE;
tree as_label_decl () const { return m_label_decl; } tree as_label_decl () const { return m_label_decl; }
...@@ -619,7 +619,7 @@ class source_file : public wrapper ...@@ -619,7 +619,7 @@ class source_file : public wrapper
{ {
public: public:
source_file (tree filename); source_file (tree filename);
void finalizer (); void finalizer () FINAL OVERRIDE;
source_line * source_line *
get_source_line (int line_num); get_source_line (int line_num);
...@@ -640,7 +640,7 @@ class source_line : public wrapper ...@@ -640,7 +640,7 @@ class source_line : public wrapper
{ {
public: public:
source_line (source_file *file, int line_num); source_line (source_file *file, int line_num);
void finalizer (); void finalizer () FINAL OVERRIDE;
location * location *
get_location (recording::location *rloc, int column_num); get_location (recording::location *rloc, int column_num);
......
...@@ -3015,7 +3015,7 @@ class rvalue_usage_validator : public recording::rvalue_visitor ...@@ -3015,7 +3015,7 @@ class rvalue_usage_validator : public recording::rvalue_visitor
recording::statement *stmt); recording::statement *stmt);
void void
visit (recording::rvalue *rvalue); visit (recording::rvalue *rvalue) FINAL OVERRIDE;
private: private:
const char *m_api_funcname; const char *m_api_funcname;
......
...@@ -401,11 +401,11 @@ public: ...@@ -401,11 +401,11 @@ public:
static string * from_printf (context *ctxt, const char *fmt, ...) static string * from_printf (context *ctxt, const char *fmt, ...)
GNU_PRINTF(2, 3); GNU_PRINTF(2, 3);
void replay_into (replayer *) {} void replay_into (replayer *) FINAL OVERRIDE {}
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
size_t m_len; size_t m_len;
...@@ -424,7 +424,7 @@ public: ...@@ -424,7 +424,7 @@ public:
m_created_by_user (created_by_user) m_created_by_user (created_by_user)
{} {}
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
playback::location * playback::location *
playback_location (replayer *r) playback_location (replayer *r)
...@@ -453,12 +453,12 @@ public: ...@@ -453,12 +453,12 @@ public:
return static_cast <playback::location *> (m_playback_obj); 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; } bool created_by_user () const { return m_created_by_user; }
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
string *m_filename; string *m_filename;
...@@ -538,9 +538,9 @@ public: ...@@ -538,9 +538,9 @@ public:
: type (ctxt), : type (ctxt),
m_kind (kind) {} 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 (m_kind == GCC_JIT_TYPE_VOID_PTR)
if (rtype->is_pointer ()) if (rtype->is_pointer ())
...@@ -553,19 +553,19 @@ public: ...@@ -553,19 +553,19 @@ public:
return type::accepts_writes_from (rtype); return type::accepts_writes_from (rtype);
} }
bool is_int () const; bool is_int () const FINAL OVERRIDE;
bool is_float () const; bool is_float () const FINAL OVERRIDE;
bool is_bool () const; bool is_bool () const FINAL OVERRIDE;
type *is_pointer () { return dereference (); } type *is_pointer () FINAL OVERRIDE { return dereference (); }
type *is_array () { return NULL; } type *is_array () FINAL OVERRIDE { return NULL; }
bool is_void () const { return m_kind == GCC_JIT_TYPE_VOID; } bool is_void () const FINAL OVERRIDE { return m_kind == GCC_JIT_TYPE_VOID; }
public: public:
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
enum gcc_jit_types m_kind; enum gcc_jit_types m_kind;
...@@ -579,21 +579,21 @@ public: ...@@ -579,21 +579,21 @@ public:
: type (other_type->m_ctxt), : type (other_type->m_ctxt),
m_other_type (other_type) {} 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_int () const FINAL OVERRIDE { return false; }
bool is_float () const { return false; } bool is_float () const FINAL OVERRIDE { return false; }
bool is_bool () const { return false; } bool is_bool () const FINAL OVERRIDE { return false; }
type *is_pointer () { return m_other_type; } type *is_pointer () FINAL OVERRIDE { return m_other_type; }
type *is_array () { return NULL; } type *is_array () FINAL OVERRIDE { return NULL; }
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
type *m_other_type; type *m_other_type;
...@@ -607,28 +607,28 @@ public: ...@@ -607,28 +607,28 @@ public:
: type (other_type->m_ctxt), : type (other_type->m_ctxt),
m_other_type (other_type) {} 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". */ /* Can't write to a "const". */
return false; return false;
} }
/* Strip off the "const", giving the underlying type. */ /* 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_int () const FINAL OVERRIDE { return m_other_type->is_int (); }
bool is_float () const { return m_other_type->is_float (); } bool is_float () const FINAL OVERRIDE { return m_other_type->is_float (); }
bool is_bool () const { return m_other_type->is_bool (); } bool is_bool () const FINAL OVERRIDE { return m_other_type->is_bool (); }
type *is_pointer () { return m_other_type->is_pointer (); } type *is_pointer () FINAL OVERRIDE { return m_other_type->is_pointer (); }
type *is_array () { return m_other_type->is_array (); } type *is_array () FINAL OVERRIDE { return m_other_type->is_array (); }
void replay_into (replayer *); void replay_into (replayer *) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
type *m_other_type; type *m_other_type;
...@@ -642,22 +642,22 @@ public: ...@@ -642,22 +642,22 @@ public:
: type (other_type->m_ctxt), : type (other_type->m_ctxt),
m_other_type (other_type) {} 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. */ /* 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_int () const FINAL OVERRIDE { return m_other_type->is_int (); }
bool is_float () const { return m_other_type->is_float (); } bool is_float () const FINAL OVERRIDE { return m_other_type->is_float (); }
bool is_bool () const { return m_other_type->is_bool (); } bool is_bool () const FINAL OVERRIDE { return m_other_type->is_bool (); }
type *is_pointer () { return m_other_type->is_pointer (); } type *is_pointer () FINAL OVERRIDE { return m_other_type->is_pointer (); }
type *is_array () { return m_other_type->is_array (); } type *is_array () FINAL OVERRIDE { return m_other_type->is_array (); }
void replay_into (replayer *); void replay_into (replayer *) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
type *m_other_type; type *m_other_type;
...@@ -676,19 +676,19 @@ class array_type : public type ...@@ -676,19 +676,19 @@ class array_type : public type
m_num_elements (num_elements) m_num_elements (num_elements)
{} {}
type *dereference (); type *dereference () FINAL OVERRIDE;
bool is_int () const { return false; } bool is_int () const FINAL OVERRIDE { return false; }
bool is_float () const { return false; } bool is_float () const FINAL OVERRIDE { return false; }
bool is_bool () const { return false; } bool is_bool () const FINAL OVERRIDE { return false; }
type *is_pointer () { return NULL; } type *is_pointer () FINAL OVERRIDE { return NULL; }
type *is_array () { return m_element_type; } type *is_array () FINAL OVERRIDE { return m_element_type; }
void replay_into (replayer *); void replay_into (replayer *) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
location *m_loc; location *m_loc;
...@@ -705,17 +705,17 @@ public: ...@@ -705,17 +705,17 @@ public:
type **param_types, type **param_types,
int is_variadic); int is_variadic);
type *dereference (); type *dereference () FINAL OVERRIDE;
function_type *dyn_cast_function_type () { return this; } function_type *dyn_cast_function_type () FINAL OVERRIDE { return this; }
function_type *as_a_function_type () { return this; } function_type *as_a_function_type () FINAL OVERRIDE { return this; }
bool is_int () const { return false; } bool is_int () const FINAL OVERRIDE { return false; }
bool is_float () const { return false; } bool is_float () const FINAL OVERRIDE { return false; }
bool is_bool () const { return false; } bool is_bool () const FINAL OVERRIDE { return false; }
type *is_pointer () { return NULL; } type *is_pointer () FINAL OVERRIDE { return NULL; }
type *is_array () { 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; } type * get_return_type () const { return m_return_type; }
const vec<type *> &get_param_types () const { return m_param_types; } const vec<type *> &get_param_types () const { return m_param_types; }
...@@ -728,9 +728,9 @@ public: ...@@ -728,9 +728,9 @@ public:
memento *ptr_type); memento *ptr_type);
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
string * make_debug_string_with (const char *); string * make_debug_string_with (const char *);
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
type *m_return_type; type *m_return_type;
...@@ -757,9 +757,9 @@ public: ...@@ -757,9 +757,9 @@ public:
compound_type * get_container () const { return m_container; } compound_type * get_container () const { return m_container; }
void set_container (compound_type *c) { m_container = c; } 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 *
playback_field () const playback_field () const
...@@ -768,8 +768,8 @@ public: ...@@ -768,8 +768,8 @@ public:
} }
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
location *m_loc; location *m_loc;
...@@ -795,15 +795,15 @@ public: ...@@ -795,15 +795,15 @@ public:
int num_fields, int num_fields,
field **fields); field **fields);
type *dereference (); type *dereference () FINAL OVERRIDE;
bool is_int () const { return false; } bool is_int () const FINAL OVERRIDE { return false; }
bool is_float () const { return false; } bool is_float () const FINAL OVERRIDE { return false; }
bool is_bool () const { return false; } bool is_bool () const FINAL OVERRIDE { return false; }
type *is_pointer () { return NULL; } type *is_pointer () FINAL OVERRIDE { return NULL; }
type *is_array () { 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 *
playback_compound_type () playback_compound_type ()
...@@ -824,18 +824,18 @@ public: ...@@ -824,18 +824,18 @@ public:
location *loc, location *loc,
string *name); string *name);
struct_ *dyn_cast_struct () { return this; } struct_ *dyn_cast_struct () FINAL OVERRIDE { return this; }
type * type *
as_type () { return this; } 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
}; };
// memento of struct_::set_fields // memento of struct_::set_fields
...@@ -846,16 +846,16 @@ public: ...@@ -846,16 +846,16 @@ public:
int num_fields, int num_fields,
field **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 (); } int length () const { return m_fields.length (); }
field *get_field (int i) const { return m_fields[i]; } field *get_field (int i) const { return m_fields[i]; }
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
compound_type *m_struct_or_union; compound_type *m_struct_or_union;
...@@ -869,11 +869,11 @@ public: ...@@ -869,11 +869,11 @@ public:
location *loc, location *loc,
string *name); string *name);
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
location *m_loc; location *m_loc;
...@@ -1009,7 +1009,7 @@ public: ...@@ -1009,7 +1009,7 @@ public:
rvalue * rvalue *
as_rvalue () { return this; } 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); virtual const char *access_as_lvalue (reproducer &r);
}; };
...@@ -1026,9 +1026,9 @@ public: ...@@ -1026,9 +1026,9 @@ public:
lvalue * lvalue *
as_lvalue () { return this; } 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 *
playback_param () const playback_param () const
...@@ -1036,15 +1036,18 @@ public: ...@@ -1036,15 +1036,18 @@ public:
return static_cast <playback::param *> (m_playback_obj); 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_rvalue (reproducer &r) FINAL OVERRIDE;
const char *access_as_lvalue (reproducer &r); const char *access_as_lvalue (reproducer &r) FINAL OVERRIDE;
private: private:
string * make_debug_string () { return m_name; } string * make_debug_string () FINAL OVERRIDE { return m_name; }
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_PRIMARY;
}
private: private:
string *m_name; string *m_name;
...@@ -1063,7 +1066,7 @@ public: ...@@ -1063,7 +1066,7 @@ public:
int is_variadic, int is_variadic,
enum built_in_function builtin_id); enum built_in_function builtin_id);
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
playback::function * playback::function *
playback_function () const playback_function () const
...@@ -1093,15 +1096,15 @@ public: ...@@ -1093,15 +1096,15 @@ public:
bool is_variadic () const { return m_is_variadic; } 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 validate ();
void dump_to_dot (const char *path); void dump_to_dot (const char *path);
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
location *m_loc; location *m_loc;
...@@ -1183,7 +1186,7 @@ public: ...@@ -1183,7 +1186,7 @@ public:
return static_cast <playback::block *> (m_playback_obj); return static_cast <playback::block *> (m_playback_obj);
} }
void write_to_dump (dump &d); void write_to_dump (dump &d) FINAL OVERRIDE;
bool validate (); bool validate ();
...@@ -1195,10 +1198,10 @@ public: ...@@ -1195,10 +1198,10 @@ public:
vec <block *> get_successor_blocks () const; vec <block *> get_successor_blocks () const;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); 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_to_dot (pretty_printer *pp);
void dump_edges_to_dot (pretty_printer *pp); void dump_edges_to_dot (pretty_printer *pp);
...@@ -1227,16 +1230,19 @@ public: ...@@ -1227,16 +1230,19 @@ public:
m_name (name) 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: private:
string * make_debug_string () { return m_name; } string * make_debug_string () FINAL OVERRIDE { return m_name; }
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_PRIMARY;
}
private: private:
enum gcc_jit_global_kind m_kind; enum gcc_jit_global_kind m_kind;
...@@ -1254,18 +1260,21 @@ public: ...@@ -1254,18 +1260,21 @@ public:
: rvalue (ctxt, loc, type), : rvalue (ctxt, loc, type),
m_value (value) {} 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_PRIMARY;
}
private: private:
HOST_TYPE m_value; HOST_TYPE m_value;
...@@ -1280,14 +1289,17 @@ public: ...@@ -1280,14 +1289,17 @@ public:
: rvalue (ctxt, loc, ctxt->get_type (GCC_JIT_TYPE_CONST_CHAR_PTR)), : rvalue (ctxt, loc, ctxt->get_type (GCC_JIT_TYPE_CONST_CHAR_PTR)),
m_value (value) {} 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_PRIMARY;
}
private: private:
string *m_value; string *m_value;
...@@ -1306,14 +1318,17 @@ public: ...@@ -1306,14 +1318,17 @@ public:
m_a (a) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const {return PRECEDENCE_UNARY;} enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_UNARY;
}
private: private:
enum gcc_jit_unary_op m_op; enum gcc_jit_unary_op m_op;
...@@ -1333,14 +1348,14 @@ public: ...@@ -1333,14 +1348,14 @@ public:
m_a (a), m_a (a),
m_b (b) {} 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const; enum precedence get_precedence () const FINAL OVERRIDE;
private: private:
enum gcc_jit_binary_op m_op; enum gcc_jit_binary_op m_op;
...@@ -1361,14 +1376,14 @@ public: ...@@ -1361,14 +1376,14 @@ public:
m_b (b) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const; enum precedence get_precedence () const FINAL OVERRIDE;
private: private:
enum gcc_jit_comparison m_op; enum gcc_jit_comparison m_op;
...@@ -1387,14 +1402,17 @@ public: ...@@ -1387,14 +1402,17 @@ public:
m_rvalue (a) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_CAST; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_CAST;
}
private: private:
rvalue *m_rvalue; rvalue *m_rvalue;
...@@ -1409,14 +1427,17 @@ public: ...@@ -1409,14 +1427,17 @@ public:
int numargs, int numargs,
rvalue **args); 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_POSTFIX;
}
private: private:
function *m_func; function *m_func;
...@@ -1432,14 +1453,17 @@ public: ...@@ -1432,14 +1453,17 @@ public:
int numargs, int numargs,
rvalue **args); 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_POSTFIX;
}
private: private:
rvalue *m_fn_ptr; rvalue *m_fn_ptr;
...@@ -1458,14 +1482,17 @@ public: ...@@ -1458,14 +1482,17 @@ public:
m_index (index) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_POSTFIX;
}
private: private:
rvalue *m_ptr; rvalue *m_ptr;
...@@ -1484,14 +1511,17 @@ public: ...@@ -1484,14 +1511,17 @@ public:
m_field (field) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_POSTFIX;
}
private: private:
lvalue *m_lvalue; lvalue *m_lvalue;
...@@ -1510,14 +1540,17 @@ public: ...@@ -1510,14 +1540,17 @@ public:
m_field (field) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_POSTFIX;
}
private: private:
rvalue *m_rvalue; rvalue *m_rvalue;
...@@ -1536,14 +1569,17 @@ public: ...@@ -1536,14 +1569,17 @@ public:
m_field (field) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_POSTFIX; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_POSTFIX;
}
private: private:
rvalue *m_rvalue; rvalue *m_rvalue;
...@@ -1559,14 +1595,17 @@ public: ...@@ -1559,14 +1595,17 @@ public:
: lvalue (ctxt, loc, val->get_type ()->dereference ()), : lvalue (ctxt, loc, val->get_type ()->dereference ()),
m_rvalue (val) {} 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_UNARY; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_UNARY;
}
private: private:
rvalue *m_rvalue; rvalue *m_rvalue;
...@@ -1582,14 +1621,17 @@ public: ...@@ -1582,14 +1621,17 @@ public:
m_lvalue (val) 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_UNARY; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_UNARY;
}
private: private:
lvalue *m_lvalue; lvalue *m_lvalue;
...@@ -1606,16 +1648,19 @@ public: ...@@ -1606,16 +1648,19 @@ public:
set_scope (func); 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: private:
string * make_debug_string () { return m_name; } string * make_debug_string () FINAL OVERRIDE { return m_name; }
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
enum precedence get_precedence () const { return PRECEDENCE_PRIMARY; } enum precedence get_precedence () const FINAL OVERRIDE
{
return PRECEDENCE_PRIMARY;
}
private: private:
function *m_func; function *m_func;
...@@ -1627,7 +1672,7 @@ class statement : public memento ...@@ -1627,7 +1672,7 @@ class statement : public memento
public: public:
virtual vec <block *> get_successor_blocks () const; 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; } block *get_block () const { return m_block; }
location *get_loc () const { return m_loc; } location *get_loc () const { return m_loc; }
...@@ -1658,11 +1703,11 @@ public: ...@@ -1658,11 +1703,11 @@ public:
: statement (b, loc), : statement (b, loc),
m_rvalue (rvalue) {} m_rvalue (rvalue) {}
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
rvalue *m_rvalue; rvalue *m_rvalue;
...@@ -1679,11 +1724,11 @@ public: ...@@ -1679,11 +1724,11 @@ public:
m_lvalue (lvalue), m_lvalue (lvalue),
m_rvalue (rvalue) {} m_rvalue (rvalue) {}
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
lvalue *m_lvalue; lvalue *m_lvalue;
...@@ -1703,11 +1748,11 @@ public: ...@@ -1703,11 +1748,11 @@ public:
m_op (op), m_op (op),
m_rvalue (rvalue) {} m_rvalue (rvalue) {}
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
lvalue *m_lvalue; lvalue *m_lvalue;
...@@ -1724,11 +1769,11 @@ public: ...@@ -1724,11 +1769,11 @@ public:
: statement (b, loc), : statement (b, loc),
m_text (text) {} m_text (text) {}
void replay_into (replayer *r); void replay_into (replayer *r) FINAL OVERRIDE;
private: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
string *m_text; string *m_text;
...@@ -1747,13 +1792,13 @@ public: ...@@ -1747,13 +1792,13 @@ public:
m_on_true (on_true), m_on_true (on_true),
m_on_false (on_false) {} 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
rvalue *m_boolval; rvalue *m_boolval;
...@@ -1770,13 +1815,13 @@ public: ...@@ -1770,13 +1815,13 @@ public:
: statement (b, loc), : statement (b, loc),
m_target (target) {} 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
block *m_target; block *m_target;
...@@ -1791,13 +1836,13 @@ public: ...@@ -1791,13 +1836,13 @@ public:
: statement (b, loc), : statement (b, loc),
m_rvalue (rvalue) {} 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
rvalue *m_rvalue; rvalue *m_rvalue;
...@@ -1820,12 +1865,12 @@ class case_ : public memento ...@@ -1820,12 +1865,12 @@ class case_ : public memento
rvalue *get_max_value () const { return m_max_value; } rvalue *get_max_value () const { return m_max_value; }
block *get_dest_block () const { return m_dest_block; } 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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
private: private:
rvalue *m_min_value; rvalue *m_min_value;
...@@ -1843,13 +1888,13 @@ public: ...@@ -1843,13 +1888,13 @@ public:
int num_cases, int num_cases,
case_ **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: private:
string * make_debug_string (); string * make_debug_string () FINAL OVERRIDE;
void write_reproducer (reproducer &r); void write_reproducer (reproducer &r) FINAL OVERRIDE;
private: private:
rvalue *m_expr; rvalue *m_expr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment