summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-05-06 05:47:36 +0000
committerChris Lattner <sabre@nondot.org>2007-05-06 05:47:36 +0000
commitdb9cbeb2408ecfe97a2e0065492b1f37caf377ad (patch)
tree1d25f20e5a8bd2a55e163ca536c67241f3496c2f /tools
parent03b696376219945d67caffda1995d12e3410f05b (diff)
downloadllvm-db9cbeb2408ecfe97a2e0065492b1f37caf377ad.tar.gz
llvm-db9cbeb2408ecfe97a2e0065492b1f37caf377ad.tar.bz2
llvm-db9cbeb2408ecfe97a2e0065492b1f37caf377ad.tar.xz
use an auto_ptr to avoid an explicit delete
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36850 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/llc/llc.cpp12
1 files changed, 5 insertions, 7 deletions
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index fd0109543a..d96d164e54 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -184,14 +184,12 @@ int main(int argc, char **argv) {
std::auto_ptr<Module> M;
if (Bitcode) {
- MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(&InputFilename[0],
- InputFilename.size());
- if (Buffer == 0)
- ErrorMessage = "Error reading file '" + InputFilename + "'";
+ std::auto_ptr<MemoryBuffer> Buffer(
+ MemoryBuffer::getFileOrSTDIN(&InputFilename[0], InputFilename.size()));
+ if (Buffer.get())
+ M.reset(ParseBitcodeFile(Buffer.get(), &ErrorMessage));
else
- M.reset(ParseBitcodeFile(Buffer, &ErrorMessage));
- delete Buffer;
-
+ ErrorMessage = "Error reading file '" + InputFilename + "'";
} else {
M.reset(ParseBytecodeFile(InputFilename,
Compressor::decompressToNewBuffer,