@@ -6977,7 +6977,7 @@ void Sema::AddOverloadCandidate(
6977
6977
Candidate.Viable = true;
6978
6978
Candidate.RewriteKind =
6979
6979
CandidateSet.getRewriteInfo().getRewriteKind(Function, PO);
6980
- Candidate.IsADLCandidate = IsADLCandidate;
6980
+ Candidate.IsADLCandidate = llvm::to_underlying( IsADLCandidate) ;
6981
6981
Candidate.ExplicitCallArguments = Args.size();
6982
6982
6983
6983
// Explicit functions are not actually candidates at all if we're not
@@ -7832,7 +7832,7 @@ void Sema::AddTemplateOverloadCandidate(
7832
7832
Candidate.RewriteKind =
7833
7833
CandidateSet.getRewriteInfo().getRewriteKind(Candidate.Function, PO);
7834
7834
Candidate.IsSurrogate = false;
7835
- Candidate.IsADLCandidate = IsADLCandidate;
7835
+ Candidate.IsADLCandidate = llvm::to_underlying( IsADLCandidate) ;
7836
7836
// Ignore the object argument if there is one, since we don't have an object
7837
7837
// type.
7838
7838
Candidate.IgnoreObjectArgument =
@@ -14082,7 +14082,8 @@ static ExprResult FinishOverloadedCallExpr(Sema &SemaRef, Scope *S, Expr *Fn,
14082
14082
return ExprError();
14083
14083
return SemaRef.BuildResolvedCallExpr(
14084
14084
Res.get(), FDecl, LParenLoc, Args, RParenLoc, ExecConfig,
14085
- /*IsExecConfig=*/false, (*Best)->IsADLCandidate);
14085
+ /*IsExecConfig=*/false,
14086
+ static_cast<CallExpr::ADLCallKind>((*Best)->IsADLCandidate));
14086
14087
}
14087
14088
14088
14089
case OR_No_Viable_Function: {
@@ -14156,7 +14157,8 @@ static ExprResult FinishOverloadedCallExpr(Sema &SemaRef, Scope *S, Expr *Fn,
14156
14157
return ExprError();
14157
14158
return SemaRef.BuildResolvedCallExpr(
14158
14159
Res.get(), FDecl, LParenLoc, Args, RParenLoc, ExecConfig,
14159
- /*IsExecConfig=*/false, (*Best)->IsADLCandidate);
14160
+ /*IsExecConfig=*/false,
14161
+ static_cast<CallExpr::ADLCallKind>((*Best)->IsADLCandidate));
14160
14162
}
14161
14163
}
14162
14164
@@ -14438,7 +14440,8 @@ Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc,
14438
14440
Args[0] = Input;
14439
14441
CallExpr *TheCall = CXXOperatorCallExpr::Create(
14440
14442
Context, Op, FnExpr.get(), ArgsArray, ResultTy, VK, OpLoc,
14441
- CurFPFeatureOverrides(), Best->IsADLCandidate);
14443
+ CurFPFeatureOverrides(),
14444
+ static_cast<CallExpr::ADLCallKind>(Best->IsADLCandidate));
14442
14445
14443
14446
if (CheckCallReturnType(FnDecl->getReturnType(), OpLoc, TheCall, FnDecl))
14444
14447
return ExprError();
@@ -14833,7 +14836,8 @@ ExprResult Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
14833
14836
// members; CodeGen should take care not to emit the this pointer.
14834
14837
TheCall = CXXOperatorCallExpr::Create(
14835
14838
Context, ChosenOp, FnExpr.get(), Args, ResultTy, VK, OpLoc,
14836
- CurFPFeatureOverrides(), Best->IsADLCandidate);
14839
+ CurFPFeatureOverrides(),
14840
+ static_cast<CallExpr::ADLCallKind>(Best->IsADLCandidate));
14837
14841
14838
14842
if (const auto *Method = dyn_cast<CXXMethodDecl>(FnDecl);
14839
14843
Method && Method->isImplicitObjectMemberFunction()) {
0 commit comments