diff options
Diffstat (limited to 'clang/lib/Sema')
| -rw-r--r-- | clang/lib/Sema/SemaTemplate.cpp | 12 | ||||
| -rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 3 |
2 files changed, 10 insertions, 5 deletions
diff --git a/clang/lib/Sema/SemaTemplate.cpp b/clang/lib/Sema/SemaTemplate.cpp index 97812046f7f..f27d551d102 100644 --- a/clang/lib/Sema/SemaTemplate.cpp +++ b/clang/lib/Sema/SemaTemplate.cpp @@ -930,7 +930,8 @@ QualType Sema::CheckTemplateIdType(TemplateName Name, llvm::FoldingSetNodeID ID; ClassTemplateSpecializationDecl::Profile(ID, Converted.getFlatArguments(), - Converted.flatSize()); + Converted.flatSize(), + Context); void *InsertPos = 0; ClassTemplateSpecializationDecl *Decl = ClassTemplate->getSpecializations().FindNodeOrInsertPos(ID, InsertPos); @@ -2433,12 +2434,14 @@ Sema::ActOnClassTemplateSpecialization(Scope *S, unsigned TagSpec, TagKind TK, // FIXME: Template parameter list matters, too ClassTemplatePartialSpecializationDecl::Profile(ID, Converted.getFlatArguments(), - Converted.flatSize()); + Converted.flatSize(), + Context); } else ClassTemplateSpecializationDecl::Profile(ID, Converted.getFlatArguments(), - Converted.flatSize()); + Converted.flatSize(), + Context); void *InsertPos = 0; ClassTemplateSpecializationDecl *PrevDecl = 0; @@ -2703,7 +2706,8 @@ Sema::ActOnExplicitInstantiation(Scope *S, SourceLocation TemplateLoc, llvm::FoldingSetNodeID ID; ClassTemplateSpecializationDecl::Profile(ID, Converted.getFlatArguments(), - Converted.flatSize()); + Converted.flatSize(), + Context); void *InsertPos = 0; ClassTemplateSpecializationDecl *PrevDecl = ClassTemplate->getSpecializations().FindNodeOrInsertPos(ID, InsertPos); diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index b04b63523df..6506cde2af8 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -321,7 +321,8 @@ Decl *TemplateDeclInstantiator::VisitFunctionDecl(FunctionDecl *D) { llvm::FoldingSetNodeID ID; FunctionTemplateSpecializationInfo::Profile(ID, TemplateArgs.getFlatArgumentList(), - TemplateArgs.flat_size()); + TemplateArgs.flat_size(), + SemaRef.Context); FunctionTemplateSpecializationInfo *Info = FunctionTemplate->getSpecializations().FindNodeOrInsertPos(ID, |

