Commit 69f794a7 by Mark Mitchell Committed by Mark Mitchell

pt.c (retrieve_local_specialization): Revert 2003-01-05 change.

	* pt.c (retrieve_local_specialization): Revert 2003-01-05 change.
	(hash_local_specialization): New function.
	(register_local_specialization): Revert 2003-01-05 change.
	(instantiate_decl): Use hash_local_specialization when creating
	the local_specializations table.

From-SVN: r60971
parent 86143814
2003-01-06 Mark Mitchell <mark@codesourcery.com>
* pt.c (retrieve_local_specialization): Revert 2003-01-05 change.
(hash_local_specialization): New function.
(register_local_specialization): Revert 2003-01-05 change.
(instantiate_decl): Use hash_local_specialization when creating
the local_specializations table.
* decl2.c (mark_used): Do not synthesize thunks.
* class.c (layout_class_type): Correct handling of unnamed
......
......@@ -745,7 +745,9 @@ static tree
retrieve_local_specialization (tmpl)
tree tmpl;
{
tree spec = (tree) htab_find (local_specializations, tmpl);
tree spec =
(tree) htab_find_with_hash (local_specializations, tmpl,
htab_hash_pointer (tmpl));
return spec ? TREE_PURPOSE (spec) : NULL_TREE;
}
......@@ -922,6 +924,14 @@ eq_local_specializations (const void *p1, const void *p2)
return TREE_VALUE ((tree) p1) == (tree) p2;
}
/* Hash P1, an entry in the local specializations table. */
static hashval_t
hash_local_specialization (const void* p1)
{
return htab_hash_pointer (TREE_VALUE ((tree) p1));
}
/* Like register_specialization, but for local declarations. We are
registering SPEC, an instantiation of TMPL. */
......@@ -932,7 +942,8 @@ register_local_specialization (spec, tmpl)
{
void **slot;
slot = htab_find_slot (local_specializations, tmpl, INSERT);
slot = htab_find_slot_with_hash (local_specializations, tmpl,
htab_hash_pointer (tmpl), INSERT);
*slot = build_tree_list (spec, tmpl);
}
......@@ -10308,7 +10319,7 @@ instantiate_decl (d, defer_ok)
/* Set up the list of local specializations. */
local_specializations = htab_create (37,
htab_hash_pointer,
hash_local_specialization,
eq_local_specializations,
NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment