From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id 2603738582AF for ; Mon, 13 Jun 2022 18:31:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2603738582AF Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-551-z2mJb2KROaazBmj4WPmTbw-1; Mon, 13 Jun 2022 14:31:01 -0400 X-MC-Unique: z2mJb2KROaazBmj4WPmTbw-1 Received: by mail-qv1-f70.google.com with SMTP id kd24-20020a056214401800b0046d7fd4a421so4357738qvb.20 for ; Mon, 13 Jun 2022 11:31:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:subject:from:to:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=2AR/3mzZbCj/IAnuJ9elRw7ZNigyd52EtE+cx56FU+c=; b=QbWLtrKK+oUfN/zuKcBgbjm+nv2Ps/jaiiDg4TmHeWlm4ZsmtHMbsMqAagI+2vnoyH sbGGOfrwjCHpeIikWBNM2m6KRgRdamVhYnO1MybV8Z5p06BwMaMugk4U+aBjt7AmR0xt 8LYnrQpj35zUCbjBHcg3sb4ijQH16ELiPVc1nMakTwo3Wkajkz5hwQQPFOQZkFc3JFdT 008Un654bZ0J7mk/D6nTbDcdofS32D8OV5nvI5/OoOOFXwL1Dzra5nKpVmsX91iBRd2n 7QPaut/VrXKzc7g01EM4a1EQDG89deusf+8NJZExoFlV5V4LtfycJ6ddyG2c2bYITktF juvA== X-Gm-Message-State: AOAM530Q51lZR2FShS9cxwjDtL+Ym5vyy9GYzhdrRju435Lmck/y4SH3 Nbo9uWUPgNz/RMCpOyPD9IY944xNm3cUqP5b1FX93x5WUDLrnR9rbLtjBAGDv1SZX/xg9oq/mWp KIYN1fOkw/f4Qqc1gwjxU5Lz0fZ2bZaD0nrPT7nbn+U3eZIZw8Y41ca6MXK7xA3shqbJzmA== X-Received: by 2002:a05:622a:164a:b0:2fb:870e:f931 with SMTP id y10-20020a05622a164a00b002fb870ef931mr991605qtj.17.1655145060388; Mon, 13 Jun 2022 11:31:00 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyfqoHJUsN07MqM/2yLg8/e+o5aEEK4Pb2bODer3Y/QImrZEAE90vZa9hf7gb5sj3FZwuuUzA== X-Received: by 2002:a05:622a:164a:b0:2fb:870e:f931 with SMTP id y10-20020a05622a164a00b002fb870ef931mr991564qtj.17.1655145059782; Mon, 13 Jun 2022 11:30:59 -0700 (PDT) Received: from t14s.localdomain (c-73-69-212-193.hsd1.ma.comcast.net. [73.69.212.193]) by smtp.gmail.com with ESMTPSA id bp6-20020a05620a458600b0069fc13ce1fesm7319483qkb.47.2022.06.13.11.30.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 13 Jun 2022 11:30:59 -0700 (PDT) Message-ID: Subject: PING Re: [PATCH 10/10] Add 'final' and 'override' in various places From: David Malcolm To: gcc-patches@gcc.gnu.org Date: Mon, 13 Jun 2022 14:30:58 -0400 In-Reply-To: <20220523192834.3785673-11-dmalcolm@redhat.com> References: <20220523192834.3785673-1-dmalcolm@redhat.com> <20220523192834.3785673-11-dmalcolm@redhat.com> User-Agent: Evolution 3.38.4 (3.38.4-1.fc33) MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-10.9 required=5.0 tests=BAYES_00, BODY_8BITS, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_NONE, TXREP, 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-List-Received-Date: Mon, 13 Jun 2022 18:31:06 -0000 Ping re this patch: https://gcc.gnu.org/pipermail/gcc-patches/2022-May/595443.html OK for trunk? Thanks Dave On Mon, 2022-05-23 at 15:28 -0400, David Malcolm wrote: > 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