Fix register printing in disassembling of push/pop of segment registers and in/out...
[oota-llvm.git] / tools / llvm-prof / llvm-prof.cpp
index aa9cf004c74cedb09664fc94abebd6529e375bcc..9d0b46833befa606f2ad581f61e849bc3bdfceb4 100644 (file)
@@ -264,11 +264,11 @@ int main(int argc, char **argv) {
 
   // Read in the bitcode file...
   std::string ErrorMessage;
+  OwningPtr<MemoryBuffer> Buffer;
   error_code ec;
   Module *M = 0;
-  if (MemoryBuffer *Buffer = MemoryBuffer::getFileOrSTDIN(BitcodeFile, ec)) {
-    M = ParseBitcodeFile(Buffer, Context, &ErrorMessage);
-    delete Buffer;
+  if (!(ec = MemoryBuffer::getFileOrSTDIN(BitcodeFile, Buffer))) {
+    M = ParseBitcodeFile(Buffer.get(), Context, &ErrorMessage);
   } else
     ErrorMessage = ec.message();
   if (M == 0) {