Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."

llvm-svn: 230454
diff --git a/clang/lib/Frontend/ChainedIncludesSource.cpp b/clang/lib/Frontend/ChainedIncludesSource.cpp
index 1ecc0bf..cb260b4 100644
--- a/clang/lib/Frontend/ChainedIncludesSource.cpp
+++ b/clang/lib/Frontend/ChainedIncludesSource.cpp
@@ -156,13 +156,11 @@
                                                  &Clang->getPreprocessor());
     Clang->createASTContext();
 
-    auto consumer = llvm::make_unique<PCHGenerator>(Clang->getPreprocessor(),
-                                       "-", nullptr, /*isysroot=*/"");
-    SmallVectorImpl<char> *serialAST;
-    consumer->RegisterSerializationFinishedCallback(
-      [&](SmallVectorImpl<char> *Buf){
-        serialAST = Buf;
-      });
+    SmallVector<char, 256> serialAST;
+    llvm::raw_svector_ostream OS(serialAST);
+    auto consumer =
+        llvm::make_unique<PCHGenerator>(Clang->getPreprocessor(), "-", nullptr,
+                                        /*isysroot=*/"", &OS);
     Clang->getASTContext().setASTMutationListener(
                                             consumer->GetASTMutationListener());
     Clang->setASTConsumer(std::move(consumer));
@@ -199,9 +197,7 @@
 
     ParseAST(Clang->getSema());
     Clang->getDiagnosticClient().EndSourceFile();
-    SerialBufs.push_back(llvm::MemoryBuffer::
-        getMemBufferCopy(StringRef(serialAST->data(), serialAST->size())));
-    serialAST->clear();
+    SerialBufs.push_back(llvm::MemoryBuffer::getMemBufferCopy(OS.str()));
     source->CIs.push_back(Clang.release());
   }