diff --git a/clang/lib/AST/Interp/Floating.h b/clang/lib/AST/Interp/Floating.h index 90f8c1f8d4ad0..85876236a9998 100644 --- a/clang/lib/AST/Interp/Floating.h +++ b/clang/lib/AST/Interp/Floating.h @@ -105,8 +105,8 @@ class Floating final { // ------- - static APFloat::opStatus add(Floating A, Floating B, llvm::RoundingMode RM, - Floating *R) { + static APFloat::opStatus add(const Floating &A, const Floating &B, + llvm::RoundingMode RM, Floating *R) { *R = Floating(A.F); return R->F.add(B.F, RM); } @@ -118,8 +118,8 @@ class Floating final { return R->F.add(One, RM); } - static APFloat::opStatus sub(Floating A, Floating B, llvm::RoundingMode RM, - Floating *R) { + static APFloat::opStatus sub(const Floating &A, const Floating &B, + llvm::RoundingMode RM, Floating *R) { *R = Floating(A.F); return R->F.subtract(B.F, RM); } @@ -131,19 +131,19 @@ class Floating final { return R->F.subtract(One, RM); } - static APFloat::opStatus mul(Floating A, Floating B, llvm::RoundingMode RM, - Floating *R) { + static APFloat::opStatus mul(const Floating &A, const Floating &B, + llvm::RoundingMode RM, Floating *R) { *R = Floating(A.F); return R->F.multiply(B.F, RM); } - static APFloat::opStatus div(Floating A, Floating B, llvm::RoundingMode RM, - Floating *R) { + static APFloat::opStatus div(const Floating &A, const Floating &B, + llvm::RoundingMode RM, Floating *R) { *R = Floating(A.F); return R->F.divide(B.F, RM); } - static bool neg(Floating A, Floating *R) { + static bool neg(const Floating &A, Floating *R) { *R = -A; return false; }