From 54ece5e2954831a12f2ad6fe82c320add6dc870a Mon Sep 17 00:00:00 2001 From: David Malcolm Date: Fri, 13 May 2016 20:27:50 +0000 Subject: [PATCH] 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 --- gcc/jit/ChangeLog | 237 +++++++++++++++++++ gcc/jit/jit-playback.h | 12 +- gcc/jit/jit-recording.c | 2 +- gcc/jit/jit-recording.h | 495 ++++++++++++++++++++++------------------ 4 files changed, 514 insertions(+), 232 deletions(-) diff --git a/gcc/jit/ChangeLog b/gcc/jit/ChangeLog index b9e9b588778..d7a06398adb 100644 --- a/gcc/jit/ChangeLog +++ b/gcc/jit/ChangeLog @@ -1,3 +1,240 @@ +2016-05-13 David Malcolm + + * 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 * dummy-frontend.c (jit_langhook_init): Remove diff --git a/gcc/jit/jit-playback.h b/gcc/jit/jit-playback.h index 7519bc40ece..905747c14cb 100644 --- a/gcc/jit/jit-playback.h +++ b/gcc/jit/jit-playback.h @@ -314,7 +314,7 @@ class compile_to_memory : public context { public: 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; } @@ -328,7 +328,7 @@ class compile_to_file : public context compile_to_file (recording::context *ctxt, enum gcc_jit_output_kind output_kind, const char *output_path); - void postprocess (const char *ctxt_progname); + void postprocess (const char *ctxt_progname) FINAL OVERRIDE; private: void @@ -414,7 +414,7 @@ public: function(context *ctxt, tree fndecl, enum gcc_jit_function_kind kind); void gt_ggc_mx (); - void finalizer (); + void finalizer () FINAL OVERRIDE; tree get_return_type_as_tree () const; @@ -475,7 +475,7 @@ public: block (function *func, const char *name); - void finalizer (); + void finalizer () FINAL OVERRIDE; tree as_label_decl () const { return m_label_decl; } @@ -619,7 +619,7 @@ class source_file : public wrapper { public: source_file (tree filename); - void finalizer (); + void finalizer () FINAL OVERRIDE; source_line * get_source_line (int line_num); @@ -640,7 +640,7 @@ class source_line : public wrapper { public: source_line (source_file *file, int line_num); - void finalizer (); + void finalizer () FINAL OVERRIDE; location * get_location (recording::location *rloc, int column_num); diff --git a/gcc/jit/jit-recording.c b/gcc/jit/jit-recording.c index 41556db9309..8f5f914277c 100644 --- a/gcc/jit/jit-recording.c +++ b/gcc/jit/jit-recording.c @@ -3015,7 +3015,7 @@ class rvalue_usage_validator : public recording::rvalue_visitor recording::statement *stmt); void - visit (recording::rvalue *rvalue); + visit (recording::rvalue *rvalue) FINAL OVERRIDE; private: const char *m_api_funcname; diff --git a/gcc/jit/jit-recording.h b/gcc/jit/jit-recording.h index d99c752fbec..1c3e7634209 100644 --- a/gcc/jit/jit-recording.h +++ b/gcc/jit/jit-recording.h @@ -401,11 +401,11 @@ public: 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; @@ -424,7 +424,7 @@ public: 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) @@ -453,12 +453,12 @@ public: return static_cast (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; @@ -538,9 +538,9 @@ public: : 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 ()) @@ -553,19 +553,19 @@ public: 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; @@ -579,21 +579,21 @@ public: : 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; @@ -607,28 +607,28 @@ public: : 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; @@ -642,22 +642,22 @@ public: : 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; @@ -676,19 +676,19 @@ class array_type : public 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; @@ -705,17 +705,17 @@ public: 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 &get_param_types () const { return m_param_types; } @@ -728,9 +728,9 @@ public: 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; @@ -757,9 +757,9 @@ public: 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 @@ -768,8 +768,8 @@ public: } 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; @@ -795,15 +795,15 @@ public: 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 () @@ -824,18 +824,18 @@ public: 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 @@ -846,16 +846,16 @@ public: 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; @@ -869,11 +869,11 @@ public: 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; @@ -1009,7 +1009,7 @@ public: 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); }; @@ -1026,9 +1026,9 @@ public: 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 @@ -1036,15 +1036,18 @@ public: return static_cast (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; @@ -1063,7 +1066,7 @@ public: 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 @@ -1093,15 +1096,15 @@ public: 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; @@ -1183,7 +1186,7 @@ public: return static_cast (m_playback_obj); } - void write_to_dump (dump &d); + void write_to_dump (dump &d) FINAL OVERRIDE; bool validate (); @@ -1195,10 +1198,10 @@ public: vec 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); @@ -1227,16 +1230,19 @@ public: 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; @@ -1254,18 +1260,21 @@ public: : 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; @@ -1280,14 +1289,17 @@ public: : 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; @@ -1306,14 +1318,17 @@ public: 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; @@ -1333,14 +1348,14 @@ public: 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; @@ -1361,14 +1376,14 @@ public: 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; @@ -1387,14 +1402,17 @@ public: 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; @@ -1409,14 +1427,17 @@ public: 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; @@ -1432,14 +1453,17 @@ public: 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; @@ -1458,14 +1482,17 @@ public: 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; @@ -1484,14 +1511,17 @@ public: 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; @@ -1510,14 +1540,17 @@ public: 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; @@ -1536,14 +1569,17 @@ public: 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; @@ -1559,14 +1595,17 @@ public: : 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; @@ -1582,14 +1621,17 @@ public: 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; @@ -1606,16 +1648,19 @@ public: 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; @@ -1627,7 +1672,7 @@ class statement : public memento public: virtual vec 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; } @@ -1658,11 +1703,11 @@ public: : 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; @@ -1679,11 +1724,11 @@ public: 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; @@ -1703,11 +1748,11 @@ public: 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; @@ -1724,11 +1769,11 @@ public: : 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; @@ -1747,13 +1792,13 @@ public: m_on_true (on_true), m_on_false (on_false) {} - void replay_into (replayer *r); + void replay_into (replayer *r) FINAL OVERRIDE; - vec get_successor_blocks () const; + vec 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; @@ -1770,13 +1815,13 @@ public: : statement (b, loc), m_target (target) {} - void replay_into (replayer *r); + void replay_into (replayer *r) FINAL OVERRIDE; - vec get_successor_blocks () const; + vec 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; @@ -1791,13 +1836,13 @@ public: : statement (b, loc), m_rvalue (rvalue) {} - void replay_into (replayer *r); + void replay_into (replayer *r) FINAL OVERRIDE; - vec get_successor_blocks () const; + vec 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; @@ -1820,12 +1865,12 @@ class case_ : public memento 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; @@ -1843,13 +1888,13 @@ public: int num_cases, case_ **cases); - void replay_into (replayer *r); + void replay_into (replayer *r) FINAL OVERRIDE; - vec get_successor_blocks () const; + vec 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; -- 2.30.2