From patchwork Mon May 23 19:28:34 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Malcolm X-Patchwork-Id: 54320 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 503F038515FF for ; Mon, 23 May 2022 19:37:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 503F038515FF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1653334664; bh=Z+jNTgH/2g+aE77n//mBQFavorYmekoLVMob4Qh5VoM=; h=To:Subject:Date:In-Reply-To:References:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=i1wbfPCQaKcxCHopwBlVptK0NB1jF3vAxvgdxLv6mdPEUpRGe0sbbBcAdwF9y7b48 trXj5a/doIQlctTfJARc+XXUoIma/TyZyif803NtlEFfEnRu35mfnKNrTHG9TFwiBO Oj5X4ZxYSMDWUKDxr8+dMEgGcz7IAbLc57Qaa+fk= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 995A33857413 for ; Mon, 23 May 2022 19:28:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 995A33857413 Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-592-YzSrlyeCPJy78usYaaRUgw-1; Mon, 23 May 2022 15:28:41 -0400 X-MC-Unique: YzSrlyeCPJy78usYaaRUgw-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C29EA3AF42A8 for ; Mon, 23 May 2022 19:28:40 +0000 (UTC) Received: from t14s.localdomain.com (unknown [10.2.17.26]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9DD7F2166B25; Mon, 23 May 2022 19:28:40 +0000 (UTC) To: gcc-patches@gcc.gnu.org Subject: [PATCH 10/10] Add 'final' and 'override' in various places Date: Mon, 23 May 2022 15:28:34 -0400 Message-Id: <20220523192834.3785673-11-dmalcolm@redhat.com> In-Reply-To: <20220523192834.3785673-1-dmalcolm@redhat.com> References: <20220523192834.3785673-1-dmalcolm@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_NONE, TXREP, T_FILL_THIS_FORM_SHORT, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: David Malcolm via Gcc-patches From: David Malcolm Reply-To: David Malcolm Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" gcc/cp/ChangeLog: * cxx-pretty-print.h: Add "final" and "override" to various vfunc implementations, removing redundant "virtual" as appropriate. * module.cc: Likewise. gcc/ChangeLog: * genmatch.cc: Add "final" and "override" to various vfunc implementations, removing redundant "virtual" as appropriate. * gensupport.cc: Likewise. * gimple-range-cache.h: Likewise. * ipa-icf-gimple.h: Likewise. * ipa-icf.h: Likewise. * read-md.h: Likewise. * read-rtl-function.cc: Likewise. * tree-ssa-loop-ch.cc: Likewise. * tree-ssa-sccvn.cc: Likewise. gcc/lto/ChangeLog: * lto-dump.cc: Add "final" and "override" to various vfunc implementations, removing redundant "virtual" as appropriate. Signed-off-by: David Malcolm --- gcc/cp/cxx-pretty-print.h | 38 +++++++++++++++++++------------------- gcc/cp/module.cc | 4 ++-- gcc/genmatch.cc | 22 +++++++++++----------- gcc/gensupport.cc | 2 +- gcc/gimple-range-cache.h | 4 ++-- gcc/ipa-icf-gimple.h | 6 ++++-- gcc/ipa-icf.h | 36 ++++++++++++++++++++---------------- gcc/lto/lto-dump.cc | 8 ++++---- gcc/read-md.h | 2 +- gcc/read-rtl-function.cc | 6 +++--- gcc/tree-ssa-loop-ch.cc | 4 ++-- gcc/tree-ssa-sccvn.cc | 4 ++-- 12 files changed, 71 insertions(+), 65 deletions(-) diff --git a/gcc/cp/cxx-pretty-print.h b/gcc/cp/cxx-pretty-print.h index 5080f70a8e4..593bd91d4f7 100644 --- a/gcc/cp/cxx-pretty-print.h +++ b/gcc/cp/cxx-pretty-print.h @@ -36,25 +36,25 @@ public: pretty_printer *clone () const override; - void constant (tree); - void id_expression (tree); - void primary_expression (tree); - void postfix_expression (tree); - void unary_expression (tree); - void multiplicative_expression (tree); - void conditional_expression (tree); - void assignment_expression (tree); - void expression (tree); - void type_id (tree); - void statement (tree); - void declaration (tree); - void declaration_specifiers (tree); - void simple_type_specifier (tree); - void function_specifier (tree); - void declarator (tree); - void direct_declarator (tree); - void abstract_declarator (tree); - void direct_abstract_declarator (tree); + void constant (tree) final override; + void id_expression (tree) final override; + void primary_expression (tree) final override; + void postfix_expression (tree) final override; + void unary_expression (tree) final override; + void multiplicative_expression (tree) final override; + void conditional_expression (tree) final override; + void assignment_expression (tree) final override; + void expression (tree) final override; + void type_id (tree) final override; + void statement (tree) final override; + void declaration (tree) final override; + void declaration_specifiers (tree) final override; + void simple_type_specifier (tree) final override; + void function_specifier (tree) final override; + void declarator (tree) final override; + void direct_declarator (tree) final override; + void abstract_declarator (tree) final override; + void direct_abstract_declarator (tree) final override; /* This is the enclosing scope of the entity being pretty-printed. */ tree enclosing_scope; diff --git a/gcc/cp/module.cc b/gcc/cp/module.cc index d1dc73724d1..e93151c98c2 100644 --- a/gcc/cp/module.cc +++ b/gcc/cp/module.cc @@ -1483,10 +1483,10 @@ private: protected: using allocator::grow; - virtual char *grow (char *, unsigned needed); + char *grow (char *, unsigned needed) final override; #if MAPPED_WRITING using allocator::shrink; - virtual void shrink (char *); + void shrink (char *) final override; #endif public: diff --git a/gcc/genmatch.cc b/gcc/genmatch.cc index 2b84b849330..a0b22c50ae3 100644 --- a/gcc/genmatch.cc +++ b/gcc/genmatch.cc @@ -723,9 +723,9 @@ public: bool force_leaf; /* If non-zero, the group for optional handling. */ unsigned char opt_grp; - virtual void gen_transform (FILE *f, int, const char *, bool, int, - const char *, capture_info *, - dt_operand ** = 0, int = 0); + void gen_transform (FILE *f, int, const char *, bool, int, + const char *, capture_info *, + dt_operand ** = 0, int = 0) override; }; /* An operator that is represented by native C code. This is always @@ -757,9 +757,9 @@ public: unsigned nr_stmts; /* The identifier replacement vector. */ vec ids; - virtual void gen_transform (FILE *f, int, const char *, bool, int, - const char *, capture_info *, - dt_operand ** = 0, int = 0); + void gen_transform (FILE *f, int, const char *, bool, int, + const char *, capture_info *, + dt_operand ** = 0, int = 0) final override; }; /* A wrapper around another operand that captures its value. */ @@ -778,9 +778,9 @@ public: bool value_match; /* The captured value. */ operand *what; - virtual void gen_transform (FILE *f, int, const char *, bool, int, - const char *, capture_info *, - dt_operand ** = 0, int = 0); + void gen_transform (FILE *f, int, const char *, bool, int, + const char *, capture_info *, + dt_operand ** = 0, int = 0) final override; }; /* if expression. */ @@ -1655,7 +1655,7 @@ public: : dt_node (type, parent_), op (op_), match_dop (match_dop_), pos (pos_), value_match (false), for_id (current_id) {} - void gen (FILE *, int, bool, int); + void gen (FILE *, int, bool, int) final override; unsigned gen_predicate (FILE *, int, const char *, bool); unsigned gen_match_op (FILE *, int, const char *, bool); @@ -1681,7 +1681,7 @@ public: indexes (indexes_), info (NULL) {} void gen_1 (FILE *, int, bool, operand *); - void gen (FILE *f, int, bool, int); + void gen (FILE *f, int, bool, int) final override; }; template<> diff --git a/gcc/gensupport.cc b/gcc/gensupport.cc index 42680499d86..8fcacf8f9d2 100644 --- a/gcc/gensupport.cc +++ b/gcc/gensupport.cc @@ -2310,7 +2310,7 @@ class gen_reader : public rtx_reader { public: gen_reader () : rtx_reader (false) {} - void handle_unknown_directive (file_location, const char *); + void handle_unknown_directive (file_location, const char *) final override; }; void diff --git a/gcc/gimple-range-cache.h b/gcc/gimple-range-cache.h index 555fe32513f..d768f418f0d 100644 --- a/gcc/gimple-range-cache.h +++ b/gcc/gimple-range-cache.h @@ -77,8 +77,8 @@ public: ranger_cache (int not_executable_flag, bool use_imm_uses); ~ranger_cache (); - virtual bool range_of_expr (irange &r, tree name, gimple *stmt); - virtual bool range_on_edge (irange &r, edge e, tree expr); + bool range_of_expr (irange &r, tree name, gimple *stmt) final override; + bool range_on_edge (irange &r, edge e, tree expr) final override; bool block_range (irange &r, basic_block bb, tree name, bool calc = true); bool get_global_range (irange &r, tree name) const; diff --git a/gcc/ipa-icf-gimple.h b/gcc/ipa-icf-gimple.h index 1545e4a5905..8f498b31eef 100644 --- a/gcc/ipa-icf-gimple.h +++ b/gcc/ipa-icf-gimple.h @@ -282,11 +282,13 @@ private: public: /* Return true if two operands are equal. The flags fields can be used to specify OEP flags described above. */ - virtual bool operand_equal_p (const_tree, const_tree, unsigned int flags); + bool operand_equal_p (const_tree, const_tree, unsigned int flags) + final override; /* Generate a hash value for an expression. This can be used iteratively by passing a previous result as the HSTATE argument. */ - virtual void hash_operand (const_tree, inchash::hash &, unsigned flags); + void hash_operand (const_tree, inchash::hash &, unsigned flags) + final override; void hash_operand (const_tree, inchash::hash &, unsigned flags, operand_access_type access); }; diff --git a/gcc/ipa-icf.h b/gcc/ipa-icf.h index dbae2cca02b..bb550923ad4 100644 --- a/gcc/ipa-icf.h +++ b/gcc/ipa-icf.h @@ -317,16 +317,18 @@ public: ~sem_function (); - virtual void init (ipa_icf_gimple::func_checker *); - virtual bool equals_wpa (sem_item *item, - hash_map &ignored_nodes); - virtual hashval_t get_hash (void); - virtual bool equals (sem_item *item, - hash_map &ignored_nodes); - virtual bool merge (sem_item *alias_item); + void init (ipa_icf_gimple::func_checker *) final override; + bool equals_wpa (sem_item *item, + hash_map &ignored_nodes) + final override; + hashval_t get_hash (void) final override; + bool equals (sem_item *item, + hash_map &ignored_nodes) + final override; + bool merge (sem_item *alias_item) final override; /* Dump symbol to FILE. */ - virtual void dump_to_file (FILE *file) + void dump_to_file (FILE *file) final override { gcc_assert (file); dump_function_to_file (decl, file, TDF_DETAILS); @@ -426,17 +428,19 @@ public: sem_variable (varpool_node *_node, bitmap_obstack *stack); /* Semantic variable initialization function. */ - virtual void init (ipa_icf_gimple::func_checker *); + void init (ipa_icf_gimple::func_checker *) final override; - virtual hashval_t get_hash (void); - virtual bool merge (sem_item *alias_item); - virtual void dump_to_file (FILE *file); - virtual bool equals (sem_item *item, - hash_map &ignored_nodes); + hashval_t get_hash (void) final override; + bool merge (sem_item *alias_item) final override; + void dump_to_file (FILE *file) final override; + bool equals (sem_item *item, + hash_map &ignored_nodes) + final override; /* Fast equality variable based on knowledge known in WPA. */ - virtual bool equals_wpa (sem_item *item, - hash_map &ignored_nodes); + bool equals_wpa (sem_item *item, + hash_map &ignored_nodes) + final override; /* Returns varpool_node. */ inline varpool_node *get_node (void) diff --git a/gcc/lto/lto-dump.cc b/gcc/lto/lto-dump.cc index 1fb3fb86fb5..f88486b5143 100644 --- a/gcc/lto/lto-dump.cc +++ b/gcc/lto/lto-dump.cc @@ -80,7 +80,7 @@ public: virtual ~variable_entry () {} - virtual size_t get_size () const + size_t get_size () const final override { varpool_node *vnode = dyn_cast (node); if (DECL_SIZE (vnode->decl) && tree_fits_shwi_p (DECL_SIZE (vnode->decl))) @@ -88,7 +88,7 @@ public: return 0; } - virtual void dump () + void dump () final override { symbol_entry :: dump (); varpool_node *vnode = dyn_cast (node); @@ -111,13 +111,13 @@ public: virtual ~function_entry () {} - virtual void dump () + void dump () final override { symbol_entry :: dump (); printf ("\n"); } - virtual size_t get_size () const + size_t get_size () const final override { cgraph_node *cnode = dyn_cast (node); gcc_assert (cnode); diff --git a/gcc/read-md.h b/gcc/read-md.h index 34a64fa93a2..7d8cd4a8336 100644 --- a/gcc/read-md.h +++ b/gcc/read-md.h @@ -330,7 +330,7 @@ class noop_reader : public md_reader noop_reader () : md_reader (false) {} /* A dummy implementation which skips unknown directives. */ - void handle_unknown_directive (file_location, const char *); + void handle_unknown_directive (file_location, const char *) override; }; /* An md_reader subclass that actually handles full hierarchical diff --git a/gcc/read-rtl-function.cc b/gcc/read-rtl-function.cc index eacbe4c1200..3bcff1540e7 100644 --- a/gcc/read-rtl-function.cc +++ b/gcc/read-rtl-function.cc @@ -188,7 +188,7 @@ class fixup_insn_uid : public operand_fixup m_insn_uid (insn_uid) {} - void apply (function_reader *reader) const; + void apply (function_reader *reader) const final override; private: int m_insn_uid; @@ -206,7 +206,7 @@ class fixup_note_insn_basic_block : public operand_fixup m_bb_idx (bb_idx) {} - void apply (function_reader *reader) const; + void apply (function_reader *reader) const final override; private: int m_bb_idx; @@ -225,7 +225,7 @@ class fixup_expr : public fixup ~fixup_expr () { free (m_desc); } - void apply (function_reader *reader) const; + void apply (function_reader *reader) const final override; private: char *m_desc; diff --git a/gcc/tree-ssa-loop-ch.cc b/gcc/tree-ssa-loop-ch.cc index 9ab63d1fa0c..d1391940c2b 100644 --- a/gcc/tree-ssa-loop-ch.cc +++ b/gcc/tree-ssa-loop-ch.cc @@ -320,7 +320,7 @@ public: protected: /* ch_base method: */ - virtual bool process_loop_p (class loop *loop); + bool process_loop_p (class loop *loop) final override; }; // class pass_ch const pass_data pass_data_ch_vect = @@ -358,7 +358,7 @@ public: protected: /* ch_base method: */ - virtual bool process_loop_p (class loop *loop); + bool process_loop_p (class loop *loop) final override; }; // class pass_ch_vect /* For all loops, copy the condition at the end of the loop body in front diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc index 7407591e98c..b2f35a5fb55 100644 --- a/gcc/tree-ssa-sccvn.cc +++ b/gcc/tree-ssa-sccvn.cc @@ -2534,9 +2534,9 @@ public: : eliminate_dom_walker (CDI_DOMINATORS, NULL), entry (entry_), m_avail_freelist (NULL) {} - virtual tree eliminate_avail (basic_block, tree op); + tree eliminate_avail (basic_block, tree op) final override; - virtual void eliminate_push_avail (basic_block, tree); + void eliminate_push_avail (basic_block, tree) final override; basic_block entry; /* Freelist of avail entries which are allocated from the vn_ssa_aux