diff options
author | Saar Raz <saar@raz.email> | 2019-12-22 09:35:53 +0200 |
---|---|---|
committer | Saar Raz <saar@raz.email> | 2019-12-22 13:15:38 +0200 |
commit | d3f5769d5e93b30d4a8b4696381d5e4a304992fa (patch) | |
tree | 93d2a0af1aae2c9c11a8cb9efb3ae5c8aed7800a /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | |
parent | 9a3fab97468f9555a770707e23a4c424bfd696c2 (diff) | |
download | bcm5719-llvm-d3f5769d5e93b30d4a8b4696381d5e4a304992fa.tar.gz bcm5719-llvm-d3f5769d5e93b30d4a8b4696381d5e4a304992fa.zip |
[Concepts] Constrained partial specializations and function overloads.
Added support for constraint satisfaction checking and partial ordering of constraints in constrained partial specialization and function template overloads.
Re-commit after fixing some crashes and warnings.
Differential Revision: https://reviews.llvm.org/D41910
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rwxr-xr-x[-rw-r--r--] | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 0bff0747df3..a8fc77fff7d 100644..100755 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -3706,7 +3706,8 @@ TemplateDeclInstantiator::InstantiateClassTemplatePartialSpecialization( // in the member template's set of class template partial specializations. void *InsertPos = nullptr; ClassTemplateSpecializationDecl *PrevDecl - = ClassTemplate->findPartialSpecialization(Converted, InsertPos); + = ClassTemplate->findPartialSpecialization(Converted, InstParams, + InsertPos); // Build the canonical type that describes the converted template // arguments of the class template partial specialization. @@ -3830,7 +3831,7 @@ TemplateDeclInstantiator::InstantiateVarTemplatePartialSpecialization( // in the member template's set of variable template partial specializations. void *InsertPos = nullptr; VarTemplateSpecializationDecl *PrevDecl = - VarTemplate->findPartialSpecialization(Converted, InsertPos); + VarTemplate->findPartialSpecialization(Converted, InstParams, InsertPos); // Build the canonical type that describes the converted template // arguments of the variable template partial specialization. |