@@ -12975,7 +12975,7 @@ Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc,
1297512975 /*ADL*/ true, IsOverloaded(Fns), Fns.begin(), Fns.end());
1297612976 return CXXOperatorCallExpr::Create(Context, Op, Fn, ArgsArray,
1297712977 Context.DependentTy, VK_RValue, OpLoc,
12978- FPFeatures );
12978+ CurFPFeatures );
1297912979 }
1298012980
1298112981 // Build an empty overload set.
@@ -13048,8 +13048,8 @@ Sema::CreateOverloadedUnaryOp(SourceLocation OpLoc, UnaryOperatorKind Opc,
1304813048
1304913049 Args[0] = Input;
1305013050 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);
1305313053
1305413054 if (CheckCallReturnType(FnDecl->getReturnType(), OpLoc, TheCall, FnDecl))
1305513055 return ExprError();
@@ -13220,10 +13220,10 @@ ExprResult Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
1322013220 if (Opc <= BO_Assign || Opc > BO_OrAssign)
1322113221 return BinaryOperator::Create(Context, Args[0], Args[1], Opc,
1322213222 Context.DependentTy, VK_RValue,
13223- OK_Ordinary, OpLoc, FPFeatures );
13223+ OK_Ordinary, OpLoc, CurFPFeatures );
1322413224 return CompoundAssignOperator::Create(
1322513225 Context, Args[0], Args[1], Opc, Context.DependentTy, VK_LValue,
13226- OK_Ordinary, OpLoc, FPFeatures , Context.DependentTy,
13226+ OK_Ordinary, OpLoc, CurFPFeatures , Context.DependentTy,
1322713227 Context.DependentTy);
1322813228 }
1322913229
@@ -13237,7 +13237,7 @@ ExprResult Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
1323713237 /*ADL*/ PerformADL, IsOverloaded(Fns), Fns.begin(), Fns.end());
1323813238 return CXXOperatorCallExpr::Create(Context, Op, Fn, Args,
1323913239 Context.DependentTy, VK_RValue, OpLoc,
13240- FPFeatures );
13240+ CurFPFeatures );
1324113241 }
1324213242
1324313243 // Always do placeholder-like conversions on the RHS.
@@ -13406,7 +13406,7 @@ ExprResult Sema::CreateOverloadedBinOp(SourceLocation OpLoc,
1340613406
1340713407 CXXOperatorCallExpr *TheCall = CXXOperatorCallExpr::Create(
1340813408 Context, ChosenOp, FnExpr.get(), Args, ResultTy, VK, OpLoc,
13409- FPFeatures , Best->IsADLCandidate);
13409+ CurFPFeatures , Best->IsADLCandidate);
1341013410
1341113411 if (CheckCallReturnType(FnDecl->getReturnType(), OpLoc, TheCall,
1341213412 FnDecl))
@@ -13674,7 +13674,7 @@ ExprResult Sema::BuildSynthesizedThreeWayComparison(
1367413674 Expr *SyntacticForm = BinaryOperator::Create(
1367513675 Context, OrigLHS, OrigRHS, BO_Cmp, Result.get()->getType(),
1367613676 Result.get()->getValueKind(), Result.get()->getObjectKind(), OpLoc,
13677- FPFeatures );
13677+ CurFPFeatures );
1367813678 Expr *SemanticForm[] = {LHS, RHS, Result.get()};
1367913679 return PseudoObjectExpr::Create(Context, SyntacticForm, SemanticForm, 2);
1368013680}
@@ -13705,7 +13705,7 @@ Sema::CreateOverloadedArraySubscriptExpr(SourceLocation LLoc,
1370513705
1370613706 return CXXOperatorCallExpr::Create(Context, OO_Subscript, Fn, Args,
1370713707 Context.DependentTy, VK_RValue, RLoc,
13708- FPFeatures );
13708+ CurFPFeatures );
1370913709 }
1371013710
1371113711 // Handle placeholders on both operands.
@@ -13780,7 +13780,7 @@ Sema::CreateOverloadedArraySubscriptExpr(SourceLocation LLoc,
1378013780
1378113781 CXXOperatorCallExpr *TheCall =
1378213782 CXXOperatorCallExpr::Create(Context, OO_Subscript, FnExpr.get(),
13783- Args, ResultTy, VK, RLoc, FPFeatures );
13783+ Args, ResultTy, VK, RLoc, CurFPFeatures );
1378413784 if (CheckCallReturnType(FnDecl->getReturnType(), LLoc, TheCall, FnDecl))
1378513785 return ExprError();
1378613786
@@ -14403,7 +14403,7 @@ Sema::BuildCallToObjectOfClassType(Scope *S, Expr *Obj,
1440314403
1440414404 CXXOperatorCallExpr *TheCall =
1440514405 CXXOperatorCallExpr::Create(Context, OO_Call, NewFn.get(), MethodArgs,
14406- ResultTy, VK, RParenLoc, FPFeatures );
14406+ ResultTy, VK, RParenLoc, CurFPFeatures );
1440714407
1440814408 if (CheckCallReturnType(Method->getReturnType(), LParenLoc, TheCall, Method))
1440914409 return true;
@@ -14520,7 +14520,7 @@ Sema::BuildOverloadedArrowExpr(Scope *S, Expr *Base, SourceLocation OpLoc,
1452014520 ExprValueKind VK = Expr::getValueKindForType(ResultTy);
1452114521 ResultTy = ResultTy.getNonLValueExprType(Context);
1452214522 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 );
1452414524
1452514525 if (CheckCallReturnType(Method->getReturnType(), OpLoc, TheCall, Method))
1452614526 return ExprError();
0 commit comments