diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-10-15 15:54:05 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-10-15 15:54:05 +0000 |
commit | d6ba93dc6eb6010b076f01317c45bee94fd925e2 (patch) | |
tree | c746b93172b4685f009f20b16ba78e56d68869d9 /clang/lib/Sema/SemaTemplateInstantiate.cpp | |
parent | 3b5bdd536ba72d32b2ab6d395d5b83a8afa8a926 (diff) | |
download | bcm5719-llvm-d6ba93dc6eb6010b076f01317c45bee94fd925e2.tar.gz bcm5719-llvm-d6ba93dc6eb6010b076f01317c45bee94fd925e2.zip |
Check the interactions between explicit instantiations and template
specializations. Work in progress; there's more cleanup required to
actually use the new CheckSpecializationInstantiationRedecl checker
uniformly.
llvm-svn: 84185
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiate.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index 24b83704eba..d48d5fc134f 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -769,6 +769,13 @@ Sema::InstantiateClass(SourceLocation PointOfInstantiation, } Pattern = PatternDef; + // \brief Record the point of instantiation. + if (MemberSpecializationInfo *MSInfo + = Instantiation->getMemberSpecializationInfo()) { + MSInfo->setTemplateSpecializationKind(TSK); + MSInfo->setPointOfInstantiation(PointOfInstantiation); + } + InstantiatingTemplate Inst(*this, PointOfInstantiation, Instantiation); if (Inst) return true; |