summaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaOverload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
-rw-r--r--clang/lib/Sema/SemaOverload.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index 861b0a91240b..bfa417719ef8 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -13534,6 +13534,9 @@ static void AddOverloadedCallCandidate(Sema &S,
if (!isa<FunctionProtoType>(Func->getType()->getAs<FunctionType>()))
return;
+ EnterExpressionEvaluationContext Eval(S,
+ S.currentEvaluationContext().Context,
+ /*ContextDecl=*/Func);
S.AddOverloadCandidate(Func, FoundDecl, Args, CandidateSet,
/*SuppressUserConversions=*/false,
PartialOverloading);
@@ -13542,6 +13545,9 @@ static void AddOverloadedCallCandidate(Sema &S,
if (FunctionTemplateDecl *FuncTemplate
= dyn_cast<FunctionTemplateDecl>(Callee)) {
+ EnterExpressionEvaluationContext Eval(
+ S, S.currentEvaluationContext().Context,
+ /*ContextDecl=*/FuncTemplate->getTemplatedDecl());
S.AddTemplateOverloadCandidate(FuncTemplate, FoundDecl,
ExplicitTemplateArgs, Args, CandidateSet,
/*SuppressUserConversions=*/false,