diff options
author | Martin Sebor <msebor@redhat.com> | 2021-05-27 13:37:43 -0600 |
---|---|---|
committer | Martin Sebor <msebor@redhat.com> | 2021-05-27 13:37:43 -0600 |
commit | 5d05e83e243931c291409d4771f31747b6c04eb0 (patch) | |
tree | 730b0c4d942154148dec0e15258d278d1d751a58 /gcc/hash-map.h | |
parent | fc3fdf0f2196e805a3a43ccb73595c33673670f3 (diff) | |
download | gcc-5d05e83e243931c291409d4771f31747b6c04eb0.zip gcc-5d05e83e243931c291409d4771f31747b6c04eb0.tar.gz gcc-5d05e83e243931c291409d4771f31747b6c04eb0.tar.bz2 |
PR other/100463 - many errors using GTY and hash_map
gcc/ChangeLog:
* ggc.h (gt_ggc_mx): Add overloads for all integers.
(gt_pch_nx): Same.
* hash-map.h (class hash_map): Add pch_nx_helper overloads for all
integers.
(hash_map::operator==): New function.
Diffstat (limited to 'gcc/hash-map.h')
-rw-r--r-- | gcc/hash-map.h | 42 |
1 files changed, 25 insertions, 17 deletions
diff --git a/gcc/hash-map.h b/gcc/hash-map.h index 0779c93..dd039f1 100644 --- a/gcc/hash-map.h +++ b/gcc/hash-map.h @@ -107,27 +107,31 @@ class GTY((user)) hash_map gt_pch_nx (&x, op, cookie); } - static void - pch_nx_helper (int, gt_pointer_operator, void *) - { - } - - static void - pch_nx_helper (unsigned int, gt_pointer_operator, void *) - { - } - - static void - pch_nx_helper (bool, gt_pointer_operator, void *) - { - } - template<typename T> static void pch_nx_helper (T *&x, gt_pointer_operator op, void *cookie) { op (&x, cookie); } + + /* The overloads below should match those in ggc.h. */ +#define DEFINE_PCH_HELPER(T) \ + static void pch_nx_helper (T, gt_pointer_operator, void *) { } + + DEFINE_PCH_HELPER (bool); + DEFINE_PCH_HELPER (char); + DEFINE_PCH_HELPER (signed char); + DEFINE_PCH_HELPER (unsigned char); + DEFINE_PCH_HELPER (short); + DEFINE_PCH_HELPER (unsigned short); + DEFINE_PCH_HELPER (int); + DEFINE_PCH_HELPER (unsigned int); + DEFINE_PCH_HELPER (long); + DEFINE_PCH_HELPER (unsigned long); + DEFINE_PCH_HELPER (long long); + DEFINE_PCH_HELPER (unsigned long long); + +#undef DEFINE_PCH_HELPER }; public: @@ -273,8 +277,12 @@ public: return reference_pair (e.m_key, e.m_value); } - bool - operator != (const iterator &other) const + bool operator== (const iterator &other) const + { + return m_iter == other.m_iter; + } + + bool operator != (const iterator &other) const { return m_iter != other.m_iter; } |