diff --git a/Driver/SerializationTest.cpp b/Driver/SerializationTest.cpp
index 50d06d4..9f93479 100644
--- a/Driver/SerializationTest.cpp
+++ b/Driver/SerializationTest.cpp
@@ -64,8 +64,9 @@
                                   TranslationUnit& TU) {
   { 
     // Pretty-print the decls to a temp file.
-    std::ofstream DeclPP(FNameDeclPrint.c_str());
-    assert (DeclPP && "Could not open file for printing out decls.");
+    std::string Err;
+    llvm::raw_fd_ostream DeclPP(FNameDeclPrint.c_str(), Err);
+    assert (Err.empty() && "Could not open file for printing out decls.");
     llvm::OwningPtr<ASTConsumer> FilePrinter(CreateASTPrinter(&DeclPP));
     
     for (TranslationUnit::iterator I=TU.begin(), E=TU.end(); I!=E; ++I)
@@ -87,8 +88,9 @@
   
   {
     // 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.");
+    std::string Err;
+    llvm::raw_fd_ostream DeclPP(FNameDeclPrint.c_str(), Err);
+    assert (Err.empty() && "Could not open file for printing out decls.");
     llvm::OwningPtr<ASTConsumer> FilePrinter(CreateASTPrinter(&DeclPP));
     
     for (TranslationUnit::iterator I=NewTU->begin(), E=NewTU->end(); I!=E; ++I)
