use an auto_ptr to avoid an explicit delete
authorChris Lattner <sabre@nondot.org>
Sun, 6 May 2007 05:47:36 +0000 (05:47 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 6 May 2007 05:47:36 +0000 (05:47 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36850 91177308-0d34-0410-b5e6-96231b3b80d8

tools/llc/llc.cpp

index fd0109543a171624904cc75093284bb2e1c1f255..d96d164e54f1395a93f836a0aefa8d754d12e42d 100644 (file)
@@ -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,