[Reproducers] Capture return values of functions returning by ptr/ref

For some reason I had convinced myself that functions returning by
pointer or reference do not require recording their result. However,
after further considering I don't see how that could work, at least not
with the current implementation. Interestingly enough, the reproducer
instrumentation already (mostly) accounts for this, though the
lldb-instr tool did not.

This patch adds the missing macros and updates the lldb-instr tool.

Differential revision: https://reviews.llvm.org/D60178

llvm-svn: 357639
This commit is contained in:
Jonas Devlieghere
2019-04-03 21:31:22 +00:00
parent 7c711ccf36
commit 306809f292
64 changed files with 203 additions and 93 deletions

View File

@@ -82,7 +82,7 @@ const lldb::SBThreadPlan &SBThreadPlan::operator=(const SBThreadPlan &rhs) {
if (this != &rhs)
m_opaque_sp = rhs.m_opaque_sp;
return *this;
return LLDB_RECORD_RESULT(*this);
}
//----------------------------------------------------------------------
// Destructor
@@ -92,7 +92,7 @@ SBThreadPlan::~SBThreadPlan() {}
lldb_private::ThreadPlan *SBThreadPlan::get() {
LLDB_RECORD_METHOD_NO_ARGS(lldb_private::ThreadPlan *, SBThreadPlan, get);
return m_opaque_sp.get();
return LLDB_RECORD_RESULT(m_opaque_sp.get());
}
bool SBThreadPlan::IsValid() const {