diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp index f5aecfb7fdae..e3e5e9dbdc62 100644 --- a/clang/lib/AST/Expr.cpp +++ b/clang/lib/AST/Expr.cpp @@ -4487,8 +4487,8 @@ BinaryOperator::BinaryOperator(const ASTContext &Ctx, Expr *lhs, Expr *rhs, SubExprs[LHS] = lhs; SubExprs[RHS] = rhs; BinaryOperatorBits.HasFPFeatures = FPFeatures.requiresTrailingStorage(); - if (BinaryOperatorBits.HasFPFeatures) - *getTrailingFPFeatures() = FPFeatures; + if (hasStoredFPFeatures()) + setStoredFPFeatures(FPFeatures); setDependence(computeDependence(this)); } @@ -4504,8 +4504,8 @@ BinaryOperator::BinaryOperator(const ASTContext &Ctx, Expr *lhs, Expr *rhs, SubExprs[LHS] = lhs; SubExprs[RHS] = rhs; BinaryOperatorBits.HasFPFeatures = FPFeatures.requiresTrailingStorage(); - if (BinaryOperatorBits.HasFPFeatures) - *getTrailingFPFeatures() = FPFeatures; + if (hasStoredFPFeatures()) + setStoredFPFeatures(FPFeatures); setDependence(computeDependence(this)); }