<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Jul 13, 2015 at 9:37 AM, Adrian Prantl <span dir="ltr"><<a href="mailto:aprantl@apple.com" target="_blank">aprantl@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I actually removed the initialization from ObjectFilePCHContainerOperations in r241653. Is this still reproducing for you?</blockquote><div><br></div><div>Yes. To reproduce, delete your module cache and build anything that will trigger an implicit module build with -ftime-report.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="HOEnZb"><font color="#888888"><br>
-- adrian<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
> On Jul 13, 2015, at 12:00 AM, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>
><br>
> I think you broke -ftime-report. Using it in a build that implicitly builds a module results in this:<br>
> clang: for the -time-passes option: may only occur zero or one times!<br>
> ... because initializing the backend multiple times sets the global -time-passes option multiple times.<br>
><br>
> On Tue, Jul 7, 2015 at 1:11 PM, Adrian Prantl <<a href="mailto:aprantl@apple.com">aprantl@apple.com</a>> wrote:<br>
> 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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=BRGUALhyP0396WIphZYUXNGN-KXrKQOtCBjcSllSxHI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=7y3btO5I4g9kVKkihjc1LsaupemZ6v7urvWnZYz7bXI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=xpKzyhfoEcrosPq-IINTLYRsSL92ykDUrnj6G5spMfo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=xGgM-rLfLAqX_3FOj9ue8eepIn4L3xvPvvycyDhx76Y&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=JD8Yp-aq3HUXeteTwVauYB-6JYlinj3fkr_KSUU78aE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=pLUDNuLn03q7ccF7e68OKaFAGhfKDqJaxqNkkkTgGyM&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=JM97eHmUvcUAI89ANSoa2CQdFaBUF_YnOBwW05VRqCo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=ka9sjuu8hhUv_iun-8q-hsJ_krphAJ1UkRF0-KM0yDQ&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=bX21UbDIyCAOBi8rkbt7AhGGCo9kwbKyzDe1dziIARc&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=6t3M3wyHKC-UXCiaFr9LU0XADPKxuRhuRV59aISUuZg&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=rtFnfPoQ2Z9i7WsZEwBjRqZBahktlwR_UxUEc6451oc&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=g8tuqrqSoKNgElN8My_Tu5xUBwJsMZi6j5H3xVam3Es&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=DF0jGtvMe4Xp8lDMOYRci2PwhPG2NehVHOAI_iGTlTI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=1sZT9P-CES6hHlKk_MHMSv0ApM9aE45Empf4O3duLdo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=lOQ1nhESldNfcIWsXbAOistwzhALo6jp21KAQI0jgEU&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=mo8NLFnh5jJrjmL1NYnuGj7Bbtp6qcQhflQQ56xsxEA&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=X_eOj_nCVZRJAUbk4ypNnfxhyaxgKwZlBebejgLzYMg&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=Zt8LlcKmoMjEUJJaHPKm0raaO8ORajpcx-yr-nzJn68&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=XJ6lRdwrkDQXn_rMJZJ6wYD7OW0N18tslxgrAyGEvoc&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=HhOExs1Bsxlxs09h841WT7TXPGhgZRDIgKhwVgMmn-k&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=R0wE1yD3Bs9SPJkPjwd63wvQRIZamJsks_ec691WfBU&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=PPQtC7d36w2imOGTJVZYDkq8wcPQEONCAHkwKnLcDk0&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=jhovrS5HlLadzR5CaB8piPAssgHulvuXH7ac1Qf88o4&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=4RVmSYz-ZZiPBMPpLwBgvRagkcfrh8Dx7slRtvq7FcQ&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=wMvdFLs2Ws6a0cyohmTAgMjz7xmS7I9UmzzyGp8S334&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=xC0R3fX7qRtsSxvUZ7P796MA9PmF29i2aGkUWBuenxQ&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=Od4CcJWzrsD_nX_T9vaFIYMk9_rtgh3Jxa8Km2n9IRo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=HNxtCRQaNNd1uGPn2IfF4DTHFvRjKaV8ZOabCyZGHDA&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=5381qhIB4j60Lw2ZBQFIJGIrPao4WUO4Ld1W6aESFHs&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=7y3btO5I4g9kVKkihjc1LsaupemZ6v7urvWnZYz7bXI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=mAc3Iq-Fo2IO3QAv9003Ai41e-VKfQlgNujbvZ-o8rc&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=7y3btO5I4g9kVKkihjc1LsaupemZ6v7urvWnZYz7bXI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=7y3btO5I4g9kVKkihjc1LsaupemZ6v7urvWnZYz7bXI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=xpKzyhfoEcrosPq-IINTLYRsSL92ykDUrnj6G5spMfo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=6x-r5KNXehb3aBUrjgvScD13IZ0Ph7J0GxLT65FKpqE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=xpKzyhfoEcrosPq-IINTLYRsSL92ykDUrnj6G5spMfo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=xpKzyhfoEcrosPq-IINTLYRsSL92ykDUrnj6G5spMfo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=0N5ImzGPhjBUN4k3-kIGBhgIUvlcoVTZjD2sYYFIgIQ&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=sPbCSNfS8To3Qkmy3VuBr_RuMwHjGHFuDBKKZESP2q4&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=b3g6yHkKmhqOTDdKyXzxMLo7y80ObQY4CDtF7PxClHM&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=v0-BxgyZq65Ts5NaxVcYYRBQhUmstM1QyDt9UrHgpmE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=g8kdWS-vTNoRrFDE3FyqjezCf87Ye4KQT1XJnOgNIkE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=27_prUXXAJaA_yuxv6_gFaHZssEbhWCZjHPnPYn8GIE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=mCJAyEBSdAGTskUQMST2utQnZIsgLQgP5-cLn_USJuc&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=rIG3byMiJ6aoDWgTdHuV86wrQZBDy4hN39ZTXJeH2HA&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=IyS2nzOpLxLeA34XCSAMukxOzKAOyprT3X2BV4QPRRk&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=aCff_nXStAxPvxhlUnBb10ifkl_YTdMEid_u__Z3EjQ&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=nod_sI8YhoMW60s3my-_GkdH3-YsoXlfmHwieIJv-D0&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=YwU999UUgZ6GUkZWSWMtYFNq8g4G64GrlukzPh7pvC0&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=YuLwao9nVlt5xVjeqNkF7jsMztctBWLII2OtlIxgFgc&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=M1j20kH-a9TujOTyPpMCfrucsQjfx8JbCk2wngH3Bwo&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=8LnDFqnXqG3V95bqtpvIlvecWkH9Pe4xkmwloo2h9bI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=VhaRrjSyzCT5udtrojExVdY3bhB2Zn8LXso1JHkrny8&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=gK9uZDpGJqpWnl5eS5noy9PISpkbCmAVg-41FKlAn_w&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=lJGkpLysWx3s2tZcFiwEPD0czpSx_os5OtYTgJp1x00&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=PCtbe_WrHkwHZkygMn_m4GNFMX-XNGkAUa5IBWQdaiw&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=_3NBvMKH1G6G4SuSOeavV_und565RogYAm61TttOzKE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=jplE660jwdtnlmaIhmVndx1eNxomFW_-BPqlPhDsLzQ&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=pORaDGgfL6NGcw-_n0brbzaAJt5wS90CzRGrRgfQrJE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=gHtEl_pZB2JtfePa7l8UZQWJd6MQJ-03bKD3L0VIiKc&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=_D3gvJP2x3IcEoBcdaLEsQlsam4a4Xn5t9D50aPAbNw&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=2l9aDe1-ZhkObrl4MqAJM-y7v4Bfs87Ykj5ODMXqRrI&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=gKYNor_ZZKn5Ahjl26LStcW6slZKJ4fgngrvOtrwONA&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=7SzcL_2MIAdBn-gGqbzW0glne1LfjmOH7ZdY31aAvVw&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=t7KtZtNyV8LmH4gXTUEi1QGJdTUz5INTzC5aQt-BCh0&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=64IObKoUmmf_uQsnslbs_UnptDYfr_ZH_A7wvNTI2ok&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=SMimCeA9NVD265ZU0pvDMuzheOTccdLXSooW0Hjd6rw&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=vXXkZQ7JE28aA2nGgnLkjZoaw6WBscWws3hxb9Iv-Sk&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=lKyKu2g4Fktn1VFC6M7I5elL1Eoa1pmWpMBqDBtzKeM&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=rRPA0nNwaCHXda0pw8_o5Y5dMyOa-Uc3IZKLjJlI7qE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=IO98LcJEFNsemFo-1pUDarkS6-w_ycBp7mZYfUl5RYE&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=k49bdTGJesJv1-r_jNhxsZMlRZxjzoPXMPK4YeKNKvs&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=rEF32q8sFE4JpY3B4VVr90h5AB6KnQMHB4j1iout3CY&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=8bvppPEwClpeaW3jhpepbAvpd8rKU6vxpbUlcV1Frf4&s=_dNK23R1GbThkToJEZz-07cg6pkAalWPZcPnCgQqvX8&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">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>
><br>
<br>
</div></div></blockquote></div><br></div></div>