[Lldb-commits] [lldb] r328649 - [Core] Correctly handle float division in Scalar.

Davide Italiano via lldb-commits lldb-commits at lists.llvm.org
Tue Mar 27 11:37:54 PDT 2018


Author: davide
Date: Tue Mar 27 11:37:54 2018
New Revision: 328649

URL: http://llvm.org/viewvc/llvm-project?rev=328649&view=rev
Log:
[Core] Correctly handle float division in Scalar.

Patch by Tom Tromey!

Differential Revision:  https://reviews.llvm.org/D44693

Modified:
    lldb/trunk/source/Core/Scalar.cpp
    lldb/trunk/unittests/Core/ScalarTest.cpp

Modified: lldb/trunk/source/Core/Scalar.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Scalar.cpp?rev=328649&r1=328648&r2=328649&view=diff
==============================================================================
--- lldb/trunk/source/Core/Scalar.cpp (original)
+++ lldb/trunk/source/Core/Scalar.cpp Tue Mar 27 11:37:54 2018
@@ -2266,7 +2266,7 @@ const Scalar lldb_private::operator/(con
     case Scalar::e_float:
     case Scalar::e_double:
     case Scalar::e_long_double:
-      if (b->m_float.isZero()) {
+      if (!b->m_float.isZero()) {
         result.m_float = a->m_float / b->m_float;
         return result;
       }

Modified: lldb/trunk/unittests/Core/ScalarTest.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/unittests/Core/ScalarTest.cpp?rev=328649&r1=328648&r2=328649&view=diff
==============================================================================
--- lldb/trunk/unittests/Core/ScalarTest.cpp (original)
+++ lldb/trunk/unittests/Core/ScalarTest.cpp Tue Mar 27 11:37:54 2018
@@ -132,3 +132,11 @@ TEST(ScalarTest, GetValue) {
   EXPECT_EQ(std::to_string(std::numeric_limits<unsigned long long>::max()),
             ScalarGetValue(std::numeric_limits<unsigned long long>::max()));
 }
+
+TEST(ScalarTest, Division) {
+  Scalar lhs(5.0);
+  Scalar rhs(2.0);
+  Scalar r = lhs / rhs;
+  EXPECT_TRUE(r.IsValid());
+  EXPECT_EQ(r, Scalar(2.5));
+}




More information about the lldb-commits mailing list