diff options
author | Chris Lattner <sabre@nondot.org> | 2007-05-06 05:47:36 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-05-06 05:47:36 +0000 |
commit | 957d090ed14460e172b03418341af260c7567cf7 (patch) | |
tree | cfbbaf66492e6397936cb72aa9d99559977f3367 /llvm/tools | |
parent | f6dd4d7fca71f98c8dcedbacc85cfb668b0208a4 (diff) | |
download | bcm5719-llvm-957d090ed14460e172b03418341af260c7567cf7.tar.gz bcm5719-llvm-957d090ed14460e172b03418341af260c7567cf7.zip |
use an auto_ptr to avoid an explicit delete
llvm-svn: 36850
Diffstat (limited to 'llvm/tools')
-rw-r--r-- | llvm/tools/llc/llc.cpp | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/llvm/tools/llc/llc.cpp b/llvm/tools/llc/llc.cpp index fd0109543a1..d96d164e54f 100644 --- a/llvm/tools/llc/llc.cpp +++ b/llvm/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, |