<div dir="ltr">Hi Adrian,<div><br></div><div>Finally getting around to looking at some of this and I think it's going in slightly the wrong direction. In general I think begin -able- to put modules in object files to simplify wrapping, use, etc is a good thing. I think being required to do so is somewhat problematic.</div><div><br></div><div>Imagine, for example, you have a giant distributed build system...</div><div><br></div><div>You'd want to create a pile of modules (that may reference/include/etc other modules) that aren't don't or may not have debug information as part of them (because you might want to build without it or have the debug info alongside it as a separate compilation). Waiting on the full build of the module including debug is going to adversely affect your overall build time and so shouldn't be necessary - especially if you want to be able to have information separate ultimately.</div><div><br></div><div>Make sense?</div><div><br></div><div>-eric</div><div><br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 7, 2015 at 1:16 PM Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: adrian<br>
Date: Tue Jul  7 15:11:29 2015<br>
New Revision: 241620<br>
<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject-3Frev-3D241620-26view-3Drev&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=l2k0xocOy6FXEte7R379f4CWd3wbHFvIbBqaSG91F-U&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project?rev=241620&view=rev</a><br>
Log:<br>
Wrap clang modules and pch files in an object file container.<br>
This patch adds ObjectFilePCHContainerOperations uses the LLVM backend<br>
to put the contents of a PCH into a __clangast section inside a COFF, ELF,<br>
or Mach-O object file container.<br>
<br>
This is done to facilitate module debugging by makeing it possible to<br>
store the debug info for the types defined by a module alongside the AST.<br>
<br>
rdar://problem/20091852<br>
<br>
Added:<br>
    cfe/trunk/include/clang/CodeGen/ObjectFilePCHContainerOperations.h<br>
    cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp<br>
    cfe/trunk/test/Modules/pch_container.m<br>
Modified:<br>
    cfe/trunk/lib/Basic/FileManager.cpp<br>
    cfe/trunk/lib/CodeGen/CMakeLists.txt<br>
    cfe/trunk/lib/Frontend/PCHContainerOperations.cpp<br>
    cfe/trunk/lib/Serialization/ASTReader.cpp<br>
    cfe/trunk/test/ARCMT/check-with-pch.m<br>
    cfe/trunk/test/ARCMT/migrate-on-pch-and-module.m<br>
    cfe/trunk/test/ARCMT/objcmt-with-pch.m<br>
    cfe/trunk/test/ARCMT/objcmt-with-pch.m.result<br>
    cfe/trunk/test/CMakeLists.txt<br>
    cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp<br>
    cfe/trunk/test/CodeGen/atomic-ops.c<br>
    cfe/trunk/test/CodeGen/big-atomic-ops.c<br>
    cfe/trunk/test/Frontend/ast-codegen.c<br>
    cfe/trunk/test/Index/TestClassForwardDecl.m<br>
    cfe/trunk/test/Index/c-index-api-loadTU-test.m<br>
    cfe/trunk/test/Index/c-index-getCursor-test.m<br>
    cfe/trunk/test/Index/pch-with-module.m<br>
    cfe/trunk/test/Index/print-mangled-name.cpp<br>
    cfe/trunk/test/Modules/compiler_builtins_arm.m<br>
    cfe/trunk/test/Modules/dependency-gen-inferred-map.m<br>
    cfe/trunk/test/Modules/dependency-gen-pch.m<br>
    cfe/trunk/test/Modules/irgen.c<br>
    cfe/trunk/test/Modules/self-import-header.m<br>
    cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates-2D2.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=4U_eFXaIIZcbIkAFI1sz_fnRbVbbHmVgjdGFnO-MhAA&e=" rel="noreferrer" target="_blank">templates-2.mm</a><br>
    cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=aEAyvDINGMfrnf6W9_Gem1cC4g6hk4UDBrHa7-wQBSw&e=" rel="noreferrer" target="_blank">templates.mm</a><br>
    cfe/trunk/test/Modules/va_list.m<br>
    cfe/trunk/test/OpenMP/atomic_read_codegen.c<br>
    cfe/trunk/test/OpenMP/barrier_codegen.cpp<br>
    cfe/trunk/test/OpenMP/critical_codegen.cpp<br>
    cfe/trunk/test/OpenMP/flush_codegen.cpp<br>
    cfe/trunk/test/OpenMP/for_codegen.cpp<br>
    cfe/trunk/test/OpenMP/master_codegen.cpp<br>
    cfe/trunk/test/OpenMP/parallel_codegen.cpp<br>
    cfe/trunk/test/OpenMP/parallel_private_codegen.cpp<br>
    cfe/trunk/test/OpenMP/simd_codegen.cpp<br>
    cfe/trunk/test/OpenMP/single_codegen.cpp<br>
    cfe/trunk/test/OpenMP/taskyield_codegen.cpp<br>
    cfe/trunk/test/OpenMP/threadprivate_codegen.cpp<br>
    cfe/trunk/test/PCH/__va_list_tag.c<br>
    cfe/trunk/test/PCH/arc.m<br>
    cfe/trunk/test/PCH/asm.c<br>
    cfe/trunk/test/PCH/chain-external-defs.c<br>
    cfe/trunk/test/PCH/chain-trivial.c<br>
    cfe/trunk/test/PCH/cxx-ms-function-specialization-class-scope.cpp<br>
    cfe/trunk/test/PCH/external-defs.c<br>
    cfe/trunk/test/PCH/floating-literal.c<br>
    cfe/trunk/test/PCH/local_static.cpp<br>
    cfe/trunk/test/PCH/pchpch.c<br>
    cfe/trunk/test/PCH/reloc.c<br>
    cfe/trunk/test/PCH/subscripting-literals.m<br>
    cfe/trunk/test/PCH/target-options.c<br>
    cfe/trunk/test/PCH/tentative-defs.c<br>
    cfe/trunk/test/PCH/thread-local.cpp<br>
    cfe/trunk/test/PCH/va_arg.c<br>
    cfe/trunk/test/PCH/va_arg.cpp<br>
    cfe/trunk/tools/clang-check/CMakeLists.txt<br>
    cfe/trunk/tools/clang-check/ClangCheck.cpp<br>
    cfe/trunk/tools/clang-check/Makefile<br>
    cfe/trunk/tools/driver/cc1_main.cpp<br>
    cfe/trunk/tools/libclang/CIndex.cpp<br>
    cfe/trunk/tools/libclang/CMakeLists.txt<br>
    cfe/trunk/tools/libclang/Makefile<br>
<br>
Added: cfe/trunk/include/clang/CodeGen/ObjectFilePCHContainerOperations.h<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_include_clang_CodeGen_ObjectFilePCHContainerOperations.h-3Frev-3D241620-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=BnVc9Rtgk_liRY0lhR1cVvUp-mYxLBK69f9GW5emWk8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/CodeGen/ObjectFilePCHContainerOperations.h?rev=241620&view=auto</a><br>
==============================================================================<br>
--- cfe/trunk/include/clang/CodeGen/ObjectFilePCHContainerOperations.h (added)<br>
+++ cfe/trunk/include/clang/CodeGen/ObjectFilePCHContainerOperations.h Tue Jul  7 15:11:29 2015<br>
@@ -0,0 +1,43 @@<br>
+//===-- CodeGen/ObjectFilePCHContainerOperations.h - ------------*- C++ -*-===//<br>
+//<br>
+//                     The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===----------------------------------------------------------------------===//<br>
+<br>
+#ifndef LLVM_CLANG_CODEGEN_OBJECT_FILE_PCH_CONTAINER_OPERATIONS_H<br>
+#define LLVM_CLANG_CODEGEN_OBJECT_FILE_PCH_CONTAINER_OPERATIONS_H<br>
+<br>
+#include "clang/Frontend/PCHContainerOperations.h"<br>
+<br>
+namespace clang {<br>
+<br>
+/// \brief A PCHContainerOperations implementation that uses LLVM to<br>
+/// wraps Clang modules inside a COFF, ELF, or Mach-O container.<br>
+class ObjectFilePCHContainerOperations<br>
+  : public PCHContainerOperations {<br>
+  /// \brief Return an ASTConsumer that can be chained with a<br>
+  /// PCHGenerator that produces a wrapper file format<br>
+  /// that also contains full debug info for the module.<br>
+  std::unique_ptr<ASTConsumer><br>
+    CreatePCHContainerGenerator(<br>
+      DiagnosticsEngine &Diags, const HeaderSearchOptions &HSO,<br>
+      const PreprocessorOptions &PPO, const TargetOptions &TO,<br>
+      const LangOptions &LO, const std::string &MainFileName,<br>
+      const std::string &OutputFileName, llvm::raw_pwrite_stream *OS,<br>
+      std::shared_ptr<PCHBuffer> Buffer) const override;<br>
+<br>
+  /// \brief Initialize an llvm::BitstreamReader with the serialized<br>
+  /// AST inside the PCH container Buffer.<br>
+  void ExtractPCH(llvm::MemoryBufferRef Buffer,<br>
+                  llvm::BitstreamReader &StreamFile) const override;<br>
+<br>
+<br>
+};<br>
+<br>
+}<br>
+<br>
+<br>
+#endif<br>
<br>
Modified: cfe/trunk/lib/Basic/FileManager.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_lib_Basic_FileManager.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=twITSvuCqlWrzLrGWThHXwi7Mh3SdlBawjeEqXQ_Eu0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/FileManager.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Basic/FileManager.cpp (original)<br>
+++ cfe/trunk/lib/Basic/FileManager.cpp Tue Jul  7 15:11:29 2015<br>
@@ -19,6 +19,7 @@<br>
<br>
 #include "clang/Basic/FileManager.h"<br>
 #include "clang/Basic/FileSystemStatCache.h"<br>
+#include "clang/Frontend/PCHContainerOperations.h"<br>
 #include "llvm/ADT/SmallString.h"<br>
 #include "llvm/Config/llvm-config.h"<br>
 #include "llvm/Support/FileSystem.h"<br>
@@ -585,3 +586,5 @@ void FileManager::PrintStats() const {<br>
<br>
   //llvm::errs() << PagesMapped << BytesOfPagesMapped << FSLookups;<br>
 }<br>
+<br>
+PCHContainerOperations::~PCHContainerOperations() {}<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CMakeLists.txt<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_lib_CodeGen_CMakeLists.txt-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=fPD4Pqj6Y8FYbPVJilcEbU7jZGqi-AImd_dK_1v-wxQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CMakeLists.txt?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CMakeLists.txt (original)<br>
+++ cfe/trunk/lib/CodeGen/CMakeLists.txt Tue Jul  7 15:11:29 2015<br>
@@ -71,6 +71,7 @@ add_clang_library(clangCodeGen<br>
   ItaniumCXXABI.cpp<br>
   MicrosoftCXXABI.cpp<br>
   ModuleBuilder.cpp<br>
+  ObjectFilePCHContainerOperations.cpp<br>
   SanitizerMetadata.cpp<br>
   TargetInfo.cpp<br>
<br>
<br>
Added: cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_lib_CodeGen_ObjectFilePCHContainerOperations.cpp-3Frev-3D241620-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=XAj_IFO-aKQ8UR3VbbadTgNoujf3ZoqwKSdBQ3-0QUk&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp?rev=241620&view=auto</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp (added)<br>
+++ cfe/trunk/lib/CodeGen/ObjectFilePCHContainerOperations.cpp Tue Jul  7 15:11:29 2015<br>
@@ -0,0 +1,198 @@<br>
+//===--- ObjectFilePCHContainerOperations.cpp -----------------------------===//<br>
+//<br>
+//                     The LLVM Compiler Infrastructure<br>
+//<br>
+// This file is distributed under the University of Illinois Open Source<br>
+// License. See LICENSE.TXT for details.<br>
+//<br>
+//===----------------------------------------------------------------------===//<br>
+<br>
+#include "clang/CodeGen/ObjectFilePCHContainerOperations.h"<br>
+#include "CGDebugInfo.h"<br>
+#include "CodeGenModule.h"<br>
+#include "clang/AST/ASTContext.h"<br>
+#include "clang/AST/DeclObjC.h"<br>
+#include "clang/AST/Expr.h"<br>
+#include "clang/AST/RecursiveASTVisitor.h"<br>
+#include "clang/Basic/Diagnostic.h"<br>
+#include "clang/Basic/TargetInfo.h"<br>
+#include "clang/CodeGen/BackendUtil.h"<br>
+#include "clang/Frontend/CodeGenOptions.h"<br>
+#include "clang/Serialization/ASTWriter.h"<br>
+#include "llvm/ADT/StringRef.h"<br>
+#include "llvm/Bitcode/BitstreamReader.h"<br>
+#include "llvm/DebugInfo/DWARF/DWARFContext.h"<br>
+#include "llvm/IR/Constants.h"<br>
+#include "llvm/IR/DataLayout.h"<br>
+#include "llvm/IR/LLVMContext.h"<br>
+#include "llvm/IR/Module.h"<br>
+#include "llvm/Object/COFF.h"<br>
+#include "llvm/Object/ObjectFile.h"<br>
+#include "llvm/Support/TargetRegistry.h"<br>
+#include <memory><br>
+using namespace clang;<br>
+<br>
+#define DEBUG_TYPE "pchcontainer"<br>
+<br>
+namespace {<br>
+class ModuleContainerGenerator : public ASTConsumer {<br>
+  DiagnosticsEngine &Diags;<br>
+  const std::string MainFileName;<br>
+  ASTContext *Ctx;<br>
+  const HeaderSearchOptions &HeaderSearchOpts;<br>
+  const PreprocessorOptions &PreprocessorOpts;<br>
+  CodeGenOptions CodeGenOpts;<br>
+  const TargetOptions TargetOpts;<br>
+  const LangOptions LangOpts;<br>
+  std::unique_ptr<llvm::LLVMContext> VMContext;<br>
+  std::unique_ptr<llvm::Module> M;<br>
+  std::unique_ptr<CodeGen::CodeGenModule> Builder;<br>
+  raw_pwrite_stream *OS;<br>
+  std::shared_ptr<PCHBuffer> Buffer;<br>
+<br>
+public:<br>
+  ModuleContainerGenerator(<br>
+      DiagnosticsEngine &diags,<br>
+      const HeaderSearchOptions &HSO, const PreprocessorOptions &PPO,<br>
+      const TargetOptions &TO, const LangOptions &LO,<br>
+      const std::string &MainFileName, const std::string &OutputFileName,<br>
+      raw_pwrite_stream *OS, std::shared_ptr<PCHBuffer> Buffer)<br>
+    : Diags(diags), HeaderSearchOpts(HSO), PreprocessorOpts(PPO),<br>
+      TargetOpts(TO), LangOpts(LO), OS(OS),<br>
+      Buffer(Buffer) {<br>
+    // The debug info output isn't affected by CodeModel and<br>
+    // ThreadModel, but the backend expects them to be nonempty.<br>
+    CodeGenOpts.CodeModel = "default";<br>
+    CodeGenOpts.ThreadModel = "single";<br>
+    CodeGenOpts.setDebugInfo(CodeGenOptions::FullDebugInfo);<br>
+    CodeGenOpts.SplitDwarfFile = OutputFileName;<br>
+  }<br>
+<br>
+  virtual ~ModuleContainerGenerator() {}<br>
+<br>
+  void Initialize(ASTContext &Context) override {<br>
+    Ctx = &Context;<br>
+    VMContext.reset(new llvm::LLVMContext());<br>
+    M.reset(new llvm::Module(MainFileName, *VMContext));<br>
+    M->setDataLayout(Ctx->getTargetInfo().getTargetDescription());<br>
+    Builder.reset(new CodeGen::CodeGenModule(*Ctx, HeaderSearchOpts,<br>
+                                             PreprocessorOpts, CodeGenOpts,<br>
+                                             *M, M->getDataLayout(), Diags));<br>
+  }<br>
+<br>
+  /// Emit a container holding the serialized AST.<br>
+  void HandleTranslationUnit(ASTContext &Ctx) override {<br>
+    assert(M && VMContext && Builder);<br>
+    // Delete these on function exit.<br>
+    std::unique_ptr<llvm::LLVMContext> VMContext = std::move(this->VMContext);<br>
+    std::unique_ptr<llvm::Module> M = std::move(this->M);<br>
+    std::unique_ptr<CodeGen::CodeGenModule> Builder = std::move(this->Builder);<br>
+<br>
+    if (Diags.hasErrorOccurred())<br>
+      return;<br>
+<br>
+    M->setTargetTriple(Ctx.getTargetInfo().getTriple().getTriple());<br>
+    M->setDataLayout(Ctx.getTargetInfo().getTargetDescription());<br>
+<br>
+    // Finalize the Builder.<br>
+    if (Builder)<br>
+      Builder->Release();<br>
+<br>
+    // Initialize the backend if we haven't done so already.<br>
+    LLVMInitializeAllTargetInfos();<br>
+    LLVMInitializeAllTargets();<br>
+    LLVMInitializeAllAsmPrinters();<br>
+    LLVMInitializeAllTargetMCs();<br>
+<br>
+    // Ensure the target exists.<br>
+    std::string Error;<br>
+    auto Triple = Ctx.getTargetInfo().getTriple();<br>
+    if (!llvm::TargetRegistry::lookupTarget(Triple.getTriple(), Error))<br>
+      llvm::report_fatal_error(Error);<br>
+<br>
+    // Emit the serialized Clang AST into its own section.<br>
+    assert(Buffer->IsComplete && "serialization did not complete");<br>
+    auto &SerializedAST = Buffer->Data;<br>
+    auto Size = SerializedAST.size();<br>
+    auto Int8Ty = llvm::Type::getInt8Ty(*VMContext);<br>
+    auto *Ty = llvm::ArrayType::get(Int8Ty, Size);<br>
+    auto *Data = llvm::ConstantDataArray::<br>
+      getString(*VMContext, StringRef(SerializedAST.data(), Size),<br>
+                /*AddNull=*/false);<br>
+    auto *ASTSym = new llvm::GlobalVariable(<br>
+        *M, Ty, /*constant*/ true, llvm::GlobalVariable::InternalLinkage, Data,<br>
+        "__clang_ast");<br>
+    // The on-disk hashtable needs to be aligned.<br>
+    ASTSym->setAlignment(8);<br>
+<br>
+    // Mach-O also needs a segment name.<br>
+    if (Triple.isOSBinFormatMachO())<br>
+      ASTSym->setSection("__CLANG,__clangast");<br>
+    // COFF has an eight character length limit.<br>
+    else if (Triple.isOSBinFormatCOFF())<br>
+      ASTSym->setSection("clangast");<br>
+    else<br>
+      ASTSym->setSection("__clangast");<br>
+<br>
+    DEBUG({<br>
+        // Print the IR for the PCH container to the debug output.<br>
+        llvm::SmallString<0> Buffer;<br>
+        llvm::raw_svector_ostream OS(Buffer);<br>
+        clang::EmitBackendOutput(Diags, CodeGenOpts, TargetOpts, LangOpts,<br>
+                                 Ctx.getTargetInfo().getTargetDescription(),<br>
+                                 M.get(), BackendAction::Backend_EmitLL, &OS);<br>
+        OS.flush();<br>
+        llvm::dbgs()<<Buffer;<br>
+      });<br>
+<br>
+    // Use the LLVM backend to emit the pch container.<br>
+    clang::EmitBackendOutput(Diags, CodeGenOpts, TargetOpts, LangOpts,<br>
+                             Ctx.getTargetInfo().getTargetDescription(),<br>
+                             M.get(), BackendAction::Backend_EmitObj, OS);<br>
+<br>
+    // Make sure the pch container hits disk.<br>
+    OS->flush();<br>
+<br>
+    // Free the memory for the temporary buffer.<br>
+    llvm::SmallVector<char, 0> Empty;<br>
+    SerializedAST = std::move(Empty);<br>
+  }<br>
+};<br>
+}<br>
+<br>
+std::unique_ptr<ASTConsumer><br>
+ObjectFilePCHContainerOperations::CreatePCHContainerGenerator(<br>
+    DiagnosticsEngine &Diags, const HeaderSearchOptions &HSO,<br>
+    const PreprocessorOptions &PPO, const TargetOptions &TO,<br>
+    const LangOptions &LO, const std::string &MainFileName,<br>
+    const std::string &OutputFileName, llvm::raw_pwrite_stream *OS,<br>
+    std::shared_ptr<PCHBuffer> Buffer) const {<br>
+ return llvm::make_unique<ModuleContainerGenerator><br>
+   (Diags, HSO, PPO, TO, LO, MainFileName, OutputFileName, OS, Buffer);<br>
+}<br>
+<br>
+void ObjectFilePCHContainerOperations::ExtractPCH(<br>
+    llvm::MemoryBufferRef Buffer, llvm::BitstreamReader &StreamFile) const {<br>
+  if (auto OF = llvm::object::ObjectFile::createObjectFile(Buffer)) {<br>
+    auto *Obj = OF.get().get();<br>
+    bool IsCOFF = isa<llvm::object::COFFObjectFile>(Obj);<br>
+    // Find the clang AST section in the container.<br>
+    for (auto &Section : OF->get()->sections()) {<br>
+      StringRef Name;<br>
+      Section.getName(Name);<br>
+      if ((!IsCOFF && Name == "__clangast") ||<br>
+          ( IsCOFF && Name ==   "clangast")) {<br>
+        StringRef Buf;<br>
+        Section.getContents(Buf);<br>
+        StreamFile.init((const unsigned char *)Buf.begin(),<br>
+                        (const unsigned char *)Buf.end());<br>
+        return;<br>
+      }<br>
+    }<br>
+  }<br>
+<br>
+  // As a fallback, treat the buffer as a raw AST.<br>
+  StreamFile.init((const unsigned char *)Buffer.getBufferStart(),<br>
+                  (const unsigned char *)Buffer.getBufferEnd());<br>
+  return;<br>
+}<br>
<br>
Modified: cfe/trunk/lib/Frontend/PCHContainerOperations.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_lib_Frontend_PCHContainerOperations.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=O0tcY4eNvr1s28iJQhkukC-xcL0Xv_ShoLV_Hc5n3JQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/PCHContainerOperations.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Frontend/PCHContainerOperations.cpp (original)<br>
+++ cfe/trunk/lib/Frontend/PCHContainerOperations.cpp Tue Jul  7 15:11:29 2015<br>
@@ -18,8 +18,6 @@<br>
 #include "clang/Lex/ModuleLoader.h"<br>
 using namespace clang;<br>
<br>
-PCHContainerOperations::~PCHContainerOperations() {}<br>
-<br>
 namespace {<br>
<br>
 /// \brief A PCHContainerGenerator that writes out the PCH to a flat file.<br>
<br>
Modified: cfe/trunk/lib/Serialization/ASTReader.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_lib_Serialization_ASTReader.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=WVXSJwpBi8aX_-P1Pwv9DpS_9PHO36BGKiYW55CvuMM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Serialization/ASTReader.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/Serialization/ASTReader.cpp (original)<br>
+++ cfe/trunk/lib/Serialization/ASTReader.cpp Tue Jul  7 15:11:29 2015<br>
@@ -3976,8 +3976,7 @@ bool ASTReader::readASTFileControlBlock(<br>
<br>
   // Initialize the stream<br>
   llvm::BitstreamReader StreamFile;<br>
-  StreamFile.init((const unsigned char *)(*Buffer)->getBufferStart(),<br>
-                  (const unsigned char *)(*Buffer)->getBufferEnd());<br>
+  PCHContainerOps.ExtractPCH((*Buffer)->getMemBufferRef(), StreamFile);<br>
   BitstreamCursor Stream(StreamFile);<br>
<br>
   // Sniff for the signature.<br>
<br>
Modified: cfe/trunk/test/ARCMT/check-with-pch.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_ARCMT_check-2Dwith-2Dpch.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=Hozz2oK3DFx5XFDjr6mlsNx6ufTiUW3sHscu05g8KT0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/check-with-pch.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/ARCMT/check-with-pch.m (original)<br>
+++ cfe/trunk/test/ARCMT/check-with-pch.m Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,6 @@<br>
 // RUN: %clang_cc1 -x objective-c -triple x86_64-apple-darwin10 %S/Common.h -emit-pch -o %t.pch<br>
 // RUN: %clang_cc1 -include-pch %t.pch -arcmt-check -verify -triple x86_64-apple-darwin10 -fblocks -Werror %s<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // rdar://9601437<br>
 @interface I9601437 {<br>
<br>
Modified: cfe/trunk/test/ARCMT/migrate-on-pch-and-module.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_ARCMT_migrate-2Don-2Dpch-2Dand-2Dmodule.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=SAS8XWdBvIxG4jolKySB5GNAGjcV0CnXWmwfLAIQltE&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/migrate-on-pch-and-module.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/ARCMT/migrate-on-pch-and-module.m (original)<br>
+++ cfe/trunk/test/ARCMT/migrate-on-pch-and-module.m Tue Jul  7 15:11:29 2015<br>
@@ -1,7 +1,7 @@<br>
 // RUN: rm -rf %t-mcp<br>
 // RUN: %clang_cc1 -objcmt-migrate-subscripting -emit-pch -o %t.pch %s -isysroot %S/Inputs/System -triple x86_64-apple-darwin10 -F %S/Inputs -fmodules -fimplicit-module-maps -fmodules-cache-path=%t-mcp -w<br>
 // RUN: %clang_cc1 -objcmt-migrate-subscripting -include-pch %t.pch %s -migrate -o %t.remap -isysroot %S/Inputs/System -triple x86_64-apple-darwin10 -F %S/Inputs -fmodules -fimplicit-module-maps -fmodules-cache-path=%t-mcp<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
<br>
Modified: cfe/trunk/test/ARCMT/objcmt-with-pch.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_ARCMT_objcmt-2Dwith-2Dpch.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=qX1vsSMsfXYbr1-8e7fQdb66EAZS7ISdHd3VagS6sX4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/objcmt-with-pch.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/ARCMT/objcmt-with-pch.m (original)<br>
+++ cfe/trunk/test/ARCMT/objcmt-with-pch.m Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: rm -rf %t<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -x objective-c %S/Common.h -emit-pch -o %t.pch<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -objcmt-migrate-literals -objcmt-migrate-subscripting -mt-migrate-directory %t %s -x objective-c -include-pch %t.pch<br>
<br>
Modified: cfe/trunk/test/ARCMT/objcmt-with-pch.m.result<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_ARCMT_objcmt-2Dwith-2Dpch.m.result-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=f8LUtKGqj3Xqwt8LZ_cFtUPj1yxzzGMny1-ki530jLA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/ARCMT/objcmt-with-pch.m.result?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/ARCMT/objcmt-with-pch.m.result (original)<br>
+++ cfe/trunk/test/ARCMT/objcmt-with-pch.m.result Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: rm -rf %t<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -x objective-c %S/Common.h -emit-pch -o %t.pch<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -objcmt-migrate-literals -objcmt-migrate-subscripting -mt-migrate-directory %t %s -x objective-c -include-pch %t.pch<br>
<br>
Modified: cfe/trunk/test/CMakeLists.txt<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_CMakeLists.txt-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=t79ReYBuEeY0KCyVEaXbug3RxePr0r1KJFbHwk_aWtk&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CMakeLists.txt?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CMakeLists.txt (original)<br>
+++ cfe/trunk/test/CMakeLists.txt Tue Jul  7 15:11:29 2015<br>
@@ -58,7 +58,7 @@ set(CLANG_TEST_PARAMS<br>
 if( NOT CLANG_BUILT_STANDALONE )<br>
   list(APPEND CLANG_TEST_DEPS<br>
     llvm-config<br>
-    llc opt FileCheck count not llvm-symbolizer llvm-profdata<br>
+    llc opt FileCheck count not llvm-symbolizer llvm-profdata llvm-objdump<br>
     )<br>
 endif()<br>
<br>
<br>
Modified: cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_CXX_expr_expr.unary_expr.unary.noexcept_cg.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=mWbgM8BhzVb-nJ5DWVzuStJ5XRo8V0YuOGAaOfwg2IA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp (original)<br>
+++ cfe/trunk/test/CXX/expr/expr.unary/expr.unary.noexcept/cg.cpp Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -triple x86_64-apple-darwin10 -S -emit-llvm -std=c++11 -include %S/ser.h %s -o - | FileCheck %s<br>
 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -triple x86_64-apple-darwin10 -emit-pch -o %t-ser.pch -std=c++11 -x c++ %S/ser.h<br>
 // RUN: %clang_cc1 -fcxx-exceptions -fexceptions -triple x86_64-apple-darwin10 -S -emit-llvm -std=c++11 -include-pch %t-ser.pch %s -o - | FileCheck %s<br>
<br>
Modified: cfe/trunk/test/CodeGen/atomic-ops.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_CodeGen_atomic-2Dops.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=nMsP4HQlnUvgWPMHLBRCI92NmIkAZCv2ThbWgx_aPlM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/atomic-ops.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGen/atomic-ops.c (original)<br>
+++ cfe/trunk/test/CodeGen/atomic-ops.c Tue Jul  7 15:11:29 2015<br>
@@ -1,4 +1,5 @@<br>
 // RUN: %clang_cc1 %s -emit-llvm -o - -ffreestanding -triple=i686-apple-darwin9 | FileCheck %s<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // Also test serialization of atomic operations here, to avoid duplicating the<br>
 // test.<br>
<br>
Modified: cfe/trunk/test/CodeGen/big-atomic-ops.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_CodeGen_big-2Datomic-2Dops.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=2hnJmZT3S--obJ87NvM_CssoTGmBgw5pDebk3rKxB8o&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/big-atomic-ops.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGen/big-atomic-ops.c (original)<br>
+++ cfe/trunk/test/CodeGen/big-atomic-ops.c Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,5 @@<br>
 // RUN: %clang_cc1 %s -emit-llvm -o - -triple=x86_64-apple-macosx10.9.0 | FileCheck %s<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 // Also test serialization of atomic operations here, to avoid duplicating the<br>
 // test.<br>
 // RUN: %clang_cc1 %s -emit-pch -o %t -triple=x86_64-apple-macosx10.9.0<br>
<br>
Modified: cfe/trunk/test/Frontend/ast-codegen.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Frontend_ast-2Dcodegen.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=QyxbMheIeaMR7L8nuhd47KdKLPTjsnqf_fxyRROOWzo&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Frontend/ast-codegen.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Frontend/ast-codegen.c (original)<br>
+++ cfe/trunk/test/Frontend/ast-codegen.c Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: %clang -target i386-unknown-unknown -emit-ast -o %t.ast %s<br>
 // RUN: %clang -target i386-unknown-unknown -emit-llvm -S -o - %t.ast | FileCheck %s<br>
<br>
<br>
Modified: cfe/trunk/test/Index/TestClassForwardDecl.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Index_TestClassForwardDecl.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=PU3lwaIL-FZFLJR5VTcQwmz8qjc6SAKQLUT0oohmW-w&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/TestClassForwardDecl.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Index/TestClassForwardDecl.m (original)<br>
+++ cfe/trunk/test/Index/TestClassForwardDecl.m Tue Jul  7 15:11:29 2015<br>
@@ -1,7 +1,7 @@<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fblocks -emit-pch -x objective-c %s -o %t.ast<br>
 // RUN: c-index-test -test-file-scan %t.ast %s | FileCheck -check-prefix=CHECK-scan %s<br>
 // RUN: c-index-test -test-load-tu %t.ast local | FileCheck -check-prefix=CHECK-load %s<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 // This test checks how the @class resolves as a cursor when the @interface is implicitly defined.<br>
 // See TestClassDecl.m for the corresponding test case. (<rdar://problem/7383421>)<br>
<br>
<br>
Modified: cfe/trunk/test/Index/c-index-api-loadTU-test.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Index_c-2Dindex-2Dapi-2DloadTU-2Dtest.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=m0tgYwqa1jBqSrL7lvbwvuCF6m0egZf1eB34cCNl2is&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/c-index-api-loadTU-test.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Index/c-index-api-loadTU-test.m (original)<br>
+++ cfe/trunk/test/Index/c-index-api-loadTU-test.m Tue Jul  7 15:11:29 2015<br>
@@ -1,6 +1,6 @@<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fblocks -emit-pch -x objective-c %s -o %t.ast<br>
 // RUN: c-index-test -test-load-tu %t.ast all > %t 2>&1 && FileCheck --input-file=%t %s<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 @interface Foo<br>
 {<br>
   __attribute__((iboutlet)) id myoutlet;<br>
<br>
Modified: cfe/trunk/test/Index/c-index-getCursor-test.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Index_c-2Dindex-2DgetCursor-2Dtest.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=9VVaEc8gmxaiKViKKLgmG0nfFDb2nz3fR1igulY0UIM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/c-index-getCursor-test.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Index/c-index-getCursor-test.m (original)<br>
+++ cfe/trunk/test/Index/c-index-getCursor-test.m Tue Jul  7 15:11:29 2015<br>
@@ -166,3 +166,4 @@ void f() {<br>
 // CHECK: [57:1 - 57:10] FunctionDecl=f:57:6 (Definition)<br>
 // CHECK: [58:4 - 58:8] VarDecl=my_var:58:8 (Definition)<br>
 // CHECK: [58:8 - 58:15] macro expansion=CONCAT:55:9<br>
+// REQUIRES: x86-registered-target<br>
<br>
Modified: cfe/trunk/test/Index/pch-with-module.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Index_pch-2Dwith-2Dmodule.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=9tldsA-lDbElXG1apqcscFvwknQtb5w3OKCai572eks&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/pch-with-module.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Index/pch-with-module.m (original)<br>
+++ cfe/trunk/test/Index/pch-with-module.m Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: rm -rf %t.cache<br>
 // RUN: c-index-test -write-pch %t.h.pch %s -target x86_64-apple-macosx10.7 -fobjc-arc -fmodules-cache-path=%t.cache -fmodules -F %S/../Modules/Inputs -Xclang -fdisable-module-hash<br>
 // RUN: %clang -fsyntax-only %s -target x86_64-apple-macosx10.7 -include %t.h -fobjc-arc -fmodules-cache-path=%t.cache -fmodules -F %S/../Modules/Inputs \<br>
<br>
Modified: cfe/trunk/test/Index/print-mangled-name.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Index_print-2Dmangled-2Dname.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=ZVziTkYz7QSJVjbbZkGCMYkF1xXisRXbS7xWLZp5d24&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/print-mangled-name.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Index/print-mangled-name.cpp (original)<br>
+++ cfe/trunk/test/Index/print-mangled-name.cpp Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: %clang_cc1 -triple i686-pc-linux-gnu -emit-pch %s -o %t_linux.ast<br>
 // RUN: c-index-test -test-print-mangle %t_linux.ast | FileCheck %s --check-prefix=ITANIUM<br>
<br>
<br>
Modified: cfe/trunk/test/Modules/compiler_builtins_arm.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_compiler-5Fbuiltins-5Farm.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=VsTGGQDCdIQg9xXdH2q6-ULjzusdeV5doLUt_uKHR6o&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/compiler_builtins_arm.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/compiler_builtins_arm.m (original)<br>
+++ cfe/trunk/test/Modules/compiler_builtins_arm.m Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,5 @@<br>
 // RUN: rm -rf %t<br>
 // RUN: %clang_cc1 -fsyntax-only -triple thumbv7-none-linux-gnueabihf -target-abi aapcs -target-cpu cortex-a8 -mfloat-abi hard -std=c99 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -D__need_wint_t %s -verify<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: arm-registered-target<br>
 @import _Builtin_intrinsics.arm.neon;<br>
<br>
Modified: cfe/trunk/test/Modules/dependency-gen-inferred-map.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_dependency-2Dgen-2Dinferred-2Dmap.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=5kPs5eNC-36NhhlqdFQv0Auoe2CM-CiLYccb4Q9Q-aA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/dependency-gen-inferred-map.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/dependency-gen-inferred-map.m (original)<br>
+++ cfe/trunk/test/Modules/dependency-gen-inferred-map.m Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,6 @@<br>
 // Test that the virtual file "__inferred_module.map" doesn't show up as dependency.<br>
<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: rm -rf %t-mcp<br>
 // RUN: %clang_cc1 -isysroot %S/Inputs/System -triple x86_64-apple-darwin10 -dependency-file %t.d -MT %s.o -F %S/Inputs -fsyntax-only -fmodules -fimplicit-module-maps -fmodules-cache-path=%t-mcp %s<br>
 // RUN: FileCheck %s < %t.d<br>
<br>
Modified: cfe/trunk/test/Modules/dependency-gen-pch.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_dependency-2Dgen-2Dpch.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=g1U--lRRN-FRfD_IUpA-PpafuydRuYnk2fTd379nEzU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/dependency-gen-pch.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/dependency-gen-pch.m (original)<br>
+++ cfe/trunk/test/Modules/dependency-gen-pch.m Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,6 @@<br>
 // RUN: rm -rf %t-mcp<br>
 // RUN: mkdir -p %t-mcp<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // RUN: %clang_cc1 -isysroot %S/Inputs/System -triple x86_64-apple-darwin10 -module-file-deps -dependency-file %t.d -MT %s.o -I %S/Inputs -fmodules -fimplicit-module-maps -fdisable-module-hash -fmodules-cache-path=%t-mcp -emit-pch -o %t.pch %s<br>
 // RUN: FileCheck %s < %t.d<br>
<br>
Modified: cfe/trunk/test/Modules/irgen.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_irgen.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=rmdbHRjfa1ATmJ2VNy30xwgeF0FWVcacf7qDd5uhXf4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/irgen.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/irgen.c (original)<br>
+++ cfe/trunk/test/Modules/irgen.c Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: rm -rf %t<br>
 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c -fmodules-cache-path=%t -emit-module -fmodule-name=irgen -triple x86_64-apple-darwin10 %S/Inputs/module.map<br>
 // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -x objective-c -fmodules-cache-path=%t -I %S/Inputs -triple x86_64-apple-darwin10 -emit-llvm -o - %s | FileCheck %s<br>
<br>
Added: cfe/trunk/test/Modules/pch_container.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_pch-5Fcontainer.m-3Frev-3D241620-26view-3Dauto&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=qtjSuv7aRFpwGPlP9-alPo_dKXMHNdaDOGLvOW96xAA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/pch_container.m?rev=241620&view=auto</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/pch_container.m (added)<br>
+++ cfe/trunk/test/Modules/pch_container.m Tue Jul  7 15:11:29 2015<br>
@@ -0,0 +1,17 @@<br>
+@import DependsOnModule;<br>
+// REQUIRES: x86-registered-target<br>
+// RUN: rm -rf %t-MachO %t-ELF %t-ELF_SPLIT %t-COFF<br>
+// RUN: %clang_cc1 -triple=x86_64-apple-darwin -fmodules -fimplicit-module-maps -fdisable-module-hash -fmodules-cache-path=%t-MachO -F %S/Inputs %s<br>
+// RUN: %clang_cc1 -triple=x86_64-linux-elf -fmodules -fimplicit-module-maps -fdisable-module-hash -fmodules-cache-path=%t-ELF -F %S/Inputs %s<br>
+// RUN: %clang_cc1 -triple=x86_64-windows-coff -fmodules -fimplicit-module-maps -fdisable-module-hash -fmodules-cache-path=%t-COFF -F %S/Inputs %s<br>
+<br>
+// RUN: llvm-objdump -section-headers %t-MachO/DependsOnModule.pcm %t-ELF/DependsOnModule.pcm %t-COFF/DependsOnModule.pcm | FileCheck %s<br>
+// CHECK: file format Mach-O 64-bit x86-64<br>
+// CHECK: __clangast   {{[0-9a-f]+}} {{[0-9a-f]+}} DATA<br>
+// CHECK: file format ELF64-x86-64<br>
+// CHECK: __clangast   {{[0-9a-f]+}} {{[0-9a-f]+}} DATA<br>
+// CHECK: file format COFF-x86-64<br>
+// CHECK: clangast   {{[0-9a-f]+}} {{[0-9a-f]+}}<br>
+<br>
+<br>
+// RUN: %clang_cc1 -split-dwarf-file t-split.dwo -triple=x86_64-linux-elf -fmodules -fimplicit-module-maps -fdisable-module-hash -fmodules-cache-path=%t-ELF_SPLIT -F %S/Inputs %s -o %t-split.o<br>
<br>
Modified: cfe/trunk/test/Modules/self-import-header.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_self-2Dimport-2Dheader.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=gUYe7kNA5RvHPOF2CP01_lUln_EcRA-N0j8og0ooNUc&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/self-import-header.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/self-import-header.m (original)<br>
+++ cfe/trunk/test/Modules/self-import-header.m Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,5 @@<br>
 // rdar://13840148<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: rm -rf %t<br>
 // RUN: %clang -fsyntax-only -isysroot %S/Inputs/System/usr/include -fmodules -fmodules-cache-path=%t \<br>
 // RUN:    -target x86_64-darwin \<br>
<br>
Modified: cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates-2D2.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=4U_eFXaIIZcbIkAFI1sz_fnRbVbbHmVgjdGFnO-MhAA&e=" rel="noreferrer" target="_blank">templates-2.mm</a><br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_templates-2D2.mm-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=ZuwU1ziIr_PQfpVk1W3Y5YsohXtxv-3gzedPJ3YO0Bs&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/templates-2.mm?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates-2D2.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=4U_eFXaIIZcbIkAFI1sz_fnRbVbbHmVgjdGFnO-MhAA&e=" rel="noreferrer" target="_blank">templates-2.mm</a> (original)<br>
+++ cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates-2D2.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=4U_eFXaIIZcbIkAFI1sz_fnRbVbbHmVgjdGFnO-MhAA&e=" rel="noreferrer" target="_blank">templates-2.mm</a> Tue Jul  7 15:11:29 2015<br>
@@ -2,7 +2,7 @@<br>
 // RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++11 -x objective-c++ -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -verify %s -Wno-objc-root-class<br>
 // RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++11 -x objective-c++ -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -emit-llvm %s -o - -Wno-objc-root-class | FileCheck %s<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 @import templates_top;<br>
<br>
 struct TestEmitDefaultedSpecialMembers {<br>
<br>
Modified: cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=aEAyvDINGMfrnf6W9_Gem1cC4g6hk4UDBrHa7-wQBSw&e=" rel="noreferrer" target="_blank">templates.mm</a><br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_templates.mm-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=VSZ8SczgbFFY6l11lyB0i8pwUQXnq3BTQgUfXEl2rGg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/templates.mm?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=aEAyvDINGMfrnf6W9_Gem1cC4g6hk4UDBrHa7-wQBSw&e=" rel="noreferrer" target="_blank">templates.mm</a> (original)<br>
+++ cfe/trunk/test/Modules/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__templates.mm&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=aEAyvDINGMfrnf6W9_Gem1cC4g6hk4UDBrHa7-wQBSw&e=" rel="noreferrer" target="_blank">templates.mm</a> Tue Jul  7 15:11:29 2015<br>
@@ -2,7 +2,7 @@<br>
 // RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++11 -x objective-c++ -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -verify %s -Wno-objc-root-class<br>
 // RUN: %clang_cc1 -triple x86_64-linux-gnu -std=c++11 -x objective-c++ -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs -emit-llvm %s -o - -Wno-objc-root-class | FileCheck %s<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 @import templates_left;<br>
<br>
 void testInlineRedeclEarly() {<br>
<br>
Modified: cfe/trunk/test/Modules/va_list.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_Modules_va-5Flist.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=R8LuWmYAfvx1IaKagN7QsZrDbRUtFpwvljodFdRRaNI&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Modules/va_list.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/Modules/va_list.m (original)<br>
+++ cfe/trunk/test/Modules/va_list.m Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: rm -rf %t<br>
 // RUN: %clang_cc1 -triple x86_64-apple-macosx10 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t \<br>
 // RUN:     -fmodules-ignore-macro=PREFIX -DPREFIX -I %S/Inputs/va_list \<br>
<br>
Modified: cfe/trunk/test/OpenMP/atomic_read_codegen.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_atomic-5Fread-5Fcodegen.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=tMScFwvO85EXcVGru21WEU0WkOK6UpYzw2EQAGEIO28&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/atomic_read_codegen.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/atomic_read_codegen.c (original)<br>
+++ cfe/trunk/test/OpenMP/atomic_read_codegen.c Tue Jul  7 15:11:29 2015<br>
@@ -2,7 +2,7 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c -triple x86_64-apple-darwin10 -emit-pch -o %t %s<br>
 // RUN: %clang_cc1 -fopenmp -x c -triple x86_64-apple-darwin10 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
<br>
Modified: cfe/trunk/test/OpenMP/barrier_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_barrier-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=k8rRr_X2chM1PpcMkiuzIJMaEpL_RzX6pl8VjGeiDdo&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/barrier_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/barrier_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/barrier_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -2,7 +2,7 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -emit-pch -o %t %s<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
<br>
Modified: cfe/trunk/test/OpenMP/critical_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_critical-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=g19gdCoKykcc6lvYOCuoXyhJQlAl1mr30jlo4mlPceQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/critical_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/critical_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/critical_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -3,7 +3,7 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s<br>
 // RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
<br>
Modified: cfe/trunk/test/OpenMP/flush_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_flush-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=9aMB9Rsr544aPd2XHNR0cOBhOP3HrbWuWZ0Er1qQEYk&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/flush_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/flush_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/flush_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -2,7 +2,7 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
<br>
Modified: cfe/trunk/test/OpenMP/for_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_for-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=UjPlsWNZi6jwe-PLT27aiYAvYdMGG7SJsUZrOz9Kvos&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/for_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/for_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/for_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -4,9 +4,9 @@<br>
 // RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG<br>
 //<br>
 // expected-no-diagnostics<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
-<br>
 // CHECK: [[IDENT_T_TY:%.+]] = type { i32, i32, i32, i32, i8* }<br>
 // CHECK-DAG: [[IMPLICIT_BARRIER_LOC:@.+]] = private unnamed_addr constant %{{.+}} { i32 0, i32 66, i32 0, i32 0, i8*<br>
 // CHECK-DAG: [[I:@.+]] = global i8 1,<br>
<br>
Modified: cfe/trunk/test/OpenMP/master_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_master-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=iNgvy1qFbjl8peqiXW45suLRKup_zfuL-4uNQJ3fT3I&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/master_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/master_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/master_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -3,7 +3,7 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s<br>
 // RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
<br>
Modified: cfe/trunk/test/OpenMP/parallel_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_parallel-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=BxqarTAcHQgt1VkoomGDBPDRnB6y646j7jgO6Y7WLFI&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/parallel_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/parallel_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -2,9 +2,9 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck --check-prefix=CHECK-DEBUG %s<br>
 // expected-no-diagnostics<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
-<br>
 // CHECK-DAG: %ident_t = type { i32, i32, i32, i32, i8* }<br>
 // CHECK-DAG: %struct.anon = type { i32* }<br>
 // CHECK-DAG: %struct.anon.0 = type { i8*** }<br>
<br>
Modified: cfe/trunk/test/OpenMP/parallel_private_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_parallel-5Fprivate-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=fNGNt43J__Y_lPbuBObTUS7X9gD0GpfA8xsjyjHO7OA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/parallel_private_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/parallel_private_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/parallel_private_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -4,9 +4,9 @@<br>
 // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DLAMBDA -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=LAMBDA %s<br>
 // RUN: %clang_cc1 -verify -fopenmp -x c++ -fblocks -DBLOCKS -triple %itanium_abi_triple -emit-llvm %s -o - | FileCheck -check-prefix=BLOCKS %s<br>
 // expected-no-diagnostics<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
-<br>
 template <class T><br>
 struct S {<br>
   T f;<br>
<br>
Modified: cfe/trunk/test/OpenMP/simd_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_simd-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=2weG1XySkW9dmk_rwgVPPmfNdkkM40ozFLetNEpXPEM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/simd_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/simd_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/simd_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -2,7 +2,7 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -emit-pch -o %t %s<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -fexceptions -fcxx-exceptions -g -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s<br>
 // RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG<br>
-//<br>
+// REQUIRES: x86-registered-target<br>
 // expected-no-diagnostics<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
Modified: cfe/trunk/test/OpenMP/single_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_single-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=qH093k9faegGHmd0OMSKPxj1gQehvnZjKtY2OA9S5eg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/single_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/single_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/single_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -4,7 +4,7 @@<br>
 // RUN: %clang_cc1 -verify -triple x86_64-apple-darwin10 -fopenmp -fexceptions -fcxx-exceptions -gline-tables-only -x c++ -emit-llvm %s -o - | FileCheck %s --check-prefix=TERM_DEBUG<br>
 // RUN: %clang_cc1 -verify -fopenmp -x c++ -std=c++11 -DARRAY -triple x86_64-apple-darwin10 -emit-llvm %s -o - | FileCheck -check-prefix=ARRAY %s<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef ARRAY<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
Modified: cfe/trunk/test/OpenMP/taskyield_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_taskyield-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=0ZG96apSBul9I13DD-AWS1vkyf2yXlW343xlprChgL0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/taskyield_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/taskyield_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/taskyield_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -2,7 +2,7 @@<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -std=c++11 -triple x86_64-unknown-unknown -emit-pch -o %t %s<br>
 // RUN: %clang_cc1 -fopenmp -x c++ -triple x86_64-unknown-unknown -std=c++11 -include-pch %t -verify %s -emit-llvm -o - | FileCheck %s<br>
 // expected-no-diagnostics<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER<br>
 #define HEADER<br>
<br>
<br>
Modified: cfe/trunk/test/OpenMP/threadprivate_codegen.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_OpenMP_threadprivate-5Fcodegen.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=R2Kqn_DJ8Acs1a-9vpgoQ7tsrOLiW4gp558x1kaBZo8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/OpenMP/threadprivate_codegen.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/OpenMP/threadprivate_codegen.cpp (original)<br>
+++ cfe/trunk/test/OpenMP/threadprivate_codegen.cpp Tue Jul  7 15:11:29 2015<br>
@@ -18,7 +18,7 @@<br>
 // CHECK-DEBUG-DAG: [[S4:%.+]] = type { [[INT]], [[INT]] }<br>
 // CHECK-DEBUG-DAG: [[S5:%.+]] = type { [[INT]], [[INT]], [[INT]] }<br>
 // CHECK-DEBUG-DAG: [[SMAIN:%.+]] = type { [[INT]], double, double }<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 struct S1 {<br>
   int a;<br>
   S1()<br>
<br>
Modified: cfe/trunk/test/PCH/__va_list_tag.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_-5F-5Fva-5Flist-5Ftag.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=MBKGnWCSejScxwtouNFe_wGKyLq-XfrCb440h5HT2H0&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/__va_list_tag.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/__va_list_tag.c (original)<br>
+++ cfe/trunk/test/PCH/__va_list_tag.c Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // PR13189<br>
 // rdar://problem/11741429<br>
 // Test this without pch.<br>
<br>
Modified: cfe/trunk/test/PCH/arc.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_arc.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=qWRvYz9jTBrU1vFT3oKmuDLH2BywOkQI77Zu5QWGx10&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/arc.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/arc.m (original)<br>
+++ cfe/trunk/test/PCH/arc.m Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // Test this without pch.<br>
 // RUN: %clang_cc1 -fblocks -triple x86_64-apple-darwin11 -fobjc-arc -include %S/Inputs/arc.h -fsyntax-only -emit-llvm-only %s<br>
<br>
<br>
Modified: cfe/trunk/test/PCH/asm.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_asm.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=bS92ftA-2YNDErtqTqXe-bFgG5ETb7trou94WhtWUqg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/asm.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/asm.c (original)<br>
+++ cfe/trunk/test/PCH/asm.c Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // Test this without pch.<br>
 // RUN: %clang_cc1 -triple i386-unknown-unknown -include %S/asm.h -fsyntax-only -verify %s<br>
<br>
<br>
Modified: cfe/trunk/test/PCH/chain-external-defs.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_chain-2Dexternal-2Ddefs.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=LxnYNiNWV62sukKKBN7ppRK5KkxN8ZAg5WaxUGdvB5k&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/chain-external-defs.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/chain-external-defs.c (original)<br>
+++ cfe/trunk/test/PCH/chain-external-defs.c Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // Test with pch.<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-pch -o %t1.pch %S/Inputs/chain-external-defs1.h<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-pch -o %t2.pch %S/Inputs/chain-external-defs2.h -include-pch %t1.pch<br>
<br>
Modified: cfe/trunk/test/PCH/chain-trivial.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_chain-2Dtrivial.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=PqhEZt1tk-XcX8xaVCZLE5hNF7FYNVvXFUdQWGtZUhA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/chain-trivial.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/chain-trivial.c (original)<br>
+++ cfe/trunk/test/PCH/chain-trivial.c Tue Jul  7 15:11:29 2015<br>
@@ -1,2 +1,3 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-pch -o %t1 %S/Inputs/chain-trivial1.h<br>
 // RUN: %clang_cc1 -triple x86_64-unknown-unknown -emit-pch -o %t2 -include-pch %t1 %S/Inputs/chain-trivial2.h<br>
<br>
Modified: cfe/trunk/test/PCH/cxx-ms-function-specialization-class-scope.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_cxx-2Dms-2Dfunction-2Dspecialization-2Dclass-2Dscope.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=dTDVr3w9k30mCRA1xQVZN65BawhafYiTEYiQHREiiMw&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/cxx-ms-function-specialization-class-scope.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/cxx-ms-function-specialization-class-scope.cpp (original)<br>
+++ cfe/trunk/test/PCH/cxx-ms-function-specialization-class-scope.cpp Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: %clang_cc1 -fms-extensions -triple i386-unknown-unknown  -x c++-header -emit-pch -o %t %S/cxx-ms-function-specialization-class-scope.h<br>
 // RUN: %clang_cc1 -fms-extensions -triple i386-unknown-unknown -include-pch %t -fsyntax-only -verify %s<br>
 // expected-no-diagnostics<br>
<br>
Modified: cfe/trunk/test/PCH/external-defs.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_external-2Ddefs.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=9t5MePeBkmgPeKX7bSMGs-EQeFNACbpcFQZybyNuwMA&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/external-defs.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/external-defs.c (original)<br>
+++ cfe/trunk/test/PCH/external-defs.c Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // Test with pch.<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-pch -o %t.pch %S/external-defs.h<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -include-pch %t.pch -emit-llvm -o %t %s<br>
<br>
Modified: cfe/trunk/test/PCH/floating-literal.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_floating-2Dliteral.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=LA6uE9l9Hm0hxTEDMlrrROPfTJJA4D5HUifgf0gmchQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/floating-literal.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/floating-literal.c (original)<br>
+++ cfe/trunk/test/PCH/floating-literal.c Tue Jul  7 15:11:29 2015<br>
@@ -1,4 +1,5 @@<br>
 // RUN: %clang_cc1 -triple mips64-none-linux-gnu -emit-pch -o %t %s<br>
+// REQUIRES: mips-registered-target<br>
 // RUN: %clang_cc1 -x ast -ast-print %t | FileCheck %s<br>
<br>
 // Make sure the semantics of FloatingLiterals are stored correctly in<br>
<br>
Modified: cfe/trunk/test/PCH/local_static.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_local-5Fstatic.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=IfaJHuDqP35enij0j5-RkynX0H1N41tR2x1Q89LKuvY&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/local_static.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/local_static.cpp (original)<br>
+++ cfe/trunk/test/PCH/local_static.cpp Tue Jul  7 15:11:29 2015<br>
@@ -1,3 +1,4 @@<br>
+// REQUIRES: x86-registered-target<br>
 // Test this without PCH.<br>
 // RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -include %S/local_static.h -fsyntax-only %s -emit-llvm -o %t.no_pch.ll %s<br>
 // RUN: FileCheck --input-file %t.no_pch.ll %s<br>
<br>
Modified: cfe/trunk/test/PCH/pchpch.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_pchpch.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=MgRLPjafASS8QY4kRHvGfi4eH21TD-_VC4OHoTK5jIg&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/pchpch.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/pchpch.c (original)<br>
+++ cfe/trunk/test/PCH/pchpch.c Tue Jul  7 15:11:29 2015<br>
@@ -1,6 +1,7 @@<br>
 // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-pch -o %t1 %S/pchpch1.h<br>
 // RUN: %clang_cc1 -triple i386-unknown-unknown -emit-pch -o %t2 %S/pchpch2.h -include-pch %t1<br>
 // RUN: %clang_cc1 -triple i386-unknown-unknown -fsyntax-only %s -include-pch %t2<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // The purpose of this test is to make sure that a PCH created while including<br>
 // an existing PCH can be loaded.<br>
<br>
Modified: cfe/trunk/test/PCH/reloc.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_reloc.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=IoGpYrkVmn51WLdGZ5qI4BuA72I3Wjaha0--u_f35-U&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/reloc.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/reloc.c (original)<br>
+++ cfe/trunk/test/PCH/reloc.c Tue Jul  7 15:11:29 2015<br>
@@ -3,6 +3,7 @@<br>
 // RUN: %clang -target x86_64-apple-darwin10 -fsyntax-only \<br>
 // RUN:   -include-pch %t -isysroot %S/libroot %s -Xclang -verify<br>
 // RUN: not %clang -target x86_64-apple-darwin10 -include-pch %t %s<br>
+// REQUIRES: x86-registered-target<br>
<br>
 #include <reloc.h><br>
<br>
<br>
Modified: cfe/trunk/test/PCH/subscripting-literals.m<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_subscripting-2Dliterals.m-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=dQkos4cGSSUDp0INccTEeHUKDKj8rXb63k3UFAPbtTI&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/subscripting-literals.m?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/subscripting-literals.m (original)<br>
+++ cfe/trunk/test/PCH/subscripting-literals.m Tue Jul  7 15:11:29 2015<br>
@@ -1,6 +1,7 @@<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o %t.nopch.ll %s<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-pch -o %t.pch %s<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o %t.pch.ll %s -include-pch %t.pch<br>
+// REQUIRES: x86-registered-target<br>
 // RUN: diff %t.nopch.ll %t.pch.ll<br>
<br>
 #ifndef HEADER<br>
<br>
Modified: cfe/trunk/test/PCH/target-options.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_target-2Doptions.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=cbrn1lsRTho5KeXjTW661dMdzSl6nPlMcZCE79j5i6M&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/target-options.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/target-options.c (original)<br>
+++ cfe/trunk/test/PCH/target-options.c Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,6 @@<br>
 // RUN: %clang_cc1 -triple=x86_64-apple-darwin9 -emit-pch -o %t.pch %S/target-options.h<br>
 // RUN: not %clang_cc1 -triple=x86_64-unknown-freebsd7.0 -include-pch %t.pch %s -emit-llvm -o - > %t.err 2>&1<br>
 // RUN: FileCheck %s < %t.err<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // CHECK: for the target<br>
<br>
Modified: cfe/trunk/test/PCH/tentative-defs.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_tentative-2Ddefs.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=kBm4R7A1FETUvFc2cgdlBmjO4BicOfDWXYF9qwZYU-4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/tentative-defs.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/tentative-defs.c (original)<br>
+++ cfe/trunk/test/PCH/tentative-defs.c Tue Jul  7 15:11:29 2015<br>
@@ -1,6 +1,7 @@<br>
 // Test with pch.<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-pch -o %t.pch %S/tentative-defs.h<br>
 // RUN: %clang_cc1 -triple x86_64-apple-darwin9 -include-pch %t.pch -verify -emit-llvm -o %t %s<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // RUN: grep "@variable = common global i32 0" %t | count 1<br>
 // RUN: grep "@incomplete_array = common global .*1 x i32" %t | count 1<br>
<br>
Modified: cfe/trunk/test/PCH/thread-local.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_thread-2Dlocal.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=gxcfYpwQ5xXvA4T7LirAPmQST9Cy7suxBOzDPUxdcY8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/thread-local.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/thread-local.cpp (original)<br>
+++ cfe/trunk/test/PCH/thread-local.cpp Tue Jul  7 15:11:29 2015<br>
@@ -1,6 +1,6 @@<br>
 // RUN: %clang_cc1 -pedantic-errors -std=c++11 -triple x86_64-linux-gnu -emit-pch %s -o %t<br>
 // RUN: %clang_cc1 -pedantic-errors -std=c++11 -triple x86_64-linux-gnu -include-pch %t -verify %s<br>
-<br>
+// REQUIRES: x86-registered-target<br>
 #ifndef HEADER_INCLUDED<br>
<br>
 #define HEADER_INCLUDED<br>
<br>
Modified: cfe/trunk/test/PCH/va_arg.c<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_va-5Farg.c-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=Ti3eUoSVoakMPI4oTcwZtsxpBFh74O4AE9spSXFtrj4&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/va_arg.c?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/va_arg.c (original)<br>
+++ cfe/trunk/test/PCH/va_arg.c Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,6 @@<br>
 // Test this without pch.<br>
 // RUN: %clang_cc1 -triple=x86_64-unknown-freebsd7.0 -include %S/va_arg.h %s -emit-llvm -o -<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // Test with pch.<br>
 // RUN: %clang_cc1 -triple=x86_64-unknown-freebsd7.0 -emit-pch -o %t %S/va_arg.h<br>
<br>
Modified: cfe/trunk/test/PCH/va_arg.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_test_PCH_va-5Farg.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=X1kfTzBj32Z1JfcG1Bstsi7Y8X18Bhg-CbWx-nciAY8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/test/PCH/va_arg.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/PCH/va_arg.cpp (original)<br>
+++ cfe/trunk/test/PCH/va_arg.cpp Tue Jul  7 15:11:29 2015<br>
@@ -1,5 +1,6 @@<br>
 // Test this without pch.<br>
 // RUN: %clang_cc1 -triple=x86_64-unknown-freebsd7.0 -include %S/Inputs/va_arg.h %s -emit-llvm -o -<br>
+// REQUIRES: x86-registered-target<br>
<br>
 // Test with pch.<br>
 // RUN: %clang_cc1 -triple=x86_64-unknown-freebsd7.0 -emit-pch -x c++-header -o %t %S/Inputs/va_arg.h<br>
<br>
Modified: cfe/trunk/tools/clang-check/CMakeLists.txt<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_tools_clang-2Dcheck_CMakeLists.txt-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=dC0kk6hu-Kfp24foxe0Fv14dTeHUrUC80p-4MZH4cig&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-check/CMakeLists.txt?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/tools/clang-check/CMakeLists.txt (original)<br>
+++ cfe/trunk/tools/clang-check/CMakeLists.txt Tue Jul  7 15:11:29 2015<br>
@@ -1,4 +1,5 @@<br>
 set(LLVM_LINK_COMPONENTS<br>
+  ${LLVM_TARGETS_TO_BUILD}<br>
   Option<br>
   Support<br>
   )<br>
@@ -11,6 +12,7 @@ target_link_libraries(clang-check<br>
   clangAST<br>
   clangBasic<br>
   clangDriver<br>
+  clangCodeGen<br>
   clangFrontend<br>
   clangRewriteFrontend<br>
   clangStaticAnalyzerFrontend<br>
<br>
Modified: cfe/trunk/tools/clang-check/ClangCheck.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_tools_clang-2Dcheck_ClangCheck.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=MkvgKeBIvGXrhPRsPYaJtlBaVUw4x9gZpwQ9_OCK1nM&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-check/ClangCheck.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/tools/clang-check/ClangCheck.cpp (original)<br>
+++ cfe/trunk/tools/clang-check/ClangCheck.cpp Tue Jul  7 15:11:29 2015<br>
@@ -17,6 +17,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "clang/AST/ASTConsumer.h"<br>
+#include "clang/CodeGen/ObjectFilePCHContainerOperations.h"<br>
 #include "clang/Driver/Options.h"<br>
 #include "clang/Frontend/ASTConsumers.h"<br>
 #include "clang/Frontend/CompilerInstance.h"<br>
@@ -151,7 +152,8 @@ int main(int argc, const char **argv) {<br>
   llvm::sys::PrintStackTraceOnErrorSignal();<br>
   CommonOptionsParser OptionsParser(argc, argv, ClangCheckCategory);<br>
   ClangTool Tool(OptionsParser.getCompilations(),<br>
-                 OptionsParser.getSourcePathList());<br>
+                 OptionsParser.getSourcePathList(),<br>
+                 std::make_shared<clang::ObjectFilePCHContainerOperations>());<br>
<br>
   // Clear adjusters because -fsyntax-only is inserted by the default chain.<br>
   Tool.clearArgumentsAdjusters();<br>
<br>
Modified: cfe/trunk/tools/clang-check/Makefile<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_tools_clang-2Dcheck_Makefile-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=YquQYpK9dKfbNsxgmbRZeKmmv_9jzN9Rn3Mn4jPZkYU&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-check/Makefile?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/tools/clang-check/Makefile (original)<br>
+++ cfe/trunk/tools/clang-check/Makefile Tue Jul  7 15:11:29 2015<br>
@@ -15,11 +15,14 @@ TOOLNAME = clang-check<br>
 TOOL_NO_EXPORTS = 1<br>
<br>
 include $(CLANG_LEVEL)/../../Makefile.config<br>
-LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader support mc option<br>
-USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a \<br>
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader ipo objcarcopts \<br>
+                   instrumentation bitwriter support mc option<br>
+USEDLIBS = clangFrontend.a clangCodeGen.a clangIndex.a \<br>
+           clangSerialization.a clangDriver.a \<br>
            clangTooling.a clangParse.a clangSema.a \<br>
            clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a \<br>
            clangStaticAnalyzerCore.a clangAnalysis.a clangRewriteFrontend.a \<br>
-           clangRewrite.a clangEdit.a clangAST.a clangLex.a clangBasic.a<br>
+           clangRewrite.a clangEdit.a clangAST.a clangLex.a \<br>
+           clangBasic.a<br>
<br>
 include $(CLANG_LEVEL)/Makefile<br>
<br>
Modified: cfe/trunk/tools/driver/cc1_main.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_tools_driver_cc1-5Fmain.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=kBNtp131-DPjd2spUP_3OOwwpV9lH5RZI_2yBvosdLQ&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/driver/cc1_main.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/tools/driver/cc1_main.cpp (original)<br>
+++ cfe/trunk/tools/driver/cc1_main.cpp Tue Jul  7 15:11:29 2015<br>
@@ -14,7 +14,7 @@<br>
 //===----------------------------------------------------------------------===//<br>
<br>
 #include "llvm/Option/Arg.h"<br>
-#include "clang/Frontend/PCHContainerOperations.h"<br>
+#include "clang/CodeGen/ObjectFilePCHContainerOperations.h"<br>
 #include "clang/Driver/DriverDiagnostic.h"<br>
 #include "clang/Driver/Options.h"<br>
 #include "clang/Frontend/CompilerInstance.h"<br>
@@ -65,8 +65,8 @@ void initializePollyPasses(llvm::PassReg<br>
 #endif<br>
<br>
 int cc1_main(ArrayRef<const char *> Argv, const char *Argv0, void *MainAddr) {<br>
-  std::unique_ptr<CompilerInstance> Clang(<br>
-      new CompilerInstance(std::make_shared<RawPCHContainerOperations>()));<br>
+  std::unique_ptr<CompilerInstance> Clang(new CompilerInstance(<br>
+      std::make_shared<ObjectFilePCHContainerOperations>()));<br>
   IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs());<br>
<br>
   // Initialize targets first, so that --version shows registered targets.<br>
<br>
Modified: cfe/trunk/tools/libclang/CIndex.cpp<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_tools_libclang_CIndex.cpp-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=xSaxlfbMkejA4AU09XhlMxNNWaa0toMNum6r08VKSL8&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/tools/libclang/CIndex.cpp (original)<br>
+++ cfe/trunk/tools/libclang/CIndex.cpp Tue Jul  7 15:11:29 2015<br>
@@ -29,6 +29,7 @@<br>
 #include "clang/Basic/DiagnosticIDs.h"<br>
 #include "clang/Basic/TargetInfo.h"<br>
 #include "clang/Basic/Version.h"<br>
+#include "clang/CodeGen/ObjectFilePCHContainerOperations.h"<br>
 #include "clang/Frontend/ASTUnit.h"<br>
 #include "clang/Frontend/CompilerInstance.h"<br>
 #include "clang/Frontend/FrontendDiagnostic.h"<br>
@@ -2876,7 +2877,8 @@ CXIndex clang_createIndex(int excludeDec<br>
   // registered once.<br>
   (void)*RegisterFatalErrorHandlerOnce;<br>
<br>
-  CIndexer *CIdxr = new CIndexer();<br>
+  CIndexer *CIdxr =<br>
+      new CIndexer(std::make_shared<ObjectFilePCHContainerOperations>());<br>
   if (excludeDeclarationsFromPCH)<br>
     CIdxr->setOnlyLocalDecls();<br>
   if (displayDiagnostics)<br>
<br>
Modified: cfe/trunk/tools/libclang/CMakeLists.txt<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_tools_libclang_CMakeLists.txt-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=muyTKexHiczE3w2lO1CO460pzlSHKbmtbzXEFDaJb6Y&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CMakeLists.txt?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/tools/libclang/CMakeLists.txt (original)<br>
+++ cfe/trunk/tools/libclang/CMakeLists.txt Tue Jul  7 15:11:29 2015<br>
@@ -37,9 +37,14 @@ set(SOURCES<br>
   ../../include/clang-c/Index.h<br>
   )<br>
<br>
+set( LLVM_LINK_COMPONENTS<br>
+  ${LLVM_TARGETS_TO_BUILD}<br>
+  )<br>
+<br>
 set(LIBS<br>
   clangAST<br>
   clangBasic<br>
+  clangCodeGen<br>
   clangFrontend<br>
   clangIndex<br>
   clangLex<br>
<br>
Modified: cfe/trunk/tools/libclang/Makefile<br>
URL: <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__llvm.org_viewvc_llvm-2Dproject_cfe_trunk_tools_libclang_Makefile-3Frev-3D241620-26r1-3D241619-26r2-3D241620-26view-3Ddiff&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=BSqEv9KvKMW_Ob8SyngJ70KdZISM_ASROnREeq0cCxk&m=GyRlXN9iC1TQf9v_Dn-8jYyL6nOTxZluphArOvZ-kHg&s=IsFlBxKbwdbuVuEO6EjnyeosQ9_AwiZCE9GPhwBlQ2E&e=" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/Makefile?rev=241620&r1=241619&r2=241620&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/tools/libclang/Makefile (original)<br>
+++ cfe/trunk/tools/libclang/Makefile Tue Jul  7 15:11:29 2015<br>
@@ -16,19 +16,21 @@ LINK_LIBS_IN_SHARED = 1<br>
 SHARED_LIBRARY = 1<br>
<br>
 include $(CLANG_LEVEL)/../../Makefile.config<br>
-LINK_COMPONENTS := AsmParser BitReader Core MC MCParser Option Support<br>
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter core \<br>
+                   instrumentation ipo mc mcparser objcarcopts option support \<br>
+                   object<br>
 USEDLIBS = clangIndex.a clangARCMigrate.a \<br>
           clangRewriteFrontend.a \<br>
           clangFormat.a \<br>
           clangTooling.a clangToolingCore.a \<br>
-          clangFrontend.a clangDriver.a \<br>
+          clangFrontend.a clangCodeGen.a clangDriver.a \<br>
           clangSerialization.a \<br>
           clangParse.a clangSema.a \<br>
           clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \<br>
           clangRewrite.a \<br>
           clangAnalysis.a clangEdit.a \<br>
           clangASTMatchers.a \<br>
-          clangAST.a clangLex.a clangBasic.a \<br>
+          clangAST.a clangLex.a clangBasic.a<br>
<br>
 include $(CLANG_LEVEL)/Makefile<br>
<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</blockquote></div></div></div>