@@ -12975,7 +12975,7 @@ Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc,
12975
12975
/*ADL*/ true, IsOverloaded(Fns), Fns.begin(), Fns.end());
12976
12976
return CXXOperatorCallExpr::Create(Context, Op, Fn, ArgsArray,
12977
12977
Context.DependentTy, VK_RValue, OpLoc,
12978
- FPFeatures );
12978
+ CurFPFeatures );
12979
12979
}
12980
12980
12981
12981
// Build an empty overload set.
@@ -13048,8 +13048,8 @@ Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc,
13048
13048
13049
13049
Args[0] = Input;
13050
13050
CallExpr *TheCall = CXXOperatorCallExpr::Create(
13051
- Context, Op, FnExpr.get(), ArgsArray, ResultTy, VK, OpLoc, FPFeatures,
13052
- Best->IsADLCandidate);
13051
+ Context, Op, FnExpr.get(), ArgsArray, ResultTy, VK, OpLoc,
13052
+ CurFPFeatures, Best->IsADLCandidate);
13053
13053
13054
13054
if (CheckCallReturnType(FnDecl->getReturnType(), OpLoc, TheCall, FnDecl))
13055
13055
return ExprError();
@@ -13220,10 +13220,10 @@ ExprResult Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
13220
13220
if (Opc <= BO_Assign || Opc > BO_OrAssign)
13221
13221
return BinaryOperator::Create(Context, Args[0], Args[1], Opc,
13222
13222
Context.DependentTy, VK_RValue,
13223
- OK_Ordinary, OpLoc, FPFeatures );
13223
+ OK_Ordinary, OpLoc, CurFPFeatures );
13224
13224
return CompoundAssignOperator::Create(
13225
13225
Context, Args[0], Args[1], Opc, Context.DependentTy, VK_LValue,
13226
- OK_Ordinary, OpLoc, FPFeatures , Context.DependentTy,
13226
+ OK_Ordinary, OpLoc, CurFPFeatures , Context.DependentTy,
13227
13227
Context.DependentTy);
13228
13228
}
13229
13229
@@ -13237,7 +13237,7 @@ ExprResult Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
13237
13237
/*ADL*/ PerformADL, IsOverloaded(Fns), Fns.begin(), Fns.end());
13238
13238
return CXXOperatorCallExpr::Create(Context, Op, Fn, Args,
13239
13239
Context.DependentTy, VK_RValue, OpLoc,
13240
- FPFeatures );
13240
+ CurFPFeatures );
13241
13241
}
13242
13242
13243
13243
// Always do placeholder-like conversions on the RHS.
@@ -13406,7 +13406,7 @@ ExprResult Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
13406
13406
13407
13407
CXXOperatorCallExpr *TheCall = CXXOperatorCallExpr::Create(
13408
13408
Context, ChosenOp, FnExpr.get(), Args, ResultTy, VK, OpLoc,
13409
- FPFeatures , Best->IsADLCandidate);
13409
+ CurFPFeatures , Best->IsADLCandidate);
13410
13410
13411
13411
if (CheckCallReturnType(FnDecl->getReturnType(), OpLoc, TheCall,
13412
13412
FnDecl))
@@ -13674,7 +13674,7 @@ ExprResult Sema::BuildSynthesizedThreeWayComparison(
13674
13674
Expr *SyntacticForm = BinaryOperator::Create(
13675
13675
Context, OrigLHS, OrigRHS, BO_Cmp, Result.get()->getType(),
13676
13676
Result.get()->getValueKind(), Result.get()->getObjectKind(), OpLoc,
13677
- FPFeatures );
13677
+ CurFPFeatures );
13678
13678
Expr *SemanticForm[] = {LHS, RHS, Result.get()};
13679
13679
return PseudoObjectExpr::Create(Context, SyntacticForm, SemanticForm, 2);
13680
13680
}
@@ -13705,7 +13705,7 @@ Sema::CreateOverloadedArraySubscriptExpr(SourceLocation LLoc,
13705
13705
13706
13706
return CXXOperatorCallExpr::Create(Context, OO_Subscript, Fn, Args,
13707
13707
Context.DependentTy, VK_RValue, RLoc,
13708
- FPFeatures );
13708
+ CurFPFeatures );
13709
13709
}
13710
13710
13711
13711
// Handle placeholders on both operands.
@@ -13780,7 +13780,7 @@ Sema::CreateOverloadedArraySubscriptExpr(SourceLocation LLoc,
13780
13780
13781
13781
CXXOperatorCallExpr *TheCall =
13782
13782
CXXOperatorCallExpr::Create(Context, OO_Subscript, FnExpr.get(),
13783
- Args, ResultTy, VK, RLoc, FPFeatures );
13783
+ Args, ResultTy, VK, RLoc, CurFPFeatures );
13784
13784
if (CheckCallReturnType(FnDecl->getReturnType(), LLoc, TheCall, FnDecl))
13785
13785
return ExprError();
13786
13786
@@ -14403,7 +14403,7 @@ Sema::BuildCallToObjectOfClassType(Scope *S, Expr *Obj,
14403
14403
14404
14404
CXXOperatorCallExpr *TheCall =
14405
14405
CXXOperatorCallExpr::Create(Context, OO_Call, NewFn.get(), MethodArgs,
14406
- ResultTy, VK, RParenLoc, FPFeatures );
14406
+ ResultTy, VK, RParenLoc, CurFPFeatures );
14407
14407
14408
14408
if (CheckCallReturnType(Method->getReturnType(), LParenLoc, TheCall, Method))
14409
14409
return true;
@@ -14520,7 +14520,7 @@ Sema::BuildOverloadedArrowExpr(Scope *S, Expr *Base, SourceLocation OpLoc,
14520
14520
ExprValueKind VK = Expr::getValueKindForType(ResultTy);
14521
14521
ResultTy = ResultTy.getNonLValueExprType(Context);
14522
14522
CXXOperatorCallExpr *TheCall = CXXOperatorCallExpr::Create(
14523
- Context, OO_Arrow, FnExpr.get(), Base, ResultTy, VK, OpLoc, FPFeatures );
14523
+ Context, OO_Arrow, FnExpr.get(), Base, ResultTy, VK, OpLoc, CurFPFeatures );
14524
14524
14525
14525
if (CheckCallReturnType(Method->getReturnType(), OpLoc, TheCall, Method))
14526
14526
return ExprError();
0 commit comments