[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