[C++ PATCH] Kill unneeded hash specialization
authorNathan Sidwell <nathan@acm.org>
Tue, 10 Oct 2017 20:42:45 +0000 (20:42 +0000)
committerNathan Sidwell <nathan@gcc.gnu.org>
Tue, 10 Oct 2017 20:42:45 +0000 (20:42 +0000)
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00621.html
* cp-tree.h (default_hash_traits <lang_identifier *>): Delete
specialization.

From-SVN: r253620

gcc/cp/ChangeLog
gcc/cp/cp-tree.h

index 40c4c2f41846efde502cafea12e1152d92bc7c8d..25083eb757aaa2feef5918ef9ca91b6e2c0338ec 100644 (file)
@@ -1,5 +1,8 @@
 2017-10-10  Nathan Sidwell  <nathan@acm.org>
 
+       * cp-tree.h (default_hash_traits <lang_identifier *>): Delete
+       specialization.
+
        * decl2.c (struct mangled_decl_hash): New hash traits.
        (mangled_decls): Make hash_table<mangled_decl_hash>.
        (generate_mangling_alias, record_mangling): Adjust.
index 1c008dbb3b35a531c084c5ea865a96d15a5e4cea..4fb2dc8e7c7fbba44b910d68cec0b78c84bfc76f 100644 (file)
@@ -572,30 +572,6 @@ identifier_p (tree t)
   return NULL;
 }
 
-/* Hash trait specialization for lang_identifiers.  This allows
-   PCH-safe maps keyed by DECL_NAME.  If it wasn't for PCH, we could
-   just use a regular tree key.  */
-
-template <>
-struct default_hash_traits <lang_identifier *>
-  : pointer_hash <tree_node>
-{
-  /* Use a regular tree as the type, to make using the hash table
-     simpler.  We'll get dynamic type checking with the hash function
-     itself.  */
-  GTY((skip)) typedef tree value_type;
-  GTY((skip)) typedef tree compare_type;
-
-  static hashval_t hash (const value_type id)
-  {
-    return IDENTIFIER_HASH_VALUE (id);
-  }
-
-  /* Nothing is deletable.  Everything is insertable.  */
-  static bool is_deleted (value_type) { return false; }
-  static void remove (value_type) { gcc_unreachable (); }
-};
-
 #define LANG_IDENTIFIER_CAST(NODE) \
        ((struct lang_identifier*)IDENTIFIER_NODE_CHECK (NODE))