diff options
author | Reid Kleckner <rnk@google.com> | 2019-12-22 11:37:54 -0800 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2019-12-22 11:40:07 -0800 |
commit | 79cc9e9b304a90598e8def4c8b5354d1f99186eb (patch) | |
tree | 167eb223a5d3e2d9995f4fbfd856ea18b451abaf /clang/lib/Sema/SemaTemplateInstantiate.cpp | |
parent | fb0ccff6e56bde6c42b2ff941861564e24a7a805 (diff) | |
download | bcm5719-llvm-79cc9e9b304a90598e8def4c8b5354d1f99186eb.tar.gz bcm5719-llvm-79cc9e9b304a90598e8def4c8b5354d1f99186eb.zip |
Revert "[Concepts] Constrained partial specializations and function overloads."
This reverts commit d3f5769d5e93b30d4a8b4696381d5e4a304992fa.
Causes crashes on Chromium. Have reproducer, will reduce and send along.
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiate.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiate.cpp | 42 |
1 files changed, 0 insertions, 42 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiate.cpp b/clang/lib/Sema/SemaTemplateInstantiate.cpp index 770c07d41b1..6db8eb3e5ed 100644 --- a/clang/lib/Sema/SemaTemplateInstantiate.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiate.cpp @@ -207,8 +207,6 @@ bool Sema::CodeSynthesisContext::isInstantiationRecord() const { case DefiningSynthesizedFunction: case ExceptionSpecEvaluation: case ConstraintSubstitution: - case ParameterMappingSubstitution: - case ConstraintNormalization: case RewritingOperatorAsSpaceship: return false; @@ -382,22 +380,6 @@ Sema::InstantiatingTemplate::InstantiatingTemplate( PointOfInstantiation, InstantiationRange, Template, nullptr, {}, &DeductionInfo) {} -Sema::InstantiatingTemplate::InstantiatingTemplate( - Sema &SemaRef, SourceLocation PointOfInstantiation, - ConstraintNormalization, NamedDecl *Template, - SourceRange InstantiationRange) - : InstantiatingTemplate( - SemaRef, CodeSynthesisContext::ConstraintNormalization, - PointOfInstantiation, InstantiationRange, Template) {} - -Sema::InstantiatingTemplate::InstantiatingTemplate( - Sema &SemaRef, SourceLocation PointOfInstantiation, - ParameterMappingSubstitution, NamedDecl *Template, - SourceRange InstantiationRange) - : InstantiatingTemplate( - SemaRef, CodeSynthesisContext::ParameterMappingSubstitution, - PointOfInstantiation, InstantiationRange, Template) {} - void Sema::pushCodeSynthesisContext(CodeSynthesisContext Ctx) { Ctx.SavedInNonInstantiationSFINAEContext = InNonInstantiationSFINAEContext; InNonInstantiationSFINAEContext = false; @@ -751,17 +733,6 @@ void Sema::PrintInstantiationStack() { diag::note_constraint_substitution_here) << Active->InstantiationRange; break; - case CodeSynthesisContext::ConstraintNormalization: - Diags.Report(Active->PointOfInstantiation, - diag::note_constraint_normalization_here) - << cast<NamedDecl>(Active->Entity)->getName() - << Active->InstantiationRange; - break; - case CodeSynthesisContext::ParameterMappingSubstitution: - Diags.Report(Active->PointOfInstantiation, - diag::note_parameter_mapping_substitution_here) - << Active->InstantiationRange; - break; } } } @@ -786,8 +757,6 @@ Optional<TemplateDeductionInfo *> Sema::isSFINAEContext() const { case CodeSynthesisContext::DefaultFunctionArgumentInstantiation: case CodeSynthesisContext::ExceptionSpecInstantiation: case CodeSynthesisContext::ConstraintsCheck: - case CodeSynthesisContext::ParameterMappingSubstitution: - case CodeSynthesisContext::ConstraintNormalization: // This is a template instantiation, so there is no SFINAE. return None; @@ -2957,17 +2926,6 @@ Sema::SubstStmt(Stmt *S, const MultiLevelTemplateArgumentList &TemplateArgs) { return Instantiator.TransformStmt(S); } -bool Sema::SubstTemplateArguments( - ArrayRef<TemplateArgumentLoc> Args, - const MultiLevelTemplateArgumentList &TemplateArgs, - TemplateArgumentListInfo &Out) { - TemplateInstantiator Instantiator(*this, TemplateArgs, - SourceLocation(), - DeclarationName()); - return Instantiator.TransformTemplateArguments(Args.begin(), Args.end(), - Out); -} - ExprResult Sema::SubstExpr(Expr *E, const MultiLevelTemplateArgumentList &TemplateArgs) { if (!E) |