diff --git a/Driver/SerializationTest.cpp b/Driver/SerializationTest.cpp
index a668c74..06b6b1a 100644
--- a/Driver/SerializationTest.cpp
+++ b/Driver/SerializationTest.cpp
@@ -20,7 +20,7 @@
 #include "ASTConsumers.h"
 #include "clang/AST/TranslationUnit.h"
 #include "llvm/Support/MemoryBuffer.h"
-#include "llvm/ADT/scoped_ptr.h"
+#include "llvm/ADT/OwningPtr.h"
 #include "llvm/Support/Streams.h"
 #include <fstream>
 
@@ -71,7 +71,7 @@
     // Pretty-print the decls to a temp file.
     std::ofstream DeclPP(FNameDeclPrint.c_str());
     assert (DeclPP && "Could not open file for printing out decls.");
-    llvm::scoped_ptr<ASTConsumer> FilePrinter(CreateASTPrinter(&DeclPP));
+    llvm::OwningPtr<ASTConsumer> FilePrinter(CreateASTPrinter(&DeclPP));
     
     for (TranslationUnit::iterator I=TU.begin(), E=TU.end(); I!=E; ++I)
       FilePrinter->HandleTopLevelDecl(*I);
@@ -94,7 +94,7 @@
     // Pretty-print the deserialized decls to a temp file.
     std::ofstream DeclPP(FNameDeclPrint.c_str());
     assert (DeclPP && "Could not open file for printing out decls.");
-    llvm::scoped_ptr<ASTConsumer> FilePrinter(CreateASTPrinter(&DeclPP));
+    llvm::OwningPtr<ASTConsumer> FilePrinter(CreateASTPrinter(&DeclPP));
     
     for (TranslationUnit::iterator I=NewTU->begin(), E=NewTU->end(); I!=E; ++I)
       FilePrinter->HandleTopLevelDecl(*I);
@@ -162,7 +162,7 @@
   
   using llvm::MemoryBuffer;
   
-  llvm::scoped_ptr<MemoryBuffer>
+  llvm::OwningPtr<MemoryBuffer>
     MBufferSer(MemoryBuffer::getFile(FNameDeclBefore.c_str(),
                                      strlen(FNameDeclBefore.c_str())));
   
@@ -171,7 +171,7 @@
     return;
   }
   
-  llvm::scoped_ptr<MemoryBuffer>
+  llvm::OwningPtr<MemoryBuffer>
     MBufferDSer(MemoryBuffer::getFile(FNameDeclAfter.c_str(),
                                       strlen(FNameDeclAfter.c_str())));
   
