From: Matthias Maennich <maennich@google.com>
To: libabigail@sourceware.org
Cc: dodji@seketeli.org, gprocida@google.com, kernel-team@android.com,
maennich@google.com
Subject: [PATCH 4/6] Remove <unordered_map> usages from abg_compat
Date: Mon, 14 Dec 2020 23:08:54 +0000 [thread overview]
Message-ID: <20201214230855.1574934-5-maennich@google.com> (raw)
In-Reply-To: <20201214230855.1574934-1-maennich@google.com>
std::unordered_map is now provided through the language standard, hence
remove the compatibility code for <unordered_map> and adjust all users
accordingly.
* include/abg-cxx-compat.h: Drop compatibility layer for <unordered_map>.
* include/abg-comparison.h: migrate abg_compat use to std.
* include/abg-cxx-compat.h: Likewise.
* include/abg-fwd.h: Likewise.
* include/abg-ir.h: Likewise.
* src/abg-corpus.cc: Likewise.
* src/abg-dwarf-reader.cc: Likewise.
* src/abg-ir.cc: Likewise.
* src/abg-reader.cc: Likewise.
* src/abg-writer.cc: Likewise.
Signed-off-by: Matthias Maennich <maennich@google.com>
---
include/abg-comparison.h | 3 ++-
include/abg-cxx-compat.h | 4 ----
include/abg-fwd.h | 3 ++-
include/abg-ir.h | 9 +++++----
src/abg-corpus.cc | 3 ++-
src/abg-dwarf-reader.cc | 3 ++-
src/abg-ir.cc | 3 ++-
src/abg-reader.cc | 5 +++--
src/abg-writer.cc | 3 ++-
9 files changed, 20 insertions(+), 16 deletions(-)
diff --git a/include/abg-comparison.h b/include/abg-comparison.h
index f3d33e9a28af..c9e8df7624d2 100644
--- a/include/abg-comparison.h
+++ b/include/abg-comparison.h
@@ -11,6 +11,7 @@
/// @file
#include <ostream>
+#include <unordered_map>
#include "abg-cxx-compat.h"
#include "abg-corpus.h"
#include "abg-diff-utils.h"
@@ -36,7 +37,7 @@ typedef std::vector<filter_base_sptr> filters;
// Inject types we need into this namespace.
using std::ostream;
using std::vector;
-using abg_compat::unordered_map;
+using std::unordered_map;
using abg_compat::unordered_set;
using std::pair;
diff --git a/include/abg-cxx-compat.h b/include/abg-cxx-compat.h
index 2d3b2b036a37..fd693933d65f 100644
--- a/include/abg-cxx-compat.h
+++ b/include/abg-cxx-compat.h
@@ -8,14 +8,10 @@
#ifndef __ABG_CXX_COMPAT_H
#define __ABG_CXX_COMPAT_H
-#include <unordered_map>
#include <unordered_set>
namespace abg_compat {
-// <unordered_map>
-using std::unordered_map;
-
// <unordered_set>
using std::unordered_set;
diff --git a/include/abg-fwd.h b/include/abg-fwd.h
index 0eba77175636..4d594afaccf6 100644
--- a/include/abg-fwd.h
+++ b/include/abg-fwd.h
@@ -16,6 +16,7 @@
#include <ostream>
#include <string>
#include <typeinfo>
+#include <unordered_map>
#include <utility> // for std::rel_ops, at least.
#include <vector>
#include "abg-cxx-compat.h"
@@ -51,7 +52,7 @@ namespace abigail
// Inject some types.
using std::shared_ptr;
using std::weak_ptr;
-using abg_compat::unordered_map;
+using std::unordered_map;
using std::string;
using std::vector;
diff --git a/include/abg-ir.h b/include/abg-ir.h
index 561d20960ed4..06e03b5f14c9 100644
--- a/include/abg-ir.h
+++ b/include/abg-ir.h
@@ -20,6 +20,7 @@
#include <cstdlib>
#include <functional>
#include <set>
+#include <unordered_map>
#include "abg-cxx-compat.h"
#include "abg-fwd.h"
#include "abg-hash.h"
@@ -92,7 +93,7 @@ namespace ir
{
// Inject some std types in here.
-using abg_compat::unordered_map;
+using std::unordered_map;
/// A convenience typedef fo r an ordered set of size_t.
typedef unordered_set<size_t> pointer_set;
@@ -138,7 +139,7 @@ public:
/// the pretty representation string of a particular type and the
/// value is the vector of canonical types that have the same pretty
/// representation string.
- typedef abg_compat::unordered_map<string, std::vector<type_base_sptr> >
+ typedef std::unordered_map<string, std::vector<type_base_sptr> >
canonical_types_map_type;
private:
@@ -758,7 +759,7 @@ typedef weak_ptr<elf_symbol> elf_symbol_wptr;
/// Convenience typedef for a map which key is a string and which
/// value if the elf symbol of the same name.
-typedef abg_compat::unordered_map<string, elf_symbol_sptr>
+typedef std::unordered_map<string, elf_symbol_sptr>
string_elf_symbol_sptr_map_type;
/// Convenience typedef for a shared pointer to an
@@ -771,7 +772,7 @@ typedef std::vector<elf_symbol_sptr> elf_symbols;
/// Convenience typedef for a map which key is a string and which
/// value is a vector of elf_symbol.
-typedef abg_compat::unordered_map<string, elf_symbols>
+typedef std::unordered_map<string, elf_symbols>
string_elf_symbols_map_type;
/// Convenience typedef for a shared pointer to
diff --git a/src/abg-corpus.cc b/src/abg-corpus.cc
index 6924944cb618..e2319d186259 100644
--- a/src/abg-corpus.cc
+++ b/src/abg-corpus.cc
@@ -12,6 +12,7 @@
#include <cstdio>
#include <cstring>
#include <stdexcept>
+#include <unordered_map>
#include "abg-cxx-compat.h"
#include "abg-internal.h"
@@ -43,7 +44,7 @@ namespace ir
{
using std::ostringstream;
-using abg_compat::unordered_map;
+using std::unordered_map;
using std::list;
using std::vector;
diff --git a/src/abg-dwarf-reader.cc b/src/abg-dwarf-reader.cc
index e8f43bc6ab57..c3723ae15236 100644
--- a/src/abg-dwarf-reader.cc
+++ b/src/abg-dwarf-reader.cc
@@ -30,6 +30,7 @@
#include <ostream>
#include <sstream>
#include <stack>
+#include <unordered_map>
#include "abg-cxx-compat.h"
#include "abg-ir-priv.h"
@@ -65,7 +66,7 @@ namespace dwarf_reader
using std::dynamic_pointer_cast;
using std::static_pointer_cast;
-using abg_compat::unordered_map;
+using std::unordered_map;
using abg_compat::unordered_set;
using std::stack;
using std::deque;
diff --git a/src/abg-ir.cc b/src/abg-ir.cc
index 4fbbc6a3a211..5f931ee79509 100644
--- a/src/abg-ir.cc
+++ b/src/abg-ir.cc
@@ -16,6 +16,7 @@
#include <memory>
#include <sstream>
#include <typeinfo>
+#include <unordered_map>
#include <utility>
#include <vector>
@@ -117,7 +118,7 @@ namespace abigail
using std::string;
using std::list;
using std::vector;
-using abg_compat::unordered_map;
+using std::unordered_map;
using std::dynamic_pointer_cast;
using std::static_pointer_cast;
diff --git a/src/abg-reader.cc b/src/abg-reader.cc
index c89e3ccd29d6..fb7326ed1b81 100644
--- a/src/abg-reader.cc
+++ b/src/abg-reader.cc
@@ -20,6 +20,7 @@
#include <deque>
#include <memory>
#include <sstream>
+#include <unordered_map>
#include "abg-cxx-compat.h"
#include "abg-suppression-priv.h"
@@ -52,7 +53,7 @@ namespace xml_reader
using std::string;
using std::deque;
using std::shared_ptr;
-using abg_compat::unordered_map;
+using std::unordered_map;
using std::dynamic_pointer_cast;
using std::vector;
using std::istream;
@@ -2886,7 +2887,7 @@ build_elf_symbol_db(read_context& ctxt,
ctxt.set_corpus_node(node);
- typedef abg_compat::unordered_map<xmlNodePtr, elf_symbol_sptr>
+ typedef std::unordered_map<xmlNodePtr, elf_symbol_sptr>
xml_node_ptr_elf_symbol_sptr_map_type;
xml_node_ptr_elf_symbol_sptr_map_type xml_node_ptr_elf_symbol_map;
diff --git a/src/abg-writer.cc b/src/abg-writer.cc
index 494847b8635b..0953c8b3c7ee 100644
--- a/src/abg-writer.cc
+++ b/src/abg-writer.cc
@@ -19,6 +19,7 @@
#include <memory>
#include <sstream>
#include <stack>
+#include <unordered_map>
#include <vector>
#include "abg-cxx-compat.h"
@@ -56,7 +57,7 @@ using std::ostringstream;
using std::list;
using std::vector;
using std::stack;
-using abg_compat::unordered_map;
+using std::unordered_map;
using abigail::sptr_utils::noop_deleter;
#if WITH_ZIP_ARCHIVE
--
2.29.2.684.gfbc64c5ab5-goog
next prev parent reply other threads:[~2020-12-14 23:09 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-14 23:08 [PATCH 0/6] Drop C++03 compatibility layer from abg-cxx-compat.h Matthias Maennich
2020-12-14 23:08 ` [PATCH 1/6] Drop C++03 compatibility layer Matthias Maennich
2020-12-14 23:08 ` [PATCH 2/6] Remove <functional> usages from abg_compat Matthias Maennich
2020-12-14 23:08 ` [PATCH 3/6] Remove <memory> " Matthias Maennich
2020-12-14 23:08 ` Matthias Maennich [this message]
2020-12-14 23:08 ` [PATCH 5/6] Remove <unordered_set> " Matthias Maennich
2020-12-14 23:08 ` [PATCH 6/6] Drop unneccessary includes of abg-cxx-compat.h Matthias Maennich
2020-12-15 8:47 ` [PATCH 0/6] Drop C++03 compatibility layer from abg-cxx-compat.h 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=20201214230855.1574934-5-maennich@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).