[Lldb-commits] [lldb] r166618 - in /lldb/trunk/source: API/SBValue.cpp Core/Scalar.cpp Core/ValueObject.cpp

Enrico Granata egranata at apple.com
Wed Oct 24 13:24:39 PDT 2012


Author: enrico
Date: Wed Oct 24 15:24:39 2012
New Revision: 166618

URL: http://llvm.org/viewvc/llvm-project?rev=166618&view=rev
Log:
Reimplementing SBValue/ValueObject.GetValueAsUnsigned() in terms of appropriate calls in Scalar - Making sure Scalar does the right thing when casting signed values to unsigned ones.

Modified:
    lldb/trunk/source/API/SBValue.cpp
    lldb/trunk/source/Core/Scalar.cpp
    lldb/trunk/source/Core/ValueObject.cpp

Modified: lldb/trunk/source/API/SBValue.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/API/SBValue.cpp?rev=166618&r1=166617&r2=166618&view=diff
==============================================================================
--- lldb/trunk/source/API/SBValue.cpp (original)
+++ lldb/trunk/source/API/SBValue.cpp Wed Oct 24 15:24:39 2012
@@ -1284,7 +1284,7 @@
                 Mutex::Locker api_locker (target_sp->GetAPIMutex());
                 Scalar scalar;
                 if (value_sp->ResolveValue (scalar))
-                    return scalar.GetRawBits64(fail_value);
+                    return scalar.ULongLong(fail_value);
                 else
                     error.SetErrorString("could not get value");
             }
@@ -1347,7 +1347,7 @@
                 Mutex::Locker api_locker (target_sp->GetAPIMutex());
                 Scalar scalar;
                 if (value_sp->ResolveValue (scalar))
-                    return scalar.GetRawBits64(fail_value);
+                    return scalar.ULongLong(fail_value);
             }
         }
     }

Modified: lldb/trunk/source/Core/Scalar.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/Scalar.cpp?rev=166618&r1=166617&r2=166618&view=diff
==============================================================================
--- lldb/trunk/source/Core/Scalar.cpp (original)
+++ lldb/trunk/source/Core/Scalar.cpp Wed Oct 24 15:24:39 2012
@@ -765,11 +765,11 @@
     {
     default:
     case e_void:        break;
-    case e_sint:        return (unsigned int)m_data.sint;
+    case e_sint:         
     case e_uint:        return (unsigned int)m_data.uint;
-    case e_slong:       return (unsigned int)m_data.slong;
+    case e_slong:        
     case e_ulong:       return (unsigned int)m_data.ulong;
-    case e_slonglong:   return (unsigned int)m_data.slonglong;
+    case e_slonglong:    
     case e_ulonglong:   return (unsigned int)m_data.ulonglong;
     case e_float:       return (unsigned int)m_data.flt;
     case e_double:      return (unsigned int)m_data.dbl;
@@ -808,11 +808,11 @@
     {
     default:
     case e_void:        break;
-    case e_sint:        return (unsigned long)m_data.sint;
+    case e_sint:         
     case e_uint:        return (unsigned long)m_data.uint;
-    case e_slong:       return (unsigned long)m_data.slong;
+    case e_slong:        
     case e_ulong:       return (unsigned long)m_data.ulong;
-    case e_slonglong:   return (unsigned long)m_data.slonglong;
+    case e_slonglong:    
     case e_ulonglong:   return (unsigned long)m_data.ulonglong;
     case e_float:       return (unsigned long)m_data.flt;
     case e_double:      return (unsigned long)m_data.dbl;
@@ -902,11 +902,11 @@
     {
     default:
     case e_void:        break;
-    case e_sint:        return (unsigned long long)m_data.sint;
+    case e_sint:        
     case e_uint:        return (unsigned long long)m_data.uint;
-    case e_slong:       return (unsigned long long)m_data.slong;
+    case e_slong:       
     case e_ulong:       return (unsigned long long)m_data.ulong;
-    case e_slonglong:   return (unsigned long long)m_data.slonglong;
+    case e_slonglong:   
     case e_ulonglong:   return (unsigned long long)m_data.ulonglong;
     case e_float:       return (unsigned long long)m_data.flt;
     case e_double:      return (unsigned long long)m_data.dbl;

Modified: lldb/trunk/source/Core/ValueObject.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/ValueObject.cpp?rev=166618&r1=166617&r2=166618&view=diff
==============================================================================
--- lldb/trunk/source/Core/ValueObject.cpp (original)
+++ lldb/trunk/source/Core/ValueObject.cpp Wed Oct 24 15:24:39 2012
@@ -1294,7 +1294,7 @@
         {
             if (success)
                 *success = true;
-            return scalar.GetRawBits64(fail_value);
+            return scalar.ULongLong(fail_value);
         }
         // fallthrough, otherwise...
     }
@@ -1681,7 +1681,7 @@
                     Process *process = exe_ctx.GetProcessPtr();
                     if (process)
                     {
-                        addr_t target_addr = m_value.GetScalar().GetRawBits64(LLDB_INVALID_ADDRESS);
+                        addr_t target_addr = m_value.GetScalar().ULongLong(LLDB_INVALID_ADDRESS);
                         size_t bytes_written = process->WriteScalarToMemory (target_addr, 
                                                                              new_scalar, 
                                                                              byte_size, 





More information about the lldb-commits mailing list