hash-traits.h (typed_noop_remove): Don't require a pointer type.
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 25 Jun 2015 17:07:16 +0000 (17:07 +0000)
committerRichard Sandiford <rsandifo@gcc.gnu.org>
Thu, 25 Jun 2015 17:07:16 +0000 (17:07 +0000)
gcc/
* hash-traits.h (typed_noop_remove): Don't require a pointer type.

From-SVN: r224963

gcc/ChangeLog
gcc/hash-traits.h

index 3a7e1b052ab26edeab5f1a2b2ab5ed1ea8f63cdf..5bd35bd52723243c4d7b862adf375eae07825787 100644 (file)
@@ -1,3 +1,7 @@
+2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
+
+       * hash-traits.h (typed_noop_remove): Don't require a pointer type.
+
 2015-06-25  Richard Sandiford  <richard.sandiford@arm.com>
 
        * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
index 5fd43f1f54fa902df8317c19ce8c7c105a52397d..c8314e51e45a156e206d8d89a1a76d7bc6b5f55a 100644 (file)
@@ -44,7 +44,7 @@ typed_free_remove <Type>::remove (Type *p)
 template <typename Type>
 struct typed_noop_remove
 {
-  static inline void remove (Type *p);
+  static inline void remove (Type &);
 };
 
 
@@ -52,7 +52,7 @@ struct typed_noop_remove
 
 template <typename Type>
 inline void
-typed_noop_remove <Type>::remove (Type *p ATTRIBUTE_UNUSED)
+typed_noop_remove <Type>::remove (Type &)
 {
 }
 
@@ -169,7 +169,7 @@ struct ggc_cache_remove : ggc_remove<T>
    is deleted.  */
 
 template <typename T>
-struct nofree_ptr_hash : pointer_hash <T>, typed_noop_remove <T> {};
+struct nofree_ptr_hash : pointer_hash <T>, typed_noop_remove <T *> {};
 
 /* Traits for pointer elements that should be freed via free() when an
    element is deleted.  */