diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-23 21:53:12 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-06-23 21:53:12 +0000 |
commit | 1f659329b63aa1d1af2b2bfc8b174a8ccdaba2c0 (patch) | |
tree | dc64a751796af7cd61a83b0cb8a8d8ca3145a95c /tools/llvm-nm | |
parent | 7e7e89f17819d30703543375120dff52d5aaa414 (diff) | |
download | llvm-1f659329b63aa1d1af2b2bfc8b174a8ccdaba2c0.tar.gz llvm-1f659329b63aa1d1af2b2bfc8b174a8ccdaba2c0.tar.bz2 llvm-1f659329b63aa1d1af2b2bfc8b174a8ccdaba2c0.tar.xz |
Make ObjectFile and BitcodeReader always own the MemoryBuffer.
This allows us to just use a std::unique_ptr to store the pointer to the buffer.
The flip side is that they have to support releasing the buffer back to the
caller.
Overall this looks like a more efficient and less brittle api.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211542 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-nm')
-rw-r--r-- | tools/llvm-nm/llvm-nm.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp index aeb7ba1072..fef3d5cbea 100644 --- a/tools/llvm-nm/llvm-nm.cpp +++ b/tools/llvm-nm/llvm-nm.cpp @@ -726,9 +726,10 @@ static void dumpSymbolNamesFromFile(std::string &Filename) { return; LLVMContext &Context = getGlobalContext(); - ErrorOr<Binary *> BinaryOrErr = createBinary(Buffer.release(), &Context); + ErrorOr<Binary *> BinaryOrErr = createBinary(Buffer.get(), &Context); if (error(BinaryOrErr.getError(), Filename)) return; + Buffer.release(); std::unique_ptr<Binary> Bin(BinaryOrErr.get()); if (Archive *A = dyn_cast<Archive>(Bin.get())) { |