diff options
Diffstat (limited to 'clang/lib/Sema/SemaOverload.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaOverload.cpp | 6 |
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, |
