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
>
next prev parent 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).