Author: leonardchan Date: Mon Aug 6 10:55:38 2018 New Revision: 339037 URL: http://llvm.org/viewvc/llvm-project?rev=339037&view=rev Log: Fix for failing test from sanitizer-x86_64-linux-fast where there was a left shift on a negative value.
Modified: cfe/trunk/unittests/Basic/FixedPointTest.cpp Modified: cfe/trunk/unittests/Basic/FixedPointTest.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Basic/FixedPointTest.cpp?rev=339037&r1=339036&r2=339037&view=diff ============================================================================== --- cfe/trunk/unittests/Basic/FixedPointTest.cpp (original) +++ cfe/trunk/unittests/Basic/FixedPointTest.cpp Mon Aug 6 10:55:38 2018 @@ -364,12 +364,19 @@ TEST(FixedPoint, compare) { void CheckUnsaturatedConversion(FixedPointSemantics Src, FixedPointSemantics Dst, int64_t TestVal) { int64_t ScaledVal = TestVal; + bool IsNegative = ScaledVal < 0; + if (IsNegative) + ScaledVal = -ScaledVal; + if (Dst.getScale() > Src.getScale()) { ScaledVal <<= (Dst.getScale() - Src.getScale()); } else { ScaledVal >>= (Src.getScale() - Dst.getScale()); } + if (IsNegative) + ScaledVal = -ScaledVal; + APFixedPoint Fixed(TestVal, Src); APFixedPoint Expected(ScaledVal, Dst); ASSERT_EQ(Fixed.convert(Dst), Expected); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits