]> granicus.if.org Git - clang/commit
Simplify, and improve the performance of, template instantiation for
authorDouglas Gregor <dgregor@apple.com>
Wed, 27 May 2009 17:54:46 +0000 (17:54 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 27 May 2009 17:54:46 +0000 (17:54 +0000)
commited961e7fffc268eeace169869f5a059bcbd5fcbd
tree0b9d4239b1a100964d24d58e148dd514495ee279
parentd0c873799614d32c9c11280878ac1a856f92f707
Simplify, and improve the performance of, template instantiation for
declaration references. The key realization is that dependent Decls,
which actually require instantiation, can only refer to the current
instantiation or members thereof. And, since the current context
during instantiation contains all of those members of the current
instantiation, we can simply find the real instantiate that matches up
with the "current instantiation" template.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72486 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/Sema.h
lib/Sema/SemaTemplateInstantiate.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Sema/SemaTemplateInstantiateExpr.cpp
test/SemaTemplate/instantiate-declref.cpp