summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
diff options
context:
space:
mode:
authorSaar Raz <saar@raz.email>2019-12-22 09:35:53 +0200
committerSaar Raz <saar@raz.email>2019-12-22 13:15:38 +0200
commitd3f5769d5e93b30d4a8b4696381d5e4a304992fa (patch)
tree93d2a0af1aae2c9c11a8cb9efb3ae5c8aed7800a /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
parent9a3fab97468f9555a770707e23a4c424bfd696c2 (diff)
downloadbcm5719-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.cpp5
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.
OpenPOWER on IntegriCloud