From 306809f292c9dd26e1a901b139f65976cdd5a4b2 Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Wed, 3 Apr 2019 21:31:22 +0000 Subject: [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 --- lldb/source/API/SBThread.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'lldb/source/API/SBThread.cpp') diff --git a/lldb/source/API/SBThread.cpp b/lldb/source/API/SBThread.cpp index 0e6d510fcbd..978f2929f17 100644 --- a/lldb/source/API/SBThread.cpp +++ b/lldb/source/API/SBThread.cpp @@ -84,7 +84,7 @@ const lldb::SBThread &SBThread::operator=(const SBThread &rhs) { if (this != &rhs) m_opaque_sp = clone(rhs.m_opaque_sp); - return *this; + return LLDB_RECORD_RESULT(*this); } //---------------------------------------------------------------------- @@ -1402,9 +1402,8 @@ lldb_private::Thread *SBThread::operator->() { ThreadSP thread_sp(m_opaque_sp->GetThreadSP()); if (thread_sp) - return thread_sp.get(); - else - return NULL; + return LLDB_RECORD_RESULT(thread_sp.get()); + return nullptr; } lldb_private::Thread *SBThread::get() { @@ -1412,9 +1411,8 @@ lldb_private::Thread *SBThread::get() { ThreadSP thread_sp(m_opaque_sp->GetThreadSP()); if (thread_sp) - return thread_sp.get(); - else - return NULL; + return LLDB_RECORD_RESULT(thread_sp.get()); + return nullptr; } namespace lldb_private { -- cgit v1.2.3