public inbox for libabigail@sourceware.org
 help / color / mirror / Atom feed
From: Matthias Maennich <maennich@google.com>
To: Giuliano Procida <gprocida@google.com>
Cc: libabigail@sourceware.org, dodji@seketeli.org, kernel-team@android.com
Subject: Re: [PATCH 1/3] Drop traversable_base::traverse method.
Date: Fri, 10 Jul 2020 18:26:11 +0200	[thread overview]
Message-ID: <20200710162611.GG995455@google.com> (raw)
In-Reply-To: <20200709182250.1677238-2-gprocida@google.com>

On Thu, Jul 09, 2020 at 07:22:48PM +0100, Giuliano Procida wrote:
>The traverse method is defined in the traversable_base class but is
>never used as the synonymous methods in the derived classes have
>different argument types and so hide it.
>
>The function can be removed and consequently the source file
>abg-traverse.cc too.
>
>This removes a trigger of Clang's -Werror-overloaded-virtual which is
>enabled with -Wmost which is enabled by -Wall.
>
>	* include/abg-traverse.h (class traversable_base): Add
>	class-level comment about expected usage, drop declaration of
>	traverse method.
>	* src/Makefile.am: Remove mention of src/abg-traverse.cc.
>	* src/abg-traverse.cc: Remove file as it only contains the
>	unused traversable_base::traverse method.
>
>Signed-off-by: Giuliano Procida <gprocida@google.com>

Reviewed-by: Matthias Maennich <maennich@google.com>

Cheers,
Matthias

>---
> include/abg-traverse.h | 21 ++++++---------------
> src/Makefile.am        |  1 -
> src/abg-traverse.cc    | 43 ------------------------------------------
> 3 files changed, 6 insertions(+), 59 deletions(-)
> delete mode 100644 src/abg-traverse.cc
>
>diff --git a/include/abg-traverse.h b/include/abg-traverse.h
>index a7170dad..2cb84804 100644
>--- a/include/abg-traverse.h
>+++ b/include/abg-traverse.h
>@@ -44,6 +44,12 @@ struct node_visitor_base
>
> /// The interface for types which are feeling social and want to be
> /// visited during the traversal of a hierarchy of nodes.
>+///
>+/// It is expected that classes derived from traversable_base define a
>+/// traverse method specialised to the node *visitor* type. Such
>+/// methods should visit nodes recursively, calling
>+/// ir_node_visitor::visit for each node. The method should return
>+/// true until all nodes have been visited.
> class traversable_base
> {
>   bool visiting_;
>@@ -78,21 +84,6 @@ public:
>   {}
>
>   virtual ~traversable_base() {}
>-
>-  /// This virtual method is overloaded and implemented by any single
>-  /// type which instance is going to be visited during the traversal
>-  /// of translation unit nodes.
>-  ///
>-  /// The method visits a given node and, for scopes, visits their
>-  /// member nodes.  Visiting a node means calling the
>-  /// ir_node_visitor::visit method with the node passed as an
>-  /// argument.
>-  ///
>-  /// @param v the visitor used during the traverse.
>-  ///
>-  /// @return true if traversed until the end of the type tree, false
>-  /// otherwise.
>-  virtual bool traverse(node_visitor_base& v);
> };
>
> }// end namespace ir.
>diff --git a/src/Makefile.am b/src/Makefile.am
>index 1153a5f8..7684e373 100644
>--- a/src/Makefile.am
>+++ b/src/Makefile.am
>@@ -13,7 +13,6 @@ endif
>
> libabigail_la_SOURCES =			\
> abg-internal.h				\
>-abg-traverse.cc				\
> abg-ir-priv.h				\
> abg-ir.cc				\
> abg-corpus-priv.h			\
>diff --git a/src/abg-traverse.cc b/src/abg-traverse.cc
>deleted file mode 100644
>index 3fb87ea2..00000000
>--- a/src/abg-traverse.cc
>+++ /dev/null
>@@ -1,43 +0,0 @@
>-// -*- Mode: C++ -*-
>-//
>-// Copyright (C) 2013-2020 Red Hat, Inc.
>-//
>-// This file is part of the GNU Application Binary Interface Generic
>-// Analysis and Instrumentation Library (libabigail).  This library is
>-// free software; you can redistribute it and/or modify it under the
>-// terms of the GNU Lesser General Public License as published by the
>-// Free Software Foundation; either version 3, or (at your option) any
>-// later version.
>-
>-// This library is distributed in the hope that it will be useful, but
>-// WITHOUT ANY WARRANTY; without even the implied warranty of
>-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>-// General Lesser Public License for more details.
>-
>-// You should have received a copy of the GNU Lesser General Public
>-// License along with this program; see the file COPYING-LGPLV3.  If
>-// not, see <http://www.gnu.org/licenses/>.
>-
>-/// @file
>-
>-#include "abg-internal.h"
>-// <headers defining libabigail's API go under here>
>-ABG_BEGIN_EXPORT_DECLARATIONS
>-
>-#include "abg-traverse.h"
>-
>-ABG_END_EXPORT_DECLARATIONS
>-// </headers defining libabigail's API>
>-
>-namespace abigail
>-{
>-
>-namespace ir
>-{
>-
>-bool
>-traversable_base::traverse(node_visitor_base&)
>-{return true;}
>-
>-}// end namaspace ir
>-}// end namespace abigail
>-- 
>2.27.0.383.g050319c2ae-goog
>

  reply	other threads:[~2020-07-10 16:26 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-09 16:45 [PATCH] " Giuliano Procida
2020-07-09 18:22 ` [PATCH 0/3] Bug 21485 - problems compiling with clang Giuliano Procida
2020-07-09 18:22   ` [PATCH 1/3] Drop traversable_base::traverse method Giuliano Procida
2020-07-10 16:26     ` Matthias Maennich [this message]
2020-07-27 16:03     ` Dodji Seketeli
2020-07-09 18:22   ` [PATCH 2/3] Fix inheritance of scope_decl::insert_member_decl Giuliano Procida
2020-07-10 16:27     ` Matthias Maennich
2020-07-27 16:14     ` Dodji Seketeli
2020-07-09 18:22   ` [PATCH 3/3] Enable Clang's -Werror-overloaded-virtual Giuliano Procida
2020-07-09 18:51     ` [PATCH v2 " Giuliano Procida
2020-07-10 16:28       ` Matthias Maennich
2020-07-27 16:26       ` Dodji Seketeli
2020-07-27 16:27   ` [PATCH 0/3] Bug 21485 - problems compiling with clang Dodji Seketeli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200710162611.GG995455@google.com \
    --to=maennich@google.com \
    --cc=dodji@seketeli.org \
    --cc=gprocida@google.com \
    --cc=kernel-team@android.com \
    --cc=libabigail@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).