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

Adrian Prantl aprantl at apple.com
Fri Feb 20 14:12:19 PST 2015


Author: adrian
Date: Fri Feb 20 16:12:19 2015
New Revision: 230073

URL: http://llvm.org/viewvc/llvm-project?rev=230073&view=rev
Log:
Revert "Wrap clang module files in a Mach-O, ELF, or COFF container."

This reverts commit r230067.

Investigating another batch of problems found by the bots.

Removed:
    cfe/trunk/include/clang/CodeGen/CodeGenModuleContainer.h
    cfe/trunk/lib/CodeGen/CodeGenModuleContainer.cpp
    cfe/trunk/test/Modules/module_container.m
Modified:
    cfe/trunk/docs/PCHInternals.rst
    cfe/trunk/include/clang/Frontend/FrontendActions.h
    cfe/trunk/include/clang/Serialization/ASTReader.h
    cfe/trunk/include/clang/Serialization/ASTWriter.h
    cfe/trunk/lib/CodeGen/CMakeLists.txt
    cfe/trunk/lib/Frontend/ASTUnit.cpp
    cfe/trunk/lib/Frontend/CMakeLists.txt
    cfe/trunk/lib/Frontend/ChainedIncludesSource.cpp
    cfe/trunk/lib/Frontend/FrontendActions.cpp
    cfe/trunk/lib/Frontend/MultiplexConsumer.cpp
    cfe/trunk/lib/Serialization/ASTReader.cpp
    cfe/trunk/lib/Serialization/CMakeLists.txt
    cfe/trunk/lib/Serialization/GeneratePCH.cpp
    cfe/trunk/lib/Serialization/GlobalModuleIndex.cpp
    cfe/trunk/lib/Serialization/ModuleManager.cpp
    cfe/trunk/test/CMakeLists.txt
    cfe/trunk/test/PCH/floating-literal.c
    cfe/trunk/tools/arcmt-test/Makefile
    cfe/trunk/tools/c-index-test/Makefile
    cfe/trunk/tools/clang-check/Makefile
    cfe/trunk/tools/libclang/CMakeLists.txt
    cfe/trunk/tools/libclang/Makefile
    cfe/trunk/unittests/AST/Makefile
    cfe/trunk/unittests/ASTMatchers/Dynamic/Makefile
    cfe/trunk/unittests/ASTMatchers/Makefile
    cfe/trunk/unittests/CodeGen/Makefile
    cfe/trunk/unittests/Frontend/Makefile
    cfe/trunk/unittests/Sema/Makefile
    cfe/trunk/unittests/Tooling/Makefile

Modified: cfe/trunk/docs/PCHInternals.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/PCHInternals.rst?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/docs/PCHInternals.rst (original)
+++ cfe/trunk/docs/PCHInternals.rst Fri Feb 20 16:12:19 2015
@@ -65,9 +65,6 @@ be included at the beginning of the tran
 AST file format required for modules are discussed in the section on
 :ref:`modules <pchinternals-modules>`.
 
-Clang's AST files are Mach-O, ELF, or COFF containers that contain a
-``__clangast`` section which holds the AST bitstream.
-
 Clang's AST files are designed with a compact on-disk representation, which
 minimizes both creation time and the time required to initially load the AST
 file.  The AST file itself contains a serialized representation of Clang's

Removed: cfe/trunk/include/clang/CodeGen/CodeGenModuleContainer.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/CodeGen/CodeGenModuleContainer.h?rev=230072&view=auto
==============================================================================
--- cfe/trunk/include/clang/CodeGen/CodeGenModuleContainer.h (original)
+++ cfe/trunk/include/clang/CodeGen/CodeGenModuleContainer.h (removed)
@@ -1,34 +0,0 @@
-//===--- CodeGen/ModuleContainerGenerator.h - Emit .pcm files ---*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_CODEGEN_MODULE_CONTAINER_H
-#define LLVM_CLANG_CODEGEN_MODULE_CONTAINER_H
-
-#include "ModuleBuilder.h"
-#include <string>
-
-namespace llvm {
-class raw_ostream;
-}
-
-namespace clang {
-
-class PCHGenerator;
-class TargetOptions;
-
-/// \brief Create a CodeGenerator instance.
-/// It is the responsibility of the caller to call delete on
-/// the allocated CodeGenerator instance.
-CodeGenerator *CreateModuleContainerGenerator(
-    DiagnosticsEngine &Diags, const std::string &ModuleName,
-    const CodeGenOptions &CGO, const TargetOptions &TO, const LangOptions &LO,
-    llvm::raw_ostream *OS, PCHGenerator *PCHGen);
-}
-
-#endif

Modified: cfe/trunk/include/clang/Frontend/FrontendActions.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/FrontendActions.h?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/include/clang/Frontend/FrontendActions.h (original)
+++ cfe/trunk/include/clang/Frontend/FrontendActions.h Fri Feb 20 16:12:19 2015
@@ -69,14 +69,6 @@ protected:
                                                  StringRef InFile) override;
 };
 
-/// \brief Emits the output of a GeneratePCHAction or GenerateModuleAction into
-/// a Mach-O/ELF/COFF container.
-class GeneratePCMContainerAction : public FrontendAction {
-protected:
-  std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,
-                                                 StringRef InFile) override;
-};
-
 class GeneratePCHAction : public ASTFrontendAction {
 protected:
   std::unique_ptr<ASTConsumer> CreateASTConsumer(CompilerInstance &CI,

Modified: cfe/trunk/include/clang/Serialization/ASTReader.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ASTReader.h?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/include/clang/Serialization/ASTReader.h (original)
+++ cfe/trunk/include/clang/Serialization/ASTReader.h Fri Feb 20 16:12:19 2015
@@ -1127,10 +1127,6 @@ private:
 public:
   void ResolveImportedPath(ModuleFile &M, std::string &Filename);
   static void ResolveImportedPath(std::string &Filename, StringRef Prefix);
-  /// \brief Initialize a BitstreamReader with the `__clangast` section from an
-  /// object file container found in Buffer.
-  static void InitStreamFileWithModule(llvm::MemoryBufferRef Buffer,
-                                       llvm::BitstreamReader &StreamFile);
 
 private:
   struct ImportedModule {

Modified: cfe/trunk/include/clang/Serialization/ASTWriter.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Serialization/ASTWriter.h?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/include/clang/Serialization/ASTWriter.h (original)
+++ cfe/trunk/include/clang/Serialization/ASTWriter.h Fri Feb 20 16:12:19 2015
@@ -823,13 +823,10 @@ class PCHGenerator : public SemaConsumer
   std::string OutputFile;
   clang::Module *Module;
   std::string isysroot;
+  raw_ostream *Out;
   Sema *SemaPtr;
-  // This buffer is always large, but BitstreamWriter really wants a
-  // SmallVectorImpl<char>.
-  SmallVector<char, 0> Buffer;
+  SmallVector<char, 128> Buffer;
   llvm::BitstreamWriter Stream;
-  std::function<void(SmallVectorImpl<char>*)>
-    SerializationFinishedCallback;
   ASTWriter Writer;
   bool AllowASTWithErrors;
   bool HasEmittedPCH;
@@ -839,21 +836,16 @@ protected:
   const ASTWriter &getWriter() const { return Writer; }
 
 public:
-  PCHGenerator(const Preprocessor &PP,
-               StringRef OutputFile,
+  PCHGenerator(const Preprocessor &PP, StringRef OutputFile,
                clang::Module *Module,
-               StringRef isysroot,
+               StringRef isysroot, raw_ostream *Out,
                bool AllowASTWithErrors = false);
   ~PCHGenerator();
   void InitializeSema(Sema &S) override { SemaPtr = &S; }
   void HandleTranslationUnit(ASTContext &Ctx) override;
   ASTMutationListener *GetASTMutationListener() override;
   ASTDeserializationListener *GetASTDeserializationListener() override;
-  /// \brief Register a callback to be invoked when the serialization is done.
-  void RegisterSerializationFinishedCallback(
-    const std::function<void(SmallVectorImpl<char>*)> Fn) {
-    SerializationFinishedCallback = Fn;
-  }
+
   bool hasEmittedPCH() const { return HasEmittedPCH; }
 };
 

Modified: cfe/trunk/lib/CodeGen/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CMakeLists.txt?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/CodeGen/CMakeLists.txt (original)
+++ cfe/trunk/lib/CodeGen/CMakeLists.txt Fri Feb 20 16:12:19 2015
@@ -1,5 +1,4 @@
 set(LLVM_LINK_COMPONENTS
-  ${LLVM_TARGETS_TO_BUILD}
   Analysis
   BitReader
   BitWriter
@@ -64,7 +63,6 @@ add_clang_library(clangCodeGen
   CodeGenAction.cpp
   CodeGenFunction.cpp
   CodeGenModule.cpp
-  CodeGenModuleContainer.cpp
   CodeGenPGO.cpp
   CodeGenTBAA.cpp
   CodeGenTypes.cpp

Removed: cfe/trunk/lib/CodeGen/CodeGenModuleContainer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModuleContainer.cpp?rev=230072&view=auto
==============================================================================
--- cfe/trunk/lib/CodeGen/CodeGenModuleContainer.cpp (original)
+++ cfe/trunk/lib/CodeGen/CodeGenModuleContainer.cpp (removed)
@@ -1,150 +0,0 @@
-//===--- CodeGenModuleContainer.cpp - Emit .pcm files ---------------------===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "clang/CodeGen/CodeGenModuleContainer.h"
-#include "CodeGenModule.h"
-#include "clang/AST/ASTContext.h"
-#include "clang/AST/DeclObjC.h"
-#include "clang/AST/Expr.h"
-#include "clang/AST/RecursiveASTVisitor.h"
-#include "clang/Basic/Diagnostic.h"
-#include "clang/Basic/TargetInfo.h"
-#include "clang/CodeGen/BackendUtil.h"
-#include "clang/Frontend/CodeGenOptions.h"
-#include "clang/Serialization/ASTWriter.h"
-#include "llvm/ADT/StringRef.h"
-#include "llvm/IR/Constants.h"
-#include "llvm/IR/DataLayout.h"
-#include "llvm/IR/LLVMContext.h"
-#include "llvm/IR/Module.h"
-#include "llvm/Support/TargetRegistry.h"
-#include <memory>
-using namespace clang;
-
-namespace {
-class ModuleContainerGenerator : public CodeGenerator {
-  DiagnosticsEngine &Diags;
-  std::unique_ptr<const llvm::DataLayout> TD;
-  ASTContext *Ctx;
-  const CodeGenOptions CodeGenOpts;
-  const TargetOptions TargetOpts;
-  const LangOptions LangOpts;
-  llvm::LLVMContext VMContext;
-  std::unique_ptr<llvm::Module> M;
-  std::unique_ptr<CodeGen::CodeGenModule> Builder;
-  raw_ostream *OS;
-  SmallVectorImpl<char> *SerializedASTBuffer;
-
-public:
-  ModuleContainerGenerator(DiagnosticsEngine &diags,
-                           const std::string &ModuleName,
-                           const CodeGenOptions &CGO, const TargetOptions &TO,
-                           const LangOptions &LO, raw_ostream *OS,
-                           PCHGenerator *PCHGen)
-      : Diags(diags), CodeGenOpts(CGO), TargetOpts(TO), LangOpts(LO),
-        M(new llvm::Module(ModuleName, VMContext)), OS(OS) {
-    PCHGen->RegisterSerializationFinishedCallback(
-      [&](SmallVectorImpl<char> *Buf){
-        SerializedASTBuffer = Buf;
-      });
-  }
-
-  virtual ~ModuleContainerGenerator() {}
-  llvm::Module *GetModule() override { return M.get(); }
-  llvm::Module *ReleaseModule() override { return M.release(); }
-
-  /// Lifted from ModuleBuilder.
-  const Decl *GetDeclForMangledName(StringRef MangledName) override {
-    GlobalDecl Result;
-    if (!Builder->lookupRepresentativeDecl(MangledName, Result))
-      return nullptr;
-    const Decl *D = Result.getCanonicalDecl().getDecl();
-    if (auto FD = dyn_cast<FunctionDecl>(D)) {
-      if (FD->hasBody(FD))
-        return FD;
-    } else if (auto TD = dyn_cast<TagDecl>(D)) {
-      if (auto Def = TD->getDefinition())
-        return Def;
-    }
-    return D;
-  }
-
-  void Initialize(ASTContext &Context) override {
-    Ctx = &Context;
-    M->setTargetTriple(Ctx->getTargetInfo().getTriple().getTriple());
-    M->setDataLayout(Ctx->getTargetInfo().getTargetDescription());
-    TD.reset(new llvm::DataLayout(Ctx->getTargetInfo().getTargetDescription()));
-    Builder.reset(
-        new CodeGen::CodeGenModule(Context, CodeGenOpts, *M, *TD, Diags));
-  }
-
-  /// Emit a container holding the serialized AST.
-  void HandleTranslationUnit(ASTContext &Ctx) override {
-    if (Diags.hasErrorOccurred()) {
-      if (Builder)
-        Builder->clear();
-      M.reset();
-      return;
-    }
-
-    // Finalize the Builder.
-    if (Builder)
-      Builder->Release();
-
-    // Initialize the backend if we haven't done so already.
-    LLVMInitializeAllTargetInfos();
-    LLVMInitializeAllTargets();
-    LLVMInitializeAllAsmPrinters();
-    LLVMInitializeAllTargetMCs();
-
-    // Ensure the target exists.
-    std::string Error;
-    auto Triple = Ctx.getTargetInfo().getTriple();
-    if (!llvm::TargetRegistry::lookupTarget(Triple.getTriple(), Error))
-      llvm::report_fatal_error(Error);
-
-    // Emit the serialized Clang AST into its own section.
-    auto Size = SerializedASTBuffer->size();
-    auto Int8Ty = llvm::Type::getInt8Ty(VMContext);
-    auto *Ty = llvm::ArrayType::get(Int8Ty, Size);
-    auto *Data = llvm::ConstantDataArray::getString(VMContext,
-        StringRef(SerializedASTBuffer->data(), Size), /*AddNull=*/false);
-    auto *ASTSym = new llvm::GlobalVariable(*M, Ty, /*constant*/ true,
-        llvm::GlobalVariable::InternalLinkage, Data, "__clang_ast");
-    ASTSym->setAlignment(8);
-    if (Triple.isOSBinFormatMachO())
-      // Include Mach-O segment name.
-      ASTSym->setSection("__CLANG,__clangast");
-    else if (Triple.isOSBinFormatCOFF())
-      // Adhere to COFF eight-character limit.
-      ASTSym->setSection("clangast");
-    else
-      ASTSym->setSection("__clangast");
-
-    // Use the LLVM backend to emit the pcm.
-    EmitBackendOutput(Diags, CodeGenOpts, TargetOpts, LangOpts,
-                      Ctx.getTargetInfo().getTargetDescription(), M.get(),
-                      BackendAction::Backend_EmitObj, OS);
-
-    // Make sure the module container hits disk now.
-    OS->flush();
-
-    // Free up some memory, in case the process is kept alive.
-    SerializedASTBuffer->clear();
-  }
-};
-}
-
-CodeGenerator *clang::CreateModuleContainerGenerator(
-    DiagnosticsEngine &Diags, const std::string &ModuleName,
-    const CodeGenOptions &CGO, const TargetOptions &TO, const LangOptions &LO,
-    llvm::raw_ostream *OS, PCHGenerator *PCHGen) {
-  return
-    new ModuleContainerGenerator(Diags, ModuleName, CGO, TO, LO, OS, PCHGen);
-}

Modified: cfe/trunk/lib/Frontend/ASTUnit.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ASTUnit.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/ASTUnit.cpp (original)
+++ cfe/trunk/lib/Frontend/ASTUnit.cpp Fri Feb 20 16:12:19 2015
@@ -914,20 +914,13 @@ class PrecompilePreambleConsumer : publi
   unsigned &Hash;
   std::vector<Decl *> TopLevelDecls;
   PrecompilePreambleAction *Action;
-  raw_ostream *Out;
-  SmallVectorImpl<char> *SerializedASTBuffer;
 
 public:
   PrecompilePreambleConsumer(ASTUnit &Unit, PrecompilePreambleAction *Action,
                              const Preprocessor &PP, StringRef isysroot,
                              raw_ostream *Out)
-    : PCHGenerator(PP, "", nullptr, isysroot, /*AllowASTWithErrors=*/true),
-      Unit(Unit), Hash(Unit.getCurrentTopLevelHashValue()), Action(Action),
-      Out(Out) {
-    RegisterSerializationFinishedCallback(
-      [&](SmallVectorImpl<char> *Buf){
-        SerializedASTBuffer = Buf;
-      });
+    : PCHGenerator(PP, "", nullptr, isysroot, Out, /*AllowASTWithErrors=*/true),
+      Unit(Unit), Hash(Unit.getCurrentTopLevelHashValue()), Action(Action) {
     Hash = 0;
   }
 
@@ -948,13 +941,6 @@ public:
   void HandleTranslationUnit(ASTContext &Ctx) override {
     PCHGenerator::HandleTranslationUnit(Ctx);
     if (hasEmittedPCH()) {
-      // Write the generated bitstream to "Out".
-      Out->write((char *)&SerializedASTBuffer->front(),
-                 SerializedASTBuffer->size());
-      // Make sure it hits disk now.
-      Out->flush();
-      SerializedASTBuffer->clear();
-
       // Translate the top-level declarations we captured during
       // parsing into declaration IDs in the precompiled
       // preamble. This will allow us to deserialize those top-level

Modified: cfe/trunk/lib/Frontend/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CMakeLists.txt?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/CMakeLists.txt (original)
+++ cfe/trunk/lib/Frontend/CMakeLists.txt Fri Feb 20 16:12:19 2015
@@ -45,7 +45,6 @@ add_clang_library(clangFrontend
   LINK_LIBS
   clangAST
   clangBasic
-  clangCodeGen
   clangDriver
   clangEdit
   clangLex

Modified: cfe/trunk/lib/Frontend/ChainedIncludesSource.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/ChainedIncludesSource.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/ChainedIncludesSource.cpp (original)
+++ cfe/trunk/lib/Frontend/ChainedIncludesSource.cpp Fri Feb 20 16:12:19 2015
@@ -156,13 +156,11 @@ IntrusiveRefCntPtr<ExternalSemaSource> c
                                                  &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 @@ IntrusiveRefCntPtr<ExternalSemaSource> c
 
     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());
   }
 

Modified: cfe/trunk/lib/Frontend/FrontendActions.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/FrontendActions.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/FrontendActions.cpp (original)
+++ cfe/trunk/lib/Frontend/FrontendActions.cpp Fri Feb 20 16:12:19 2015
@@ -10,13 +10,10 @@
 #include "clang/Frontend/FrontendActions.h"
 #include "clang/AST/ASTConsumer.h"
 #include "clang/Basic/FileManager.h"
-#include "clang/Basic/TargetInfo.h"
-#include "clang/CodeGen/CodeGenModuleContainer.h"
 #include "clang/Frontend/ASTConsumers.h"
 #include "clang/Frontend/ASTUnit.h"
 #include "clang/Frontend/CompilerInstance.h"
 #include "clang/Frontend/FrontendDiagnostic.h"
-#include "clang/Frontend/MultiplexConsumer.h"
 #include "clang/Frontend/Utils.h"
 #include "clang/Lex/HeaderSearch.h"
 #include "clang/Lex/Pragma.h"
@@ -88,23 +85,8 @@ GeneratePCHAction::CreateASTConsumer(Com
 
   if (!CI.getFrontendOpts().RelocatablePCH)
     Sysroot.clear();
-
-  std::vector<std::unique_ptr<ASTConsumer>> Consumers;
-  Consumers.push_back(llvm::make_unique<PCHGenerator>(CI.getPreprocessor(),
-                                                      OutputFile, nullptr,
-                                                      Sysroot));
-
-  auto CGOpts = CI.getCodeGenOpts();
-  // The debug info emitted by ModuleContainerGenerator is not affected by the
-  // optimization level.
-  CGOpts.OptimizationLevel = 0;
-  CGOpts.setDebugInfo(CodeGenOptions::LimitedDebugInfo);
-  Consumers.push_back(std::unique_ptr<ASTConsumer>(
-      CreateModuleContainerGenerator(CI.getDiagnostics(), "PCH", CGOpts,
-                                     CI.getTargetOpts(), CI.getLangOpts(), OS,
-                                     cast<PCHGenerator>(Consumers[0].get()))));
-
-  return llvm::make_unique<MultiplexConsumer>(std::move(Consumers));
+  return llvm::make_unique<PCHGenerator>(CI.getPreprocessor(), OutputFile,
+                                         nullptr, Sysroot, OS);
 }
 
 bool GeneratePCHAction::ComputeASTConsumerArguments(CompilerInstance &CI,
@@ -140,22 +122,8 @@ GenerateModuleAction::CreateASTConsumer(
   if (ComputeASTConsumerArguments(CI, InFile, Sysroot, OutputFile, OS))
     return nullptr;
 
-  std::vector<std::unique_ptr<ASTConsumer>> Consumers;
-  Consumers.push_back(llvm::make_unique<PCHGenerator>(CI.getPreprocessor(),
-                                                      OutputFile, Module,
-                                                      Sysroot));
-
-  auto CGOpts = CI.getCodeGenOpts();
-  // The debug info emitted by ModuleContainerGenerator is not affected by the
-  // optimization level.
-  CGOpts.OptimizationLevel = 0;
-  CGOpts.setDebugInfo(CodeGenOptions::LimitedDebugInfo);
-  Consumers.push_back(
-      std::unique_ptr<ASTConsumer>(CreateModuleContainerGenerator(
-          CI.getDiagnostics(), Module->getFullModuleName(), CGOpts,
-          CI.getTargetOpts(), CI.getLangOpts(), OS,
-          cast<PCHGenerator>(Consumers[0].get()))));
-  return llvm::make_unique<MultiplexConsumer>(std::move(Consumers));
+  return llvm::make_unique<PCHGenerator>(CI.getPreprocessor(), OutputFile,
+                                         Module, Sysroot, OS);
 }
 
 static SmallVectorImpl<char> &

Modified: cfe/trunk/lib/Frontend/MultiplexConsumer.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/MultiplexConsumer.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Frontend/MultiplexConsumer.cpp (original)
+++ cfe/trunk/lib/Frontend/MultiplexConsumer.cpp Fri Feb 20 16:12:19 2015
@@ -33,14 +33,11 @@ public:
   void ReaderInitialized(ASTReader *Reader) override;
   void IdentifierRead(serialization::IdentID ID,
                       IdentifierInfo *II) override;
-  void MacroRead(serialization::MacroID ID, MacroInfo *MI) override;
   void TypeRead(serialization::TypeIdx Idx, QualType T) override;
   void DeclRead(serialization::DeclID ID, const Decl *D) override;
   void SelectorRead(serialization::SelectorID iD, Selector Sel) override;
   void MacroDefinitionRead(serialization::PreprocessedEntityID,
                            MacroDefinition *MD) override;
-  void ModuleRead(serialization::SubmoduleID ID, Module *Mod) override;
-
 private:
   std::vector<ASTDeserializationListener*> Listeners;
 };
@@ -62,12 +59,6 @@ void MultiplexASTDeserializationListener
     Listeners[i]->IdentifierRead(ID, II);
 }
 
-void MultiplexASTDeserializationListener::MacroRead(
-    serialization::MacroID ID, MacroInfo *MI) {
-  for (auto &Listener : Listeners)
-    Listener->MacroRead(ID, MI);
-}
-
 void MultiplexASTDeserializationListener::TypeRead(
     serialization::TypeIdx Idx, QualType T) {
   for (size_t i = 0, e = Listeners.size(); i != e; ++i)
@@ -92,12 +83,6 @@ void MultiplexASTDeserializationListener
     Listeners[i]->MacroDefinitionRead(ID, MD);
 }
 
-void MultiplexASTDeserializationListener::ModuleRead(
-    serialization::SubmoduleID ID, Module *Mod) {
-  for (auto &Listener : Listeners)
-    Listener->ModuleRead(ID, Mod);
-}
-
 // This ASTMutationListener forwards its notifications to a set of
 // child listeners.
 class MultiplexASTMutationListener : public ASTMutationListener {
@@ -113,13 +98,11 @@ public:
                                const VarTemplateSpecializationDecl *D) override;
   void AddedCXXTemplateSpecialization(const FunctionTemplateDecl *TD,
                                       const FunctionDecl *D) override;
-  void ResolvedExceptionSpec(const FunctionDecl *FD) override;
   void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType) override;
   void CompletedImplicitDefinition(const FunctionDecl *D) override;
   void StaticDataMemberInstantiated(const VarDecl *D) override;
   void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD,
                                     const ObjCInterfaceDecl *IFD) override;
-  void FunctionDefinitionInstantiated(const FunctionDecl *D) override;
   void AddedObjCPropertyInClassExtension(const ObjCPropertyDecl *Prop,
                                     const ObjCPropertyDecl *OrigProp,
                                     const ObjCCategoryDecl *ClassExt) override;
@@ -166,11 +149,6 @@ void MultiplexASTMutationListener::Added
   for (size_t i = 0, e = Listeners.size(); i != e; ++i)
     Listeners[i]->AddedCXXTemplateSpecialization(TD, D);
 }
-void MultiplexASTMutationListener::ResolvedExceptionSpec(
-    const FunctionDecl *FD) {
-  for (auto &Listener : Listeners)
-    Listener->ResolvedExceptionSpec(FD);
-}
 void MultiplexASTMutationListener::DeducedReturnType(const FunctionDecl *FD,
                                                      QualType ReturnType) {
   for (size_t i = 0, e = Listeners.size(); i != e; ++i)
@@ -192,11 +170,6 @@ void MultiplexASTMutationListener::Added
   for (size_t i = 0, e = Listeners.size(); i != e; ++i)
     Listeners[i]->AddedObjCCategoryToInterface(CatD, IFD);
 }
-void MultiplexASTMutationListener::FunctionDefinitionInstantiated(
-    const FunctionDecl *D) {
-  for (auto &Listener : Listeners)
-    Listener->FunctionDefinitionInstantiated(D);
-} 
 void MultiplexASTMutationListener::AddedObjCPropertyInClassExtension(
                                              const ObjCPropertyDecl *Prop,
                                              const ObjCPropertyDecl *OrigProp,

Modified: cfe/trunk/lib/Serialization/ASTReader.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/ASTReader.cpp (original)
+++ cfe/trunk/lib/Serialization/ASTReader.cpp Fri Feb 20 16:12:19 2015
@@ -46,8 +46,6 @@
 #include "llvm/ADT/Hashing.h"
 #include "llvm/ADT/StringExtras.h"
 #include "llvm/Bitcode/BitstreamReader.h"
-#include "llvm/Object/COFF.h"
-#include "llvm/Object/ObjectFile.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/FileSystem.h"
 #include "llvm/Support/MemoryBuffer.h"
@@ -634,27 +632,6 @@ void PCHValidator::ReadCounter(const Mod
 // AST reader implementation
 //===----------------------------------------------------------------------===//
 
-void ASTReader::InitStreamFileWithModule(llvm::MemoryBufferRef Buffer,
-                                         llvm::BitstreamReader &StreamFile) {
-  if (auto OF = llvm::object::ObjectFile::createObjectFile(Buffer)) {
-    bool IsCOFF = isa<llvm::object::COFFObjectFile>(OF.get().get());
-    // Find the clang AST section in the container.
-    for (auto &Section : OF->get()->sections()) {
-      StringRef Name;
-      Section.getName(Name);
-      if ((!IsCOFF && Name == "__clangast") ||
-          ( IsCOFF && Name ==   "clangast")) {
-        StringRef Buf;
-        Section.getContents(Buf);
-        return StreamFile.init((const unsigned char*)Buf.begin(),
-                               (const unsigned char*)Buf.end());
-      }
-    }
-  }
-  StreamFile.init((const unsigned char *)Buffer.getBufferStart(),
-                  (const unsigned char *)Buffer.getBufferEnd());
-}
-
 void ASTReader::setDeserializationListener(ASTDeserializationListener *Listener,
                                            bool TakeOwnership) {
   DeserializationListener = Listener;
@@ -3906,10 +3883,9 @@ ASTReader::ReadASTCore(StringRef FileNam
 
   ModuleFile &F = *M;
   BitstreamCursor &Stream = F.Stream;
-  InitStreamFileWithModule(F.Buffer->getMemBufferRef(), F.StreamFile);
   Stream.init(&F.StreamFile);
-  F.SizeInBits = F.StreamFile.getBitcodeBytes().getExtent() * 8;
-
+  F.SizeInBits = F.Buffer->getBufferSize() * 8;
+  
   // Sniff for the signature.
   if (Stream.Read(8) != 'C' ||
       Stream.Read(8) != 'P' ||
@@ -4198,7 +4174,8 @@ std::string ASTReader::getOriginalSource
 
   // Initialize the stream
   llvm::BitstreamReader StreamFile;
-  InitStreamFileWithModule((*Buffer)->getMemBufferRef(), StreamFile);
+  StreamFile.init((const unsigned char *)(*Buffer)->getBufferStart(),
+                  (const unsigned char *)(*Buffer)->getBufferEnd());
   BitstreamCursor Stream(StreamFile);
 
   // Sniff for the signature.
@@ -4293,7 +4270,8 @@ bool ASTReader::readASTFileControlBlock(
 
   // Initialize the stream
   llvm::BitstreamReader StreamFile;
-  InitStreamFileWithModule((*Buffer)->getMemBufferRef(), StreamFile);
+  StreamFile.init((const unsigned char *)(*Buffer)->getBufferStart(),
+                  (const unsigned char *)(*Buffer)->getBufferEnd());
   BitstreamCursor Stream(StreamFile);
 
   // Sniff for the signature.

Modified: cfe/trunk/lib/Serialization/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/CMakeLists.txt?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/CMakeLists.txt (original)
+++ cfe/trunk/lib/Serialization/CMakeLists.txt Fri Feb 20 16:12:19 2015
@@ -1,6 +1,5 @@
 set(LLVM_LINK_COMPONENTS
   BitReader
-  Object
   Support
   )
 

Modified: cfe/trunk/lib/Serialization/GeneratePCH.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/GeneratePCH.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/GeneratePCH.cpp (original)
+++ cfe/trunk/lib/Serialization/GeneratePCH.cpp Fri Feb 20 16:12:19 2015
@@ -19,6 +19,7 @@
 #include "clang/Lex/Preprocessor.h"
 #include "clang/Sema/SemaConsumer.h"
 #include "llvm/Bitcode/BitstreamWriter.h"
+#include "llvm/Support/raw_ostream.h"
 #include <string>
 
 using namespace clang;
@@ -27,11 +28,10 @@ PCHGenerator::PCHGenerator(const Preproc
                            StringRef OutputFile,
                            clang::Module *Module,
                            StringRef isysroot,
-                           bool AllowASTWithErrors)
+                           raw_ostream *OS, bool AllowASTWithErrors)
   : PP(PP), OutputFile(OutputFile), Module(Module), 
-    isysroot(isysroot.str()),
-    SemaPtr(nullptr), Stream(Buffer),
-    Writer(Stream),
+    isysroot(isysroot.str()), Out(OS), 
+    SemaPtr(nullptr), Stream(Buffer), Writer(Stream),
     AllowASTWithErrors(AllowASTWithErrors),
     HasEmittedPCH(false) {
 }
@@ -52,8 +52,14 @@ void PCHGenerator::HandleTranslationUnit
   assert(SemaPtr && "No Sema?");
   Writer.WriteAST(*SemaPtr, OutputFile, Module, isysroot, hasErrors);
 
-  if (SerializationFinishedCallback)
-    SerializationFinishedCallback(&Buffer);
+  // Write the generated bitstream to "Out".
+  Out->write((char *)&Buffer.front(), Buffer.size());
+
+  // Make sure it hits disk now.
+  Out->flush();
+
+  // Free up some memory, in case the process is kept alive.
+  Buffer.clear();
 
   HasEmittedPCH = true;
 }

Modified: cfe/trunk/lib/Serialization/GlobalModuleIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/GlobalModuleIndex.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/GlobalModuleIndex.cpp (original)
+++ cfe/trunk/lib/Serialization/GlobalModuleIndex.cpp Fri Feb 20 16:12:19 2015
@@ -15,7 +15,6 @@
 #include "clang/Basic/FileManager.h"
 #include "clang/Lex/HeaderSearch.h"
 #include "clang/Serialization/ASTBitCodes.h"
-#include "clang/Serialization/ASTReader.h"
 #include "clang/Serialization/GlobalModuleIndex.h"
 #include "clang/Serialization/Module.h"
 #include "llvm/ADT/DenseMap.h"
@@ -502,8 +501,8 @@ bool GlobalModuleIndexBuilder::loadModul
 
   // Initialize the input stream
   llvm::BitstreamReader InStreamFile;
-  ASTReader::InitStreamFileWithModule((*Buffer)->getMemBufferRef(),
-                                      InStreamFile);
+  InStreamFile.init((const unsigned char *)(*Buffer)->getBufferStart(),
+                    (const unsigned char *)(*Buffer)->getBufferEnd());
   llvm::BitstreamCursor InStream(InStreamFile);
 
   // Sniff for the signature.

Modified: cfe/trunk/lib/Serialization/ModuleManager.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ModuleManager.cpp?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/lib/Serialization/ModuleManager.cpp (original)
+++ cfe/trunk/lib/Serialization/ModuleManager.cpp Fri Feb 20 16:12:19 2015
@@ -13,7 +13,6 @@
 //===----------------------------------------------------------------------===//
 #include "clang/Lex/HeaderSearch.h"
 #include "clang/Lex/ModuleMap.h"
-#include "clang/Serialization/ASTReader.h"
 #include "clang/Serialization/GlobalModuleIndex.h"
 #include "clang/Serialization/ModuleManager.h"
 #include "llvm/Support/MemoryBuffer.h"
@@ -136,10 +135,10 @@ ModuleManager::addModule(StringRef FileN
 
       New->Buffer = std::move(*Buf);
     }
-
-    // Initialize the stream.
-    ASTReader::InitStreamFileWithModule(New->Buffer->getMemBufferRef(),
-                                        New->StreamFile);
+    
+    // Initialize the stream
+    New->StreamFile.init((const unsigned char *)New->Buffer->getBufferStart(),
+                         (const unsigned char *)New->Buffer->getBufferEnd());
   }
 
   if (ExpectedSignature) {

Modified: cfe/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CMakeLists.txt?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/test/CMakeLists.txt (original)
+++ cfe/trunk/test/CMakeLists.txt Fri Feb 20 16:12:19 2015
@@ -58,7 +58,7 @@ set(CLANG_TEST_PARAMS
 if( NOT CLANG_BUILT_STANDALONE )
   list(APPEND CLANG_TEST_DEPS
     llvm-config
-    llc opt FileCheck count not llvm-symbolizer llvm-profdata llvm-objdump
+    llc opt FileCheck count not llvm-symbolizer llvm-profdata
     )
 endif()
 

Removed: cfe/trunk/test/Modules/module_container.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/module_container.m?rev=230072&view=auto
==============================================================================
--- cfe/trunk/test/Modules/module_container.m (original)
+++ cfe/trunk/test/Modules/module_container.m (removed)
@@ -1,14 +0,0 @@
- at import DependsOnModule;
-// REQUIRES: x86-registered-target
-// RUN: rm -rf %t-MachO %t-ELF %t-COFF
-// RUN: %clang_cc1 -triple=x86_64-apple-darwin -fmodules -fdisable-module-hash -fmodules-cache-path=%t-MachO -F %S/Inputs %s
-// RUN: %clang_cc1 -triple=x86_64-linux-elf -fmodules -fdisable-module-hash -fmodules-cache-path=%t-ELF -F %S/Inputs %s
-// RUN: %clang_cc1 -triple=x86_64-windows-coff -fmodules -fdisable-module-hash -fmodules-cache-path=%t-COFF -F %S/Inputs %s
-
-// RUN: llvm-objdump -section-headers %t-MachO/DependsOnModule.pcm %t-ELF/DependsOnModule.pcm %t-COFF/DependsOnModule.pcm | FileCheck %s
-// CHECK: file format Mach-O 64-bit x86-64
-// CHECK: __clangast   {{[0-9a-f]+}} {{[0-9a-f]+}} DATA
-// CHECK: file format ELF64-x86-64
-// CHECK: __clangast   {{[0-9a-f]+}} {{[0-9a-f]+}} DATA
-// CHECK: file format COFF-x86-64
-// CHECK: clangast   {{[0-9a-f]+}} {{[0-9a-f]+}}

Modified: cfe/trunk/test/PCH/floating-literal.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/floating-literal.c?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/test/PCH/floating-literal.c (original)
+++ cfe/trunk/test/PCH/floating-literal.c Fri Feb 20 16:12:19 2015
@@ -1,5 +1,4 @@
 // RUN: %clang_cc1 -triple mips64-none-linux-gnu -emit-pch -o %t %s
-// REQUIRES: mips-registered-target
 // RUN: %clang_cc1 -x ast -ast-print %t | FileCheck %s
 
 // Make sure the semantics of FloatingLiterals are stored correctly in

Modified: cfe/trunk/tools/arcmt-test/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/arcmt-test/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/tools/arcmt-test/Makefile (original)
+++ cfe/trunk/tools/arcmt-test/Makefile Fri Feb 20 16:12:19 2015
@@ -17,9 +17,8 @@ TOOL_NO_EXPORTS = 1
 NO_INSTALL = 1
 
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc objcarcopts option support
-USEDLIBS = clangARCMigrate.a clangRewrite.a clangCodeGen.a \
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
+USEDLIBS = clangARCMigrate.a clangRewrite.a \
 		 clangFrontend.a clangDriver.a clangSerialization.a clangParse.a \
 		 clangSema.a clangEdit.a clangAnalysis.a clangAST.a clangLex.a \
 		 clangBasic.a

Modified: cfe/trunk/tools/c-index-test/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/c-index-test/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/tools/c-index-test/Makefile (original)
+++ cfe/trunk/tools/c-index-test/Makefile Fri Feb 20 16:12:19 2015
@@ -22,14 +22,12 @@ TOOL_NO_EXPORTS = 1
 # LINK_COMPONENTS before including Makefile.rules
 include $(CLANG_LEVEL)/../../Makefile.config
 
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation support mc objcarcopts option
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
 
 # Note that 'USEDLIBS' must include all of the core clang libraries
 # when -static is given to linker on cygming.
 USEDLIBS = clang.a \
 	   clangIndex.a clangFormat.a clangRewrite.a \
-           clangCodeGen.a \
 	   clangFrontend.a clangDriver.a \
 	   clangTooling.a \
 	   clangToolingCore.a \

Modified: cfe/trunk/tools/clang-check/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-check/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/tools/clang-check/Makefile (original)
+++ cfe/trunk/tools/clang-check/Makefile Fri Feb 20 16:12:19 2015
@@ -15,10 +15,9 @@ TOOLNAME = clang-check
 TOOL_NO_EXPORTS = 1
 
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
 USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a \
-           clangCodeGen.a clangTooling.a clangParse.a clangSema.a \
+           clangTooling.a clangParse.a clangSema.a \
            clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \
            clangStaticAnalyzerCore.a clangAnalysis.a clangRewriteFrontend.a \
            clangRewrite.a clangEdit.a clangAST.a clangLex.a clangBasic.a

Modified: cfe/trunk/tools/libclang/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CMakeLists.txt?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CMakeLists.txt (original)
+++ cfe/trunk/tools/libclang/CMakeLists.txt Fri Feb 20 16:12:19 2015
@@ -40,7 +40,6 @@ set(SOURCES
 set(LIBS
   clangAST
   clangBasic
-  clangCodeGen
   clangFrontend
   clangIndex
   clangLex

Modified: cfe/trunk/tools/libclang/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/Makefile (original)
+++ cfe/trunk/tools/libclang/Makefile Fri Feb 20 16:12:19 2015
@@ -16,13 +16,11 @@ LINK_LIBS_IN_SHARED = 1
 SHARED_LIBRARY = 1
 
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter core \
-                   instrumentation mc mcparser objcarcopts option support
+LINK_COMPONENTS := AsmParser BitReader Core MC MCParser Option Support
 USEDLIBS = clangIndex.a clangARCMigrate.a \
 	   clangRewriteFrontend.a \
 	   clangFormat.a \
 	   clangTooling.a clangToolingCore.a \
-           clangCodeGen.a \
 	   clangFrontend.a clangDriver.a \
 	   clangSerialization.a \
 	   clangParse.a clangSema.a \

Modified: cfe/trunk/unittests/AST/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/AST/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/unittests/AST/Makefile (original)
+++ cfe/trunk/unittests/AST/Makefile Fri Feb 20 16:12:19 2015
@@ -10,10 +10,9 @@
 CLANG_LEVEL = ../..
 TESTNAME = AST
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
 USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \
-           clangCodeGen.a clangRewrite.a clangRewriteFrontend.a \
+           clangRewrite.a clangRewriteFrontend.a \
            clangParse.a clangSema.a clangAnalysis.a \
            clangEdit.a clangAST.a clangASTMatchers.a clangLex.a clangBasic.a
 

Modified: cfe/trunk/unittests/ASTMatchers/Dynamic/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/ASTMatchers/Dynamic/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/unittests/ASTMatchers/Dynamic/Makefile (original)
+++ cfe/trunk/unittests/ASTMatchers/Dynamic/Makefile Fri Feb 20 16:12:19 2015
@@ -11,11 +11,10 @@ CLANG_LEVEL = ../../..
 
 TESTNAME = DynamicASTMatchers
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts support
-USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a    \
-           clangCodeGen.a clangRewrite.a clangRewriteFrontend.a clangParse.a    \
-           clangSema.a clangAnalysis.a clangEdit.a clangAST.a                   \
-           clangASTMatchers.a clangLex.a clangBasic.a clangDynamicASTMatchers.a
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
+USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \
+           clangRewrite.a clangRewriteFrontend.a clangParse.a clangSema.a \
+           clangAnalysis.a clangEdit.a clangAST.a clangASTMatchers.a \
+           clangLex.a clangBasic.a clangDynamicASTMatchers.a
 
 include $(CLANG_LEVEL)/unittests/Makefile

Modified: cfe/trunk/unittests/ASTMatchers/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/ASTMatchers/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/unittests/ASTMatchers/Makefile (original)
+++ cfe/trunk/unittests/ASTMatchers/Makefile Fri Feb 20 16:12:19 2015
@@ -13,10 +13,9 @@ PARALLEL_DIRS = Dynamic
 
 TESTNAME = ASTMatchers
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
 USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \
-           clangCodeGen.a clangRewrite.a clangRewriteFrontend.a \
+           clangRewrite.a clangRewriteFrontend.a \
            clangParse.a clangSema.a clangAnalysis.a \
            clangEdit.a clangAST.a clangASTMatchers.a clangLex.a clangBasic.a
 

Modified: cfe/trunk/unittests/CodeGen/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/CodeGen/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/unittests/CodeGen/Makefile (original)
+++ cfe/trunk/unittests/CodeGen/Makefile Fri Feb 20 16:12:19 2015
@@ -10,8 +10,8 @@
 CLANG_LEVEL = ../..
 TESTNAME = CodeGen
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts profiledata support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader mc option \
+                   profiledata support
 USEDLIBS = clangCodeGen.a clangFrontend.a clangSerialization.a \
            clangDriver.a \
            clangParse.a clangSema.a clangAnalysis.a \

Modified: cfe/trunk/unittests/Frontend/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Frontend/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/unittests/Frontend/Makefile (original)
+++ cfe/trunk/unittests/Frontend/Makefile Fri Feb 20 16:12:19 2015
@@ -10,8 +10,7 @@
 CLANG_LEVEL = ../..
 TESTNAME = Frontend
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
 USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \
            clangSerialization.a clangCodeGen.a clangParse.a clangSema.a \
            clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \

Modified: cfe/trunk/unittests/Sema/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Sema/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/unittests/Sema/Makefile (original)
+++ cfe/trunk/unittests/Sema/Makefile Fri Feb 20 16:12:19 2015
@@ -10,10 +10,9 @@
 CLANG_LEVEL = ../..
 TESTNAME = Sema
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
 USEDLIBS = clangTooling.a clangFrontend.a clangSerialization.a clangDriver.a \
-           clangCodeGen.a clangRewrite.a clangRewriteFrontend.a \
+           clangRewrite.a clangRewriteFrontend.a \
            clangParse.a clangSema.a clangAnalysis.a \
            clangEdit.a clangAST.a clangASTMatchers.a clangLex.a clangBasic.a
 

Modified: cfe/trunk/unittests/Tooling/Makefile
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Tooling/Makefile?rev=230073&r1=230072&r2=230073&view=diff
==============================================================================
--- cfe/trunk/unittests/Tooling/Makefile (original)
+++ cfe/trunk/unittests/Tooling/Makefile Fri Feb 20 16:12:19 2015
@@ -10,10 +10,9 @@
 CLANG_LEVEL = ../..
 TESTNAME = Tooling
 include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter \
-                   instrumentation mc option objcarcopts support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option
 USEDLIBS = clangTooling.a clangToolingCore.a clangFrontend.a \
-	   clangCodeGen.a clangSerialization.a clangDriver.a \
+	   clangSerialization.a clangDriver.a \
            clangParse.a clangRewrite.a clangRewriteFrontend.a \
 	   clangSema.a clangAnalysis.a clangEdit.a \
            clangAST.a clangASTMatchers.a clangLex.a clangBasic.a





More information about the cfe-commits mailing list