On 6 September 2016 at 05:48, Sean Callanan via lldb-commits <lldb-commits@lists.llvm.org> wrote: > + > + struct Operand > + { > + enum class Type { > + Invalid = 0, > + Register, > + Immediate, > + Dereference, > + Sum, > + Product > + } m_type = Type::Invalid; > + std::vector<const Operand> m_children;
Hi Sean, this broke the build on linux, as libstdc++ fails to instantiate a vector of const objects (I can't say I blame it). I've changed the definition to non-const to make it build. Feel free to change if you see a better way to handle that. > + ValueObjectSP > + GetValueForDereferincingOffset(StackFrame &frame, ValueObjectSP &base, > int64_t offset) > + { > + // base is a pointer to something > + // offset is the thing to add to the pointer > + // We return the most sensible ValueObject for the result of > *(base+offset) > + > + if (!base->IsPointerOrReferenceType()) > + { > + return ValueObjectSP(); > + } > + > + Error error; > + ValueObjectSP pointee = base->Dereference(error); > + > + if (offset >= pointee->GetByteSize()) I also noticed that the compiler is emitting a warning about comparison of integers with different signs. Based on a cursory examination I think this could be a genuine problem, but I have no idea how to fix it. It would be great if you could look into that. regards, pavel _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits