diff options
author | Jason Merrill <jason@redhat.com> | 2009-07-02 13:28:07 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2009-07-02 13:28:07 -0400 |
commit | 2b110bfcc074f222a49d875c5f0f5ea370294b9f (patch) | |
tree | 3c2c0297ab16c23ff492721390073d22d425b37a /gcc/tree-ssa-dce.c | |
parent | 74c9e8526b70f57ed371aa96e414b453c28544d9 (diff) | |
download | gcc-2b110bfcc074f222a49d875c5f0f5ea370294b9f.zip gcc-2b110bfcc074f222a49d875c5f0f5ea370294b9f.tar.gz gcc-2b110bfcc074f222a49d875c5f0f5ea370294b9f.tar.bz2 |
Use hash tables for template specialization lookup.
* pt.c (struct spec_entry): New type.
(decl_specializations, type_specializations): New hash tables.
(register_specialization, retrieve_specialization): Use them.
(reregister_specialization, lookup_template_class): Use them.
(eq_specializations, hash_tmpl_and_args, hash_specialization): New.
(iterative_hash_template_arg): New.
(init_template_processing): New
(process_partial_specialization): Don't look to see if we already
have this partial specialization.
(maybe_process_partial_specialization): Handle reassigning
full specializations when we get an explicit specialization
of the partial instantiation.
(tsubst_friend_function): Adjust specialization reassignment code.
(instantiate_template): Only do one lookup.
(instantiate_decl): Don't do any lookup.
* cp-tree.h: Declare init_template_processing.
* decl.c (duplicate_decls): Pass args to reregister_specialization.
From-SVN: r149188
Diffstat (limited to 'gcc/tree-ssa-dce.c')
0 files changed, 0 insertions, 0 deletions