Author: ki.stfu
Date: Thu Apr 9 07:21:56 2015
New Revision: 234480
URL: http://llvm.org/viewvc/llvm-project?rev=234480&view=rev
Log:
Fix MiGdbSetShowTestCase.test_lldbmi_gdb_set_ouptut_radix after r234476
This includes:
* Add CMICmnLLDBUtilSBValue::IsIntegerType to check integer type
* Improve CMICmnLLDBDebugSessionInfoVarObj::GetValueStringFormatted to handle
veVarFormat arg
Modified:
lldb/trunk/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp
lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp
lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.h
Modified: lldb/trunk/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp?rev=234480&r1=234479&r2=234480&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp (original)
+++ lldb/trunk/tools/lldb-mi/MICmnLLDBDebugSessionInfoVarObj.cpp Thu Apr 9
07:21:56 2015
@@ -275,6 +275,16 @@ CMICmnLLDBDebugSessionInfoVarObj::GetVal
const
CMICmnLLDBDebugSessionInfoVarObj::varFormat_e veVarFormat)
{
const CMICmnLLDBUtilSBValue utilValue(vrValue, true);
+ if (utilValue.IsIntegerType())
+ {
+ MIuint64 nValue = 0;
+ if (CMICmnLLDBProxySBValue::GetValueAsUnsigned(vrValue, nValue))
+ {
+ lldb::SBValue &rValue = const_cast<lldb::SBValue &>(vrValue);
+ return GetStringFormatted(nValue, rValue.GetValue(), veVarFormat);
+ }
+ }
+
return utilValue.GetValue().Escape().AddSlashes();
}
Modified: lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp?rev=234480&r1=234479&r2=234480&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp (original)
+++ lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.cpp Thu Apr 9 07:21:56 2015
@@ -261,6 +261,25 @@ CMICmnLLDBUtilSBValue::IsFirstChildCharT
}
//++
------------------------------------------------------------------------------------
+// Details: Retrieve the flag stating whether this value object is a integer
type or some
+// other type. Char type can be signed or unsigned and short or
long/very long.
+// Type: Method.
+// Args: None.
+// Return: bool - True = Yes is a integer type, false = some other type.
+// Throws: None.
+//--
+bool
+CMICmnLLDBUtilSBValue::IsIntegerType(void) const
+{
+ const lldb::BasicType eType = m_rValue.GetType().GetBasicType();
+ return ((eType == lldb::eBasicTypeShort) || (eType ==
lldb::eBasicTypeUnsignedShort) ||
+ (eType == lldb::eBasicTypeInt) || (eType ==
lldb::eBasicTypeUnsignedInt) ||
+ (eType == lldb::eBasicTypeLong) || (eType ==
lldb::eBasicTypeUnsignedLong) ||
+ (eType == lldb::eBasicTypeLongLong) || (eType ==
lldb::eBasicTypeUnsignedLongLong) ||
+ (eType == lldb::eBasicTypeInt128) || (eType ==
lldb::eBasicTypeUnsignedInt128));
+}
+
+//++
------------------------------------------------------------------------------------
// Details: Retrieve the flag stating whether this value object is a pointer
type or some
// other type.
// Type: Method.
Modified: lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.h
URL:
http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.h?rev=234480&r1=234479&r2=234480&view=diff
==============================================================================
--- lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.h (original)
+++ lldb/trunk/tools/lldb-mi/MICmnLLDBUtilSBValue.h Thu Apr 9 07:21:56 2015
@@ -42,6 +42,7 @@ class CMICmnLLDBUtilSBValue
CMIUtilString GetTypeNameDisplay(void) const;
bool IsCharType(void) const;
bool IsFirstChildCharType(void) const;
+ bool IsIntegerType(void) const;
bool IsPointerType(void) const;
bool IsArrayType(void) const;
bool IsLLDBVariable(void) const;
_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits