From 77fc4c146f0870ffb09c1afb823ccbe742c5e6ff Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Sat, 25 Dec 2021 23:30:44 +0100 Subject: Vendor import of llvm-project main llvmorg-14-init-13186-g0c553cc1af2e. --- lldb/source/API/SBData.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lldb/source/API/SBData.cpp') diff --git a/lldb/source/API/SBData.cpp b/lldb/source/API/SBData.cpp index daf313ad55c9..9fc590578bce 100644 --- a/lldb/source/API/SBData.cpp +++ b/lldb/source/API/SBData.cpp @@ -374,6 +374,25 @@ void SBData::SetData(lldb::SBError &error, const void *buf, size_t size, } } +void SBData::SetDataWithOwnership(lldb::SBError &error, const void *buf, + size_t size, lldb::ByteOrder endian, + uint8_t addr_size) { + LLDB_RECORD_DUMMY( + void, SBData, SetData, + (lldb::SBError &, const void *, size_t, lldb::ByteOrder, uint8_t, bool), + error, buf, size, endian, addr_size, copy); + + lldb::DataBufferSP buffer_sp = std::make_shared(buf, size); + + if (!m_opaque_sp.get()) + m_opaque_sp = std::make_shared(buf, size, endian, addr_size); + else { + m_opaque_sp->SetData(buffer_sp); + m_opaque_sp->SetByteOrder(endian); + m_opaque_sp->SetAddressByteSize(addr_size); + } +} + bool SBData::Append(const SBData &rhs) { LLDB_RECORD_METHOD(bool, SBData, Append, (const lldb::SBData &), rhs); -- cgit v1.3