Author: abidh Date: Thu Jun 1 05:33:13 2017 New Revision: 304400 URL: http://llvm.org/viewvc/llvm-project?rev=304400&view=rev Log: Fix a small issue with -var-update.
If the variable was a pointer, code was ignoring the change in the pointee. Discussed in http://lists.llvm.org/pipermail/lldb-dev/2017-May/012435.html Modified: lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp Modified: lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp?rev=304400&r1=304399&r2=304400&view=diff ============================================================================== --- lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp (original) +++ lldb/trunk/tools/lldb-mi/MICmdCmdVar.cpp Thu Jun 1 05:33:13 2017 @@ -510,22 +510,20 @@ bool CMICmdCmdVarUpdate::ExamineSBValueF } lldb::SBType valueType = vrwValue.GetType(); - if (!valueType.IsPointerType() && !valueType.IsReferenceType()) { - const MIuint nChildren = vrwValue.GetNumChildren(); - for (MIuint i = 0; i < nChildren; ++i) { - lldb::SBValue member = vrwValue.GetChildAtIndex(i); - if (!member.IsValid()) - continue; - if (member.GetValueDidChange()) { - vrwbChanged = true; - return MIstatus::success; - } else if (ExamineSBValueForChange(member, vrwbChanged) && vrwbChanged) - // Handle composite types (i.e. struct or arrays) - return MIstatus::success; - } - } + const MIuint nChildren = vrwValue.GetNumChildren(); + for (MIuint i = 0; i < nChildren; ++i) { + lldb::SBValue member = vrwValue.GetChildAtIndex(i); + if (!member.IsValid()) + continue; + if (member.GetValueDidChange()) { + vrwbChanged = true; + return MIstatus::success; + } else if (ExamineSBValueForChange(member, vrwbChanged) && vrwbChanged) + // Handle composite types (i.e. struct or arrays) + return MIstatus::success; + } vrwbChanged = false; return MIstatus::success; } _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits