From owner-svn-src-projects@freebsd.org Mon Mar 4 19:06:54 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 5E32C151F1E1 for ; Mon, 4 Mar 2019 19:06:54 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0F131821F7; Mon, 4 Mar 2019 19:06:54 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id F4143854F; Mon, 4 Mar 2019 19:06:53 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x24J6rwg002778; Mon, 4 Mar 2019 19:06:53 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x24J6pGA002766; Mon, 4 Mar 2019 19:06:51 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201903041906.x24J6pGA002766@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 4 Mar 2019 19:06:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344774 - in projects/clang800-import: contrib/llvm/lib/Target/AArch64 contrib/llvm/lib/Target/WebAssembly contrib/llvm/lib/Target/X86 contrib/llvm/tools/clang/include/clang/Basic contr... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang800-import: contrib/llvm/lib/Target/AArch64 contrib/llvm/lib/Target/WebAssembly contrib/llvm/lib/Target/X86 contrib/llvm/tools/clang/include/clang/Basic contrib/llvm/tools/clang/lib/D... X-SVN-Commit-Revision: 344774 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 0F131821F7 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.982,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2019 19:06:54 -0000 Author: dim Date: Mon Mar 4 19:06:51 2019 New Revision: 344774 URL: https://svnweb.freebsd.org/changeset/base/344774 Log: Merge llvm, clang, compiler-rt, libc++, lld, and lldb release_80 branch r355313, resolve conflicts, and bump version numbers. Modified: projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp projects/clang800-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td projects/clang800-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang800-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td projects/clang800-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp projects/clang800-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/clang800-import/contrib/llvm/tools/llvm-xray/xray-converter.cpp projects/clang800-import/lib/clang/include/clang/Basic/Version.inc projects/clang800-import/lib/clang/include/lld/Common/Version.inc projects/clang800-import/lib/clang/include/llvm/Support/VCSRevision.h Directory Properties: projects/clang800-import/contrib/compiler-rt/ (props changed) projects/clang800-import/contrib/libc++/ (props changed) projects/clang800-import/contrib/llvm/ (props changed) projects/clang800-import/contrib/llvm/tools/clang/ (props changed) projects/clang800-import/contrib/llvm/tools/lld/ (props changed) projects/clang800-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp Mon Mar 4 19:06:51 2019 (r344774) @@ -471,9 +471,18 @@ void AArch64AsmPrinter::EmitJumpTableInfo() { const std::vector &JT = MJTI->getJumpTables(); if (JT.empty()) return; + const Function &F = MF->getFunction(); const TargetLoweringObjectFile &TLOF = getObjFileLowering(); - MCSection *ReadOnlySec = TLOF.getSectionForJumpTable(MF->getFunction(), TM); - OutStreamer->SwitchSection(ReadOnlySec); + bool JTInDiffSection = + !STI->isTargetCOFF() || + !TLOF.shouldPutJumpTableInFunctionSection( + MJTI->getEntryKind() == MachineJumpTableInfo::EK_LabelDifference32, + F); + if (JTInDiffSection) { + // Drop it in the readonly section. + MCSection *ReadOnlySec = TLOF.getSectionForJumpTable(F, TM); + OutStreamer->SwitchSection(ReadOnlySec); + } auto AFI = MF->getInfo(); for (unsigned JTI = 0, e = JT.size(); JTI != e; ++JTI) { Modified: projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp Mon Mar 4 19:06:51 2019 (r344774) @@ -2108,9 +2108,6 @@ void AArch64FrameLowering::processFunctionBeforeFrameF while (MBBI != MBB.end() && MBBI->getFlag(MachineInstr::FrameSetup)) ++MBBI; - if (MBBI->isTerminator()) - return; - // Create an UnwindHelp object. int UnwindHelpFI = MFI.CreateStackObject(/*size*/8, /*alignment*/16, false); @@ -2118,8 +2115,10 @@ void AArch64FrameLowering::processFunctionBeforeFrameF // We need to store -2 into the UnwindHelp object at the start of the // function. DebugLoc DL; - RS->enterBasicBlock(MBB); - unsigned DstReg = RS->scavengeRegister(&AArch64::GPR64RegClass, MBBI, 0); + RS->enterBasicBlockEnd(MBB); + RS->backward(std::prev(MBBI)); + unsigned DstReg = RS->FindUnusedReg(&AArch64::GPR64commonRegClass); + assert(DstReg && "There must be a free register after frame setup"); BuildMI(MBB, MBBI, DL, TII.get(AArch64::MOVi64imm), DstReg).addImm(-2); BuildMI(MBB, MBBI, DL, TII.get(AArch64::STURXi)) .addReg(DstReg, getKillRegState(true)) Modified: projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp Mon Mar 4 19:06:51 2019 (r344774) @@ -209,8 +209,8 @@ static std::string computeDataLayout(const Triple &TT, static Reloc::Model getEffectiveRelocModel(const Triple &TT, Optional RM) { - // AArch64 Darwin is always PIC. - if (TT.isOSDarwin()) + // AArch64 Darwin and Windows are always PIC. + if (TT.isOSDarwin() || TT.isOSWindows()) return Reloc::PIC_; // On ELF platforms the default static relocation model has a smart enough // linker to cope with referencing external symbols defined in a shared Modified: projects/clang800-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td ============================================================================== --- projects/clang800-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td Mon Mar 4 19:06:51 2019 (r344774) @@ -122,10 +122,3 @@ def : Pat<(select (i32 (seteq I32:$cond, 0)), I32:$lhs (SELECT_I32 I32:$rhs, I32:$lhs, I32:$cond)>; def : Pat<(select (i32 (seteq I32:$cond, 0)), I64:$lhs, I64:$rhs), (SELECT_I64 I64:$rhs, I64:$lhs, I32:$cond)>; - -// The legalizer inserts an unnecessary `and 1` to make input conform -// to getBooleanContents, which we can lower away. -def : Pat<(select (i32 (and I32:$cond, 1)), I32:$lhs, I32:$rhs), - (SELECT_I32 I32:$lhs, I32:$rhs, I32:$cond)>; -def : Pat<(select (i32 (and I32:$cond, 1)), I64:$lhs, I64:$rhs), - (SELECT_I64 I64:$lhs, I64:$rhs, I32:$cond)>; Modified: projects/clang800-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Mon Mar 4 19:06:51 2019 (r344774) @@ -38134,8 +38134,11 @@ static SDValue combineTruncatedArithmetic(SDNode *N, S return true; // See if this is a single use constant which can be constant folded. - SDValue BC = peekThroughOneUseBitcasts(Op); - return ISD::isBuildVectorOfConstantSDNodes(BC.getNode()); + // NOTE: We don't peek throught bitcasts here because there is currently + // no support for constant folding truncate+bitcast+vector_of_constants. So + // we'll just send up with a truncate on both operands which will + // get turned back into (truncate (binop)) causing an infinite loop. + return ISD::isBuildVectorOfConstantSDNodes(Op.getNode()); }; auto TruncateArithmetic = [&](SDValue N0, SDValue N1) { Modified: projects/clang800-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td ============================================================================== --- projects/clang800-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td Mon Mar 4 19:06:51 2019 (r344774) @@ -3821,13 +3821,13 @@ The ``gnu_inline`` changes the meaning of ``extern inl semantics, meaning: * If any declaration that is declared ``inline`` is not declared ``extern``, -then the ``inline`` keyword is just a hint. In particular, an out-of-line -definition is still emitted for a function with external linkage, even if all -call sites are inlined, unlike in C99 and C++ inline semantics. + then the ``inline`` keyword is just a hint. In particular, an out-of-line + definition is still emitted for a function with external linkage, even if all + call sites are inlined, unlike in C99 and C++ inline semantics. * If all declarations that are declared ``inline`` are also declared -``extern``, then the function body is present only for inlining and no -out-of-line version is emitted. + ``extern``, then the function body is present only for inlining and no + out-of-line version is emitted. Some important consequences: ``static inline`` emits an out-of-line version if needed, a plain ``inline`` definition emits an out-of-line version Modified: projects/clang800-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp Mon Mar 4 19:06:51 2019 (r344774) @@ -227,9 +227,7 @@ void openbsd::Linker::ConstructJob(Compilation &C, con CmdArgs.push_back(Args.MakeArgString(ToolChain.GetFilePath(crtend))); } - const char *Exec = Args.MakeArgString( - !NeedsSanitizerDeps ? ToolChain.GetLinkerPath() - : ToolChain.GetProgramPath("ld.lld")); + const char *Exec = Args.MakeArgString(ToolChain.GetLinkerPath()); C.addCommand(llvm::make_unique(JA, *this, Exec, CmdArgs, Inputs)); } Modified: projects/clang800-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp Mon Mar 4 19:06:51 2019 (r344774) @@ -433,14 +433,6 @@ void InitHeaderSearch::AddDefaultCPlusPlusIncludePaths case llvm::Triple::DragonFly: AddPath("/usr/include/c++/5.0", CXXSystem, false); break; - case llvm::Triple::OpenBSD: { - std::string t = triple.getTriple(); - if (t.substr(0, 6) == "x86_64") - t.replace(0, 6, "amd64"); - AddGnuCPlusPlusIncludePaths("/usr/include/g++", - t, "", "", triple); - break; - } case llvm::Triple::Minix: AddGnuCPlusPlusIncludePaths("/usr/gnu/include/c++/4.4.3", "", "", "", triple); Modified: projects/clang800-import/contrib/llvm/tools/llvm-xray/xray-converter.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/tools/llvm-xray/xray-converter.cpp Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/contrib/llvm/tools/llvm-xray/xray-converter.cpp Mon Mar 4 19:06:51 2019 (r344774) @@ -18,7 +18,6 @@ #include "llvm/Support/EndianStream.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/FormatVariadic.h" -#include "llvm/Support/JSON.h" #include "llvm/Support/ScopedPrinter.h" #include "llvm/Support/YAMLTraits.h" #include "llvm/Support/raw_ostream.h" @@ -242,6 +241,31 @@ StackTrieNode *findOrCreateStackNode( return CurrentStack; } +void writeTraceViewerRecord(uint16_t Version, raw_ostream &OS, int32_t FuncId, + uint32_t TId, uint32_t PId, bool Symbolize, + const FuncIdConversionHelper &FuncIdHelper, + double EventTimestampUs, + const StackTrieNode &StackCursor, + StringRef FunctionPhenotype) { + OS << " "; + if (Version >= 3) { + OS << llvm::formatv( + R"({ "name" : "{0}", "ph" : "{1}", "tid" : "{2}", "pid" : "{3}", )" + R"("ts" : "{4:f4}", "sf" : "{5}" })", + (Symbolize ? FuncIdHelper.SymbolOrNumber(FuncId) + : llvm::to_string(FuncId)), + FunctionPhenotype, TId, PId, EventTimestampUs, + StackCursor.ExtraData.id); + } else { + OS << llvm::formatv( + R"({ "name" : "{0}", "ph" : "{1}", "tid" : "{2}", "pid" : "1", )" + R"("ts" : "{3:f3}", "sf" : "{4}" })", + (Symbolize ? FuncIdHelper.SymbolOrNumber(FuncId) + : llvm::to_string(FuncId)), + FunctionPhenotype, TId, EventTimestampUs, StackCursor.ExtraData.id); + } +} + } // namespace void TraceConverter::exportAsChromeTraceEventFormat(const Trace &Records, @@ -252,14 +276,18 @@ void TraceConverter::exportAsChromeTraceEventFormat(co unsigned id_counter = 0; + OS << "{\n \"traceEvents\": ["; DenseMap StackCursorByThreadId{}; DenseMap> StackRootsByThreadId{}; DenseMap StacksByStackId{}; std::forward_list NodeStore{}; - - // Create a JSON Array which will hold all trace events. - json::Array TraceEvents; + int loop_count = 0; for (const auto &R : Records) { + if (loop_count++ == 0) + OS << "\n"; + else + OS << ",\n"; + // Chrome trace event format always wants data in micros. // CyclesPerMicro = CycleHertz / 10^6 // TSC / CyclesPerMicro == TSC * 10^6 / CycleHertz == MicroTimestamp @@ -284,15 +312,8 @@ void TraceConverter::exportAsChromeTraceEventFormat(co // type of B for begin or E for end, thread id, process id, // timestamp in microseconds, and a stack frame id. The ids are logged // in an id dictionary after the events. - TraceEvents.push_back(json::Object({ - {"name", Symbolize ? FuncIdHelper.SymbolOrNumber(R.FuncId) - : llvm::to_string(R.FuncId)}, - {"ph", "B"}, - {"tid", llvm::to_string(R.TId)}, - {"pid", llvm::to_string(Version >= 3 ? R.PId : 1)}, - {"ts", llvm::formatv("{0:f4}", EventTimestampUs)}, - {"sf", llvm::to_string(StackCursor->ExtraData.id)}, - })); + writeTraceViewerRecord(Version, OS, R.FuncId, R.TId, R.PId, Symbolize, + FuncIdHelper, EventTimestampUs, *StackCursor, "B"); break; case RecordTypes::EXIT: case RecordTypes::TAIL_EXIT: @@ -303,51 +324,43 @@ void TraceConverter::exportAsChromeTraceEventFormat(co // (And/Or in loop termination below) StackTrieNode *PreviousCursor = nullptr; do { - TraceEvents.push_back(json::Object({ - {"name", Symbolize - ? FuncIdHelper.SymbolOrNumber(StackCursor->FuncId) - : llvm::to_string(StackCursor->FuncId)}, - {"ph", "E"}, - {"tid", llvm::to_string(R.TId)}, - {"pid", llvm::to_string(Version >= 3 ? R.PId : 1)}, - {"ts", llvm::formatv("{0:f4}", EventTimestampUs)}, - {"sf", llvm::to_string(StackCursor->ExtraData.id)}, - })); + if (PreviousCursor != nullptr) { + OS << ",\n"; + } + writeTraceViewerRecord(Version, OS, StackCursor->FuncId, R.TId, R.PId, + Symbolize, FuncIdHelper, EventTimestampUs, + *StackCursor, "E"); PreviousCursor = StackCursor; StackCursor = StackCursor->Parent; } while (PreviousCursor->FuncId != R.FuncId && StackCursor != nullptr); break; } } + OS << "\n ],\n"; // Close the Trace Events array. + OS << " " + << "\"displayTimeUnit\": \"ns\",\n"; // The stackFrames dictionary substantially reduces size of the output file by // avoiding repeating the entire call stack of function names for each entry. - json::Object StackFrames; - for (const auto &Stack : StacksByStackId) { - const auto &StackId = Stack.first; - const auto &StackFunctionNode = Stack.second; - json::Object::iterator It; - std::tie(It, std::ignore) = StackFrames.insert({ - llvm::to_string(StackId), - json::Object{ - {"name", - Symbolize ? FuncIdHelper.SymbolOrNumber(StackFunctionNode->FuncId) - : llvm::to_string(StackFunctionNode->FuncId)}}, - }); - - if (StackFunctionNode->Parent != nullptr) - It->second.getAsObject()->insert( - {"parent", llvm::to_string(StackFunctionNode->Parent->ExtraData.id)}); + OS << R"( "stackFrames": {)"; + int stack_frame_count = 0; + for (auto map_iter : StacksByStackId) { + if (stack_frame_count++ == 0) + OS << "\n"; + else + OS << ",\n"; + OS << " "; + OS << llvm::formatv( + R"("{0}" : { "name" : "{1}")", map_iter.first, + (Symbolize ? FuncIdHelper.SymbolOrNumber(map_iter.second->FuncId) + : llvm::to_string(map_iter.second->FuncId))); + if (map_iter.second->Parent != nullptr) + OS << llvm::formatv(R"(, "parent": "{0}")", + map_iter.second->Parent->ExtraData.id); + OS << " }"; } - - json::Object TraceJSON{ - {"displayTimeUnit", "ns"}, - {"traceEvents", std::move(TraceEvents)}, - {"stackFrames", std::move(StackFrames)}, - }; - - // Pretty-print the JSON using two spaces for indentations. - OS << formatv("{0:2}", json::Value(std::move(TraceJSON))); + OS << "\n }\n"; // Close the stack frames map. + OS << "}\n"; // Close the JSON entry. } namespace llvm { Modified: projects/clang800-import/lib/clang/include/clang/Basic/Version.inc ============================================================================== --- projects/clang800-import/lib/clang/include/clang/Basic/Version.inc Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/lib/clang/include/clang/Basic/Version.inc Mon Mar 4 19:06:51 2019 (r344774) @@ -8,4 +8,4 @@ #define CLANG_VENDOR "FreeBSD " -#define SVN_REVISION "354799" +#define SVN_REVISION "355313" Modified: projects/clang800-import/lib/clang/include/lld/Common/Version.inc ============================================================================== --- projects/clang800-import/lib/clang/include/lld/Common/Version.inc Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/lib/clang/include/lld/Common/Version.inc Mon Mar 4 19:06:51 2019 (r344774) @@ -7,4 +7,4 @@ #define LLD_REPOSITORY_STRING "FreeBSD" // - -#define LLD_REVISION_STRING "354799-1300002" +#define LLD_REVISION_STRING "355313-1300002" Modified: projects/clang800-import/lib/clang/include/llvm/Support/VCSRevision.h ============================================================================== --- projects/clang800-import/lib/clang/include/llvm/Support/VCSRevision.h Mon Mar 4 18:26:08 2019 (r344773) +++ projects/clang800-import/lib/clang/include/llvm/Support/VCSRevision.h Mon Mar 4 19:06:51 2019 (r344774) @@ -1,2 +1,2 @@ /* $FreeBSD$ */ -#define LLVM_REVISION "svn-r354799" +#define LLVM_REVISION "svn-r355313" From owner-svn-src-projects@freebsd.org Mon Mar 4 19:10:24 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DE2A0151F3E5 for ; Mon, 4 Mar 2019 19:10:23 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7D26082454; Mon, 4 Mar 2019 19:10:23 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 58BF58558; Mon, 4 Mar 2019 19:10:23 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x24JANSE003178; Mon, 4 Mar 2019 19:10:23 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x24JANP2003177; Mon, 4 Mar 2019 19:10:23 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903041910.x24JANP2003177@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 4 Mar 2019 19:10:23 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344775 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344775 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 7D26082454 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.980,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2019 19:10:24 -0000 Author: asomers Date: Mon Mar 4 19:10:22 2019 New Revision: 344775 URL: https://svnweb.freebsd.org/changeset/base/344775 Log: fuse(4): add tests for negative lookups PR: 236226 Sponsored by: The FreeBSD Foundation Modified: projects/fuse2/tests/sys/fs/fuse/lookup.cc Modified: projects/fuse2/tests/sys/fs/fuse/lookup.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/lookup.cc Mon Mar 4 19:06:51 2019 (r344774) +++ projects/fuse2/tests/sys/fs/fuse/lookup.cc Mon Mar 4 19:10:22 2019 (r344775) @@ -198,6 +198,65 @@ TEST_F(Lookup, entry_cache) ASSERT_EQ(0, access(FULLPATH, F_OK)) << strerror(errno); } +/* + * If the daemon returns an error of 0 and an inode of 0, that's a flag for + * "ENOENT and cache it" with the given entry_timeout + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236226 */ +TEST_F(Lookup, DISABLED_entry_cache_negative) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([](auto in) { + return (in->header.opcode == FUSE_LOOKUP); + }, Eq(true)), + _) + ).Times(1) + .WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.nodeid = 0; + out->body.entry.entry_valid = UINT64_MAX; + SET_OUT_HEADER_LEN(out, entry); + })); + EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); + EXPECT_EQ(ENOENT, errno); + EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); + EXPECT_EQ(ENOENT, errno); +} + +/* Negative entry caches should timeout, too */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236226 */ +TEST_F(Lookup, DISABLED_entry_cache_negative_timeout) +{ + /* + * The timeout should be longer than the longest plausible time the + * daemon would take to complete a write(2) to /dev/fuse, but no longer. + */ + long timeout_ns = 250'000'000; + + EXPECT_CALL(*m_mock, process( + ResultOf([](auto in) { + return (in->header.opcode == FUSE_LOOKUP); + }, Eq(true)), + _) + ).Times(1) + .WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.nodeid = 0; + out->body.entry.entry_valid_nsec = timeout_ns; + SET_OUT_HEADER_LEN(out, entry); + })); + EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); + EXPECT_EQ(ENOENT, errno); + + usleep(2 * timeout_ns / 1000); + + /* The cache has timed out; VOP_LOOKUP should requery the daemon*/ + EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); + EXPECT_EQ(ENOENT, errno); +} + /* * If lookup returns a finite but non-zero entry cache timeout, then we should * discard the cached inode and requery the daemon From owner-svn-src-projects@freebsd.org Mon Mar 4 19:14:37 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 81914151F7E0 for ; Mon, 4 Mar 2019 19:14:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 11C9682ADB; Mon, 4 Mar 2019 19:14:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 055B986F9; Mon, 4 Mar 2019 19:14:36 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x24JEZm9007995; Mon, 4 Mar 2019 19:14:35 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x24JEY2d007984; Mon, 4 Mar 2019 19:14:34 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201903041914.x24JEY2d007984@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 4 Mar 2019 19:14:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344776 - in projects/clang800-import: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common contrib/bearssl contrib/ofed/libcxgb4 crypto/openssl crypto/openssl/... X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang800-import: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common contrib/bearssl contrib/ofed/libcxgb4 crypto/openssl crypto/openssl/apps crypto/openssl/crypt... X-SVN-Commit-Revision: 344776 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 11C9682ADB X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.985,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2019 19:14:37 -0000 Author: dim Date: Mon Mar 4 19:14:32 2019 New Revision: 344776 URL: https://svnweb.freebsd.org/changeset/base/344776 Log: Merge ^/head r344549 through r344775. Added: projects/clang800-import/contrib/bearssl/ - copied from r344775, head/contrib/bearssl/ projects/clang800-import/lib/libbearssl/ - copied from r344775, head/lib/libbearssl/ projects/clang800-import/lib/libsecureboot/ - copied from r344775, head/lib/libsecureboot/ projects/clang800-import/sbin/veriexec/ - copied from r344775, head/sbin/veriexec/ projects/clang800-import/share/man/man4/at45d.4 - copied unchanged from r344775, head/share/man/man4/at45d.4 projects/clang800-import/share/man/man4/mx25l.4 - copied unchanged from r344775, head/share/man/man4/mx25l.4 projects/clang800-import/sys/dev/usb/controller/generic_xhci.c - copied unchanged from r344775, head/sys/dev/usb/controller/generic_xhci.c projects/clang800-import/sys/dev/usb/controller/usb_nop_xceiv.c - copied unchanged from r344775, head/sys/dev/usb/controller/usb_nop_xceiv.c projects/clang800-import/sys/dev/xz/ - copied from r344775, head/sys/dev/xz/ projects/clang800-import/sys/modules/fdt/ - copied from r344775, head/sys/modules/fdt/ projects/clang800-import/sys/modules/xz/ - copied from r344775, head/sys/modules/xz/ projects/clang800-import/sys/powerpc/powernv/opal_async.c - copied unchanged from r344775, head/sys/powerpc/powernv/opal_async.c projects/clang800-import/sys/powerpc/powernv/opal_flash.c - copied unchanged from r344775, head/sys/powerpc/powernv/opal_flash.c projects/clang800-import/sys/sys/seqc.h - copied unchanged from r344775, head/sys/sys/seqc.h projects/clang800-import/tests/sys/common/ - copied from r344775, head/tests/sys/common/ projects/clang800-import/tests/sys/netpfil/pf/CVE-2019-5597.py - copied unchanged from r344775, head/tests/sys/netpfil/pf/CVE-2019-5597.py projects/clang800-import/tools/build/options/WITH_BEARSSL - copied unchanged from r344775, head/tools/build/options/WITH_BEARSSL projects/clang800-import/tools/build/options/WITH_LOADER_VERIEXEC - copied unchanged from r344775, head/tools/build/options/WITH_LOADER_VERIEXEC projects/clang800-import/tools/build/options/WITH_VERIEXEC - copied unchanged from r344775, head/tools/build/options/WITH_VERIEXEC projects/clang800-import/usr.bin/proccontrol/proccontrol.1 - copied unchanged from r344775, head/usr.bin/proccontrol/proccontrol.1 Deleted: projects/clang800-import/stand/efi/loader/arch/i386/efimd.c projects/clang800-import/sys/contrib/xz-embedded/freebsd/xz_malloc.c projects/clang800-import/sys/dev/drm/ projects/clang800-import/sys/dev/drm2/i915/ projects/clang800-import/sys/dev/drm2/radeon/ projects/clang800-import/sys/dev/usb/controller/xhci_mv.c projects/clang800-import/sys/sys/seq.h Modified: projects/clang800-import/MAINTAINERS (contents, props changed) projects/clang800-import/ObsoleteFiles.inc projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c projects/clang800-import/contrib/ofed/libcxgb4/dev.c projects/clang800-import/crypto/openssl/CHANGES projects/clang800-import/crypto/openssl/CONTRIBUTING projects/clang800-import/crypto/openssl/Configure projects/clang800-import/crypto/openssl/INSTALL projects/clang800-import/crypto/openssl/LICENSE projects/clang800-import/crypto/openssl/NEWS projects/clang800-import/crypto/openssl/README projects/clang800-import/crypto/openssl/apps/apps.c projects/clang800-import/crypto/openssl/apps/ct_log_list.cnf projects/clang800-import/crypto/openssl/apps/dh1024.pem projects/clang800-import/crypto/openssl/apps/dh2048.pem projects/clang800-import/crypto/openssl/apps/dh4096.pem projects/clang800-import/crypto/openssl/apps/ocsp.c projects/clang800-import/crypto/openssl/apps/openssl.cnf projects/clang800-import/crypto/openssl/apps/pkcs12.c projects/clang800-import/crypto/openssl/apps/rehash.c projects/clang800-import/crypto/openssl/apps/s_cb.c projects/clang800-import/crypto/openssl/apps/s_client.c projects/clang800-import/crypto/openssl/apps/s_server.c projects/clang800-import/crypto/openssl/apps/speed.c projects/clang800-import/crypto/openssl/apps/verify.c projects/clang800-import/crypto/openssl/config projects/clang800-import/crypto/openssl/crypto/aes/asm/aes-x86_64.pl projects/clang800-import/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl projects/clang800-import/crypto/openssl/crypto/aes/asm/aesv8-armx.pl projects/clang800-import/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl projects/clang800-import/crypto/openssl/crypto/aes/asm/vpaes-armv8.pl projects/clang800-import/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl projects/clang800-import/crypto/openssl/crypto/armcap.c projects/clang800-import/crypto/openssl/crypto/asn1/a_digest.c projects/clang800-import/crypto/openssl/crypto/asn1/a_sign.c projects/clang800-import/crypto/openssl/crypto/asn1/a_verify.c projects/clang800-import/crypto/openssl/crypto/asn1/ameth_lib.c projects/clang800-import/crypto/openssl/crypto/asn1/charmap.h projects/clang800-import/crypto/openssl/crypto/asn1/charmap.pl projects/clang800-import/crypto/openssl/crypto/asn1/d2i_pu.c projects/clang800-import/crypto/openssl/crypto/bio/b_addr.c projects/clang800-import/crypto/openssl/crypto/bio/bss_file.c projects/clang800-import/crypto/openssl/crypto/bio/bss_mem.c projects/clang800-import/crypto/openssl/crypto/bn/asm/armv8-mont.pl projects/clang800-import/crypto/openssl/crypto/bn/asm/ia64.S projects/clang800-import/crypto/openssl/crypto/bn/asm/mips.pl projects/clang800-import/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl projects/clang800-import/crypto/openssl/crypto/bn/asm/sparcv8plus.S projects/clang800-import/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl projects/clang800-import/crypto/openssl/crypto/bn/bn_ctx.c projects/clang800-import/crypto/openssl/crypto/bn/bn_depr.c projects/clang800-import/crypto/openssl/crypto/bn/bn_div.c projects/clang800-import/crypto/openssl/crypto/bn/bn_exp.c projects/clang800-import/crypto/openssl/crypto/bn/bn_lib.c projects/clang800-import/crypto/openssl/crypto/bn/bn_prime.h projects/clang800-import/crypto/openssl/crypto/bn/bn_prime.pl projects/clang800-import/crypto/openssl/crypto/bn/bn_shift.c projects/clang800-import/crypto/openssl/crypto/chacha/asm/chacha-armv8.pl projects/clang800-import/crypto/openssl/crypto/cms/cms_kari.c projects/clang800-import/crypto/openssl/crypto/cms/cms_pwri.c projects/clang800-import/crypto/openssl/crypto/conf/conf_def.c projects/clang800-import/crypto/openssl/crypto/conf/conf_def.h projects/clang800-import/crypto/openssl/crypto/conf/conf_lib.c projects/clang800-import/crypto/openssl/crypto/conf/conf_mod.c projects/clang800-import/crypto/openssl/crypto/conf/conf_sap.c projects/clang800-import/crypto/openssl/crypto/conf/conf_ssl.c projects/clang800-import/crypto/openssl/crypto/conf/keysets.pl projects/clang800-import/crypto/openssl/crypto/cryptlib.c projects/clang800-import/crypto/openssl/crypto/des/asm/des_enc.m4 projects/clang800-import/crypto/openssl/crypto/dso/dso_dlfcn.c projects/clang800-import/crypto/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl projects/clang800-import/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl projects/clang800-import/crypto/openssl/crypto/ec/curve25519.c projects/clang800-import/crypto/openssl/crypto/ec/curve448/eddsa.c projects/clang800-import/crypto/openssl/crypto/ec/curve448/point_448.h projects/clang800-import/crypto/openssl/crypto/ec/ec2_smpl.c projects/clang800-import/crypto/openssl/crypto/ec/ec_ameth.c projects/clang800-import/crypto/openssl/crypto/ec/ec_err.c projects/clang800-import/crypto/openssl/crypto/ec/ec_lcl.h projects/clang800-import/crypto/openssl/crypto/ec/ecp_mont.c projects/clang800-import/crypto/openssl/crypto/ec/ecp_nist.c projects/clang800-import/crypto/openssl/crypto/ec/ecp_nistp224.c projects/clang800-import/crypto/openssl/crypto/ec/ecp_nistp256.c projects/clang800-import/crypto/openssl/crypto/ec/ecp_nistp521.c projects/clang800-import/crypto/openssl/crypto/ec/ecp_nistz256.c projects/clang800-import/crypto/openssl/crypto/ec/ecp_smpl.c projects/clang800-import/crypto/openssl/crypto/ec/ecx_meth.c projects/clang800-import/crypto/openssl/crypto/engine/README projects/clang800-import/crypto/openssl/crypto/engine/eng_devcrypto.c projects/clang800-import/crypto/openssl/crypto/engine/eng_lib.c projects/clang800-import/crypto/openssl/crypto/err/err.c projects/clang800-import/crypto/openssl/crypto/err/openssl.txt projects/clang800-import/crypto/openssl/crypto/evp/evp_enc.c projects/clang800-import/crypto/openssl/crypto/evp/evp_err.c projects/clang800-import/crypto/openssl/crypto/evp/p_lib.c projects/clang800-import/crypto/openssl/crypto/include/internal/bn_int.h projects/clang800-import/crypto/openssl/crypto/init.c projects/clang800-import/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl projects/clang800-import/crypto/openssl/crypto/objects/obj_dat.h projects/clang800-import/crypto/openssl/crypto/objects/obj_dat.pl projects/clang800-import/crypto/openssl/crypto/objects/obj_xref.h projects/clang800-import/crypto/openssl/crypto/objects/objects.pl projects/clang800-import/crypto/openssl/crypto/objects/objxref.pl projects/clang800-import/crypto/openssl/crypto/pem/pem_info.c projects/clang800-import/crypto/openssl/crypto/perlasm/x86_64-xlate.pl projects/clang800-import/crypto/openssl/crypto/poly1305/asm/poly1305-armv8.pl projects/clang800-import/crypto/openssl/crypto/ppc_arch.h projects/clang800-import/crypto/openssl/crypto/ppccap.c projects/clang800-import/crypto/openssl/crypto/ppccpuid.pl projects/clang800-import/crypto/openssl/crypto/rand/rand_unix.c projects/clang800-import/crypto/openssl/crypto/rsa/rsa_ameth.c projects/clang800-import/crypto/openssl/crypto/rsa/rsa_oaep.c projects/clang800-import/crypto/openssl/crypto/rsa/rsa_ossl.c projects/clang800-import/crypto/openssl/crypto/rsa/rsa_pk1.c projects/clang800-import/crypto/openssl/crypto/rsa/rsa_ssl.c projects/clang800-import/crypto/openssl/crypto/rsa/rsa_x931g.c projects/clang800-import/crypto/openssl/crypto/sha/asm/keccak1600-armv8.pl projects/clang800-import/crypto/openssl/crypto/sha/asm/sha512-armv8.pl projects/clang800-import/crypto/openssl/crypto/srp/srp_lib.c projects/clang800-import/crypto/openssl/crypto/srp/srp_vfy.c projects/clang800-import/crypto/openssl/crypto/ui/ui_openssl.c projects/clang800-import/crypto/openssl/crypto/uid.c projects/clang800-import/crypto/openssl/crypto/x509/x509_vfy.c projects/clang800-import/crypto/openssl/crypto/x509/x_crl.c projects/clang800-import/crypto/openssl/crypto/x509/x_pubkey.c projects/clang800-import/crypto/openssl/crypto/x509/x_x509.c projects/clang800-import/crypto/openssl/doc/HOWTO/certificates.txt projects/clang800-import/crypto/openssl/doc/HOWTO/proxy_certificates.txt projects/clang800-import/crypto/openssl/doc/fingerprints.txt projects/clang800-import/crypto/openssl/doc/man1/ca.pod projects/clang800-import/crypto/openssl/doc/man1/ciphers.pod projects/clang800-import/crypto/openssl/doc/man1/cms.pod projects/clang800-import/crypto/openssl/doc/man1/dgst.pod projects/clang800-import/crypto/openssl/doc/man1/ec.pod projects/clang800-import/crypto/openssl/doc/man1/enc.pod projects/clang800-import/crypto/openssl/doc/man1/genpkey.pod projects/clang800-import/crypto/openssl/doc/man1/ocsp.pod projects/clang800-import/crypto/openssl/doc/man1/pkcs12.pod projects/clang800-import/crypto/openssl/doc/man1/pkcs8.pod projects/clang800-import/crypto/openssl/doc/man1/req.pod projects/clang800-import/crypto/openssl/doc/man1/s_client.pod projects/clang800-import/crypto/openssl/doc/man1/s_server.pod projects/clang800-import/crypto/openssl/doc/man1/smime.pod projects/clang800-import/crypto/openssl/doc/man1/storeutl.pod projects/clang800-import/crypto/openssl/doc/man1/verify.pod projects/clang800-import/crypto/openssl/doc/man1/x509.pod projects/clang800-import/crypto/openssl/doc/man3/ASN1_INTEGER_get_int64.pod projects/clang800-import/crypto/openssl/doc/man3/ASYNC_WAIT_CTX_new.pod projects/clang800-import/crypto/openssl/doc/man3/ASYNC_start_job.pod projects/clang800-import/crypto/openssl/doc/man3/BIO_new_CMS.pod projects/clang800-import/crypto/openssl/doc/man3/BN_generate_prime.pod projects/clang800-import/crypto/openssl/doc/man3/BN_rand.pod projects/clang800-import/crypto/openssl/doc/man3/BN_security_bits.pod projects/clang800-import/crypto/openssl/doc/man3/BUF_MEM_new.pod projects/clang800-import/crypto/openssl/doc/man3/CMS_get0_type.pod projects/clang800-import/crypto/openssl/doc/man3/CONF_modules_load_file.pod projects/clang800-import/crypto/openssl/doc/man3/CRYPTO_get_ex_new_index.pod projects/clang800-import/crypto/openssl/doc/man3/CTLOG_STORE_get0_log_by_id.pod projects/clang800-import/crypto/openssl/doc/man3/DH_size.pod projects/clang800-import/crypto/openssl/doc/man3/DTLS_get_data_mtu.pod projects/clang800-import/crypto/openssl/doc/man3/DTLS_set_timer_cb.pod projects/clang800-import/crypto/openssl/doc/man3/DTLSv1_listen.pod projects/clang800-import/crypto/openssl/doc/man3/EC_GROUP_copy.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_DigestInit.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_DigestSignInit.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_DigestVerifyInit.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_EncryptInit.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_CTX_new.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_asn1_get_count.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_decrypt.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_derive.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_encrypt.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_get_default_digest_nid.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_keygen.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_new.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_print_private.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_sign.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_verify.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_PKEY_verify_recover.pod projects/clang800-import/crypto/openssl/doc/man3/EVP_SignInit.pod projects/clang800-import/crypto/openssl/doc/man3/HMAC.pod projects/clang800-import/crypto/openssl/doc/man3/OPENSSL_init_crypto.pod projects/clang800-import/crypto/openssl/doc/man3/OPENSSL_malloc.pod projects/clang800-import/crypto/openssl/doc/man3/OPENSSL_secure_malloc.pod projects/clang800-import/crypto/openssl/doc/man3/OSSL_STORE_INFO.pod projects/clang800-import/crypto/openssl/doc/man3/OSSL_STORE_LOADER.pod projects/clang800-import/crypto/openssl/doc/man3/OSSL_STORE_SEARCH.pod projects/clang800-import/crypto/openssl/doc/man3/OSSL_STORE_expect.pod projects/clang800-import/crypto/openssl/doc/man3/OSSL_STORE_open.pod projects/clang800-import/crypto/openssl/doc/man3/PEM_read_bio_ex.pod projects/clang800-import/crypto/openssl/doc/man3/PEM_write_bio_CMS_stream.pod projects/clang800-import/crypto/openssl/doc/man3/PEM_write_bio_PKCS7_stream.pod projects/clang800-import/crypto/openssl/doc/man3/PKCS12_parse.pod projects/clang800-import/crypto/openssl/doc/man3/PKCS7_sign.pod projects/clang800-import/crypto/openssl/doc/man3/PKCS7_sign_add_signer.pod projects/clang800-import/crypto/openssl/doc/man3/RAND_bytes.pod projects/clang800-import/crypto/openssl/doc/man3/RIPEMD160_Init.pod projects/clang800-import/crypto/openssl/doc/man3/RSA_get0_key.pod projects/clang800-import/crypto/openssl/doc/man3/RSA_padding_add_PKCS1_type_1.pod projects/clang800-import/crypto/openssl/doc/man3/RSA_size.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CIPHER_get_name.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_COMP_add_compression_method.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CONF_CTX_new.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CONF_CTX_set1_prefix.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CONF_CTX_set_flags.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CONF_cmd.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CONF_cmd_argv.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_add1_chain_cert.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_config.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_dane_enable.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_get0_param.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set0_CA_list.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set1_curves.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set1_verify_cert_store.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_ctlog_list_file.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_default_passwd_cb.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_info_callback.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_mode.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_msg_callback.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_num_tickets.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_options.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_record_padding_callback.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_security_level.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_session_ticket_cb.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_split_send_fragment.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_ssl_version.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_status_cb.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_free.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_get0_cipher.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_get0_hostname.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_get0_id_context.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_get_protocol_version.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_has_ticket.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_is_resumable.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_SESSION_set1_id.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_export_keying_material.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_extension_supported.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_get_all_async_fds.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_get_error.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_get_version.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_key_update.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_read.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_read_early_data.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_set1_host.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_shutdown.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_want.pod projects/clang800-import/crypto/openssl/doc/man3/SSL_write.pod projects/clang800-import/crypto/openssl/doc/man3/UI_create_method.pod projects/clang800-import/crypto/openssl/doc/man3/UI_new.pod projects/clang800-import/crypto/openssl/doc/man3/X509_NAME_ENTRY_get_object.pod projects/clang800-import/crypto/openssl/doc/man3/X509_STORE_CTX_new.pod projects/clang800-import/crypto/openssl/doc/man3/X509_STORE_CTX_set_verify_cb.pod projects/clang800-import/crypto/openssl/doc/man3/X509_STORE_new.pod projects/clang800-import/crypto/openssl/doc/man3/X509_STORE_set_verify_cb_func.pod projects/clang800-import/crypto/openssl/doc/man3/X509_VERIFY_PARAM_set_flags.pod projects/clang800-import/crypto/openssl/doc/man3/X509_get0_signature.pod projects/clang800-import/crypto/openssl/doc/man3/X509_get_serialNumber.pod projects/clang800-import/crypto/openssl/doc/man3/X509_get_subject_name.pod projects/clang800-import/crypto/openssl/doc/man3/X509_sign.pod projects/clang800-import/crypto/openssl/doc/man3/d2i_PrivateKey.pod projects/clang800-import/crypto/openssl/doc/man3/i2d_CMS_bio_stream.pod projects/clang800-import/crypto/openssl/doc/man3/i2d_PKCS7_bio_stream.pod projects/clang800-import/crypto/openssl/doc/man5/config.pod projects/clang800-import/crypto/openssl/doc/man7/ct.pod projects/clang800-import/crypto/openssl/e_os.h projects/clang800-import/crypto/openssl/engines/e_dasync.c projects/clang800-import/crypto/openssl/include/internal/conf.h projects/clang800-import/crypto/openssl/include/internal/constant_time_locl.h projects/clang800-import/crypto/openssl/include/internal/cryptlib.h projects/clang800-import/crypto/openssl/include/internal/sockets.h projects/clang800-import/crypto/openssl/include/internal/thread_once.h projects/clang800-import/crypto/openssl/include/internal/tsan_assist.h projects/clang800-import/crypto/openssl/include/openssl/crypto.h projects/clang800-import/crypto/openssl/include/openssl/e_os2.h projects/clang800-import/crypto/openssl/include/openssl/ecerr.h projects/clang800-import/crypto/openssl/include/openssl/evp.h projects/clang800-import/crypto/openssl/include/openssl/evperr.h projects/clang800-import/crypto/openssl/include/openssl/lhash.h projects/clang800-import/crypto/openssl/include/openssl/obj_mac.h projects/clang800-import/crypto/openssl/include/openssl/opensslv.h projects/clang800-import/crypto/openssl/include/openssl/safestack.h projects/clang800-import/crypto/openssl/include/openssl/ssl.h projects/clang800-import/crypto/openssl/include/openssl/sslerr.h projects/clang800-import/crypto/openssl/include/openssl/x509_vfy.h projects/clang800-import/crypto/openssl/ssl/record/rec_layer_d1.c projects/clang800-import/crypto/openssl/ssl/record/rec_layer_s3.c projects/clang800-import/crypto/openssl/ssl/s3_enc.c projects/clang800-import/crypto/openssl/ssl/s3_lib.c projects/clang800-import/crypto/openssl/ssl/ssl_ciph.c projects/clang800-import/crypto/openssl/ssl/ssl_err.c projects/clang800-import/crypto/openssl/ssl/ssl_init.c projects/clang800-import/crypto/openssl/ssl/ssl_lib.c projects/clang800-import/crypto/openssl/ssl/ssl_locl.h projects/clang800-import/crypto/openssl/ssl/statem/extensions.c projects/clang800-import/crypto/openssl/ssl/statem/statem.c projects/clang800-import/crypto/openssl/ssl/statem/statem_clnt.c projects/clang800-import/crypto/openssl/ssl/statem/statem_lib.c projects/clang800-import/crypto/openssl/ssl/statem/statem_locl.h projects/clang800-import/crypto/openssl/ssl/statem/statem_srvr.c projects/clang800-import/crypto/openssl/ssl/t1_enc.c projects/clang800-import/crypto/openssl/ssl/t1_lib.c projects/clang800-import/crypto/openssl/ssl/tls13_enc.c projects/clang800-import/etc/mtree/BSD.include.dist projects/clang800-import/include/Makefile projects/clang800-import/lib/Makefile projects/clang800-import/lib/libc/net/sctp_sys_calls.c projects/clang800-import/lib/libc/sys/poll.2 projects/clang800-import/lib/libc/sys/procctl.2 projects/clang800-import/lib/libmt/mtlib.c projects/clang800-import/sbin/Makefile projects/clang800-import/sbin/camcontrol/camcontrol.c projects/clang800-import/sbin/fsck_ffs/fsck.h projects/clang800-import/sbin/fsck_ffs/globs.c projects/clang800-import/sbin/fsck_ffs/inode.c projects/clang800-import/sbin/fsck_ffs/pass1.c projects/clang800-import/sbin/fsck_ffs/setup.c projects/clang800-import/sbin/fsdb/fsdb.c projects/clang800-import/sbin/ifconfig/Makefile projects/clang800-import/sbin/ifconfig/af_inet.c projects/clang800-import/sbin/ifconfig/af_inet6.c projects/clang800-import/sbin/ifconfig/ifconfig.c projects/clang800-import/sbin/ifconfig/ifgroup.c projects/clang800-import/sbin/ipfw/ipfw.8 projects/clang800-import/sbin/nvmecontrol/nc_util.c projects/clang800-import/sbin/tunefs/tunefs.c projects/clang800-import/secure/lib/libcrypto/Makefile.inc projects/clang800-import/secure/lib/libcrypto/Makefile.man projects/clang800-import/secure/lib/libcrypto/aarch64/aesv8-armx.S projects/clang800-import/secure/lib/libcrypto/aarch64/armv8-mont.S projects/clang800-import/secure/lib/libcrypto/aarch64/chacha-armv8.S projects/clang800-import/secure/lib/libcrypto/aarch64/ecp_nistz256-armv8.S projects/clang800-import/secure/lib/libcrypto/aarch64/keccak1600-armv8.S projects/clang800-import/secure/lib/libcrypto/aarch64/poly1305-armv8.S projects/clang800-import/secure/lib/libcrypto/aarch64/sha256-armv8.S projects/clang800-import/secure/lib/libcrypto/aarch64/sha512-armv8.S projects/clang800-import/secure/lib/libcrypto/aarch64/vpaes-armv8.S projects/clang800-import/secure/lib/libcrypto/amd64/aes-x86_64.S projects/clang800-import/secure/lib/libcrypto/amd64/aesni-x86_64.S projects/clang800-import/secure/lib/libcrypto/amd64/bsaes-x86_64.S projects/clang800-import/secure/lib/libcrypto/amd64/ecp_nistz256-x86_64.S projects/clang800-import/secure/lib/libcrypto/amd64/ghash-x86_64.S projects/clang800-import/secure/lib/libcrypto/amd64/rsaz-avx2.S projects/clang800-import/secure/lib/libcrypto/amd64/vpaes-x86_64.S projects/clang800-import/secure/lib/libcrypto/amd64/x86_64-mont5.S projects/clang800-import/secure/lib/libcrypto/man/ADMISSIONS.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_INTEGER_get_int64.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_ITEM_lookup.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_STRING_TABLE_add.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_TIME_set.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_TYPE_get.3 projects/clang800-import/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/clang800-import/secure/lib/libcrypto/man/ASYNC_WAIT_CTX_new.3 projects/clang800-import/secure/lib/libcrypto/man/ASYNC_start_job.3 projects/clang800-import/secure/lib/libcrypto/man/BF_encrypt.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_ADDR.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_ADDRINFO.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_connect.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_ctrl.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_f_base64.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_f_md.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_f_null.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_find_type.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_get_data.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_get_ex_new_index.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_new.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_new_CMS.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_parse_hostserv.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_printf.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_push.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_read.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_accept.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_bio.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_connect.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_fd.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_file.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_mem.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_null.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_s_socket.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_set_callback.3 projects/clang800-import/secure/lib/libcrypto/man/BIO_should_retry.3 projects/clang800-import/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/clang800-import/secure/lib/libcrypto/man/BN_CTX_new.3 projects/clang800-import/secure/lib/libcrypto/man/BN_CTX_start.3 projects/clang800-import/secure/lib/libcrypto/man/BN_add.3 projects/clang800-import/secure/lib/libcrypto/man/BN_add_word.3 projects/clang800-import/secure/lib/libcrypto/man/BN_bn2bin.3 projects/clang800-import/secure/lib/libcrypto/man/BN_cmp.3 projects/clang800-import/secure/lib/libcrypto/man/BN_copy.3 projects/clang800-import/secure/lib/libcrypto/man/BN_generate_prime.3 projects/clang800-import/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/clang800-import/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/clang800-import/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/clang800-import/secure/lib/libcrypto/man/BN_new.3 projects/clang800-import/secure/lib/libcrypto/man/BN_num_bytes.3 projects/clang800-import/secure/lib/libcrypto/man/BN_rand.3 projects/clang800-import/secure/lib/libcrypto/man/BN_security_bits.3 projects/clang800-import/secure/lib/libcrypto/man/BN_set_bit.3 projects/clang800-import/secure/lib/libcrypto/man/BN_swap.3 projects/clang800-import/secure/lib/libcrypto/man/BN_zero.3 projects/clang800-import/secure/lib/libcrypto/man/BUF_MEM_new.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_add0_cert.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_add1_signer.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_compress.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_decrypt.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_encrypt.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_final.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_get0_type.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_sign.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_sign_receipt.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_uncompress.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_verify.3 projects/clang800-import/secure/lib/libcrypto/man/CMS_verify_receipt.3 projects/clang800-import/secure/lib/libcrypto/man/CONF_modules_free.3 projects/clang800-import/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/clang800-import/secure/lib/libcrypto/man/CRYPTO_THREAD_run_once.3 projects/clang800-import/secure/lib/libcrypto/man/CRYPTO_get_ex_new_index.3 projects/clang800-import/secure/lib/libcrypto/man/CTLOG_STORE_get0_log_by_id.3 projects/clang800-import/secure/lib/libcrypto/man/CTLOG_STORE_new.3 projects/clang800-import/secure/lib/libcrypto/man/CTLOG_new.3 projects/clang800-import/secure/lib/libcrypto/man/CT_POLICY_EVAL_CTX_new.3 projects/clang800-import/secure/lib/libcrypto/man/DEFINE_STACK_OF.3 projects/clang800-import/secure/lib/libcrypto/man/DES_random_key.3 projects/clang800-import/secure/lib/libcrypto/man/DH_generate_key.3 projects/clang800-import/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/clang800-import/secure/lib/libcrypto/man/DH_get0_pqg.3 projects/clang800-import/secure/lib/libcrypto/man/DH_get_1024_160.3 projects/clang800-import/secure/lib/libcrypto/man/DH_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/DH_new.3 projects/clang800-import/secure/lib/libcrypto/man/DH_new_by_nid.3 projects/clang800-import/secure/lib/libcrypto/man/DH_set_method.3 projects/clang800-import/secure/lib/libcrypto/man/DH_size.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_do_sign.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_generate_key.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_get0_pqg.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_new.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_set_method.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_sign.3 projects/clang800-import/secure/lib/libcrypto/man/DSA_size.3 projects/clang800-import/secure/lib/libcrypto/man/DTLS_get_data_mtu.3 projects/clang800-import/secure/lib/libcrypto/man/DTLS_set_timer_cb.3 projects/clang800-import/secure/lib/libcrypto/man/DTLSv1_listen.3 projects/clang800-import/secure/lib/libcrypto/man/ECDSA_SIG_new.3 projects/clang800-import/secure/lib/libcrypto/man/ECPKParameters_print.3 projects/clang800-import/secure/lib/libcrypto/man/EC_GFp_simple_method.3 projects/clang800-import/secure/lib/libcrypto/man/EC_GROUP_copy.3 projects/clang800-import/secure/lib/libcrypto/man/EC_GROUP_new.3 projects/clang800-import/secure/lib/libcrypto/man/EC_KEY_get_enc_flags.3 projects/clang800-import/secure/lib/libcrypto/man/EC_KEY_new.3 projects/clang800-import/secure/lib/libcrypto/man/EC_POINT_add.3 projects/clang800-import/secure/lib/libcrypto/man/EC_POINT_new.3 projects/clang800-import/secure/lib/libcrypto/man/ENGINE_add.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_clear_error.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_error_string.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_get_error.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_load_strings.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_print_errors.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_put_error.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_remove_state.3 projects/clang800-import/secure/lib/libcrypto/man/ERR_set_mark.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_CIPHER_CTX_get_cipher_data.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_CIPHER_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_DigestSignInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_EncodeInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_MD_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_ASN1_METHOD.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_set1_pbe_pass.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_hkdf_md.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_scrypt_N.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_tls1_prf_md.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_asn1_get_count.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_derive.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest_nid.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_meth_get_count.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_sign.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_verify.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_SealInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_SignInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_aes.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_aria.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_bf_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_blake2b512.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_camellia.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_cast5_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_chacha20.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_des.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_desx_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_idea_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_md2.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_md4.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_md5.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_mdc2.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_rc2_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_rc4.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_rc5_32_12_16_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_ripemd160.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_seed_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_sha1.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_sha224.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_sha3_224.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_sm3.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_sm4_cbc.3 projects/clang800-import/secure/lib/libcrypto/man/EVP_whirlpool.3 projects/clang800-import/secure/lib/libcrypto/man/HMAC.3 projects/clang800-import/secure/lib/libcrypto/man/MD5.3 projects/clang800-import/secure/lib/libcrypto/man/MDC2_Init.3 projects/clang800-import/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/clang800-import/secure/lib/libcrypto/man/OCSP_REQUEST_new.3 projects/clang800-import/secure/lib/libcrypto/man/OCSP_cert_to_id.3 projects/clang800-import/secure/lib/libcrypto/man/OCSP_request_add1_nonce.3 projects/clang800-import/secure/lib/libcrypto/man/OCSP_resp_find_status.3 projects/clang800-import/secure/lib/libcrypto/man/OCSP_response_status.3 projects/clang800-import/secure/lib/libcrypto/man/OCSP_sendreq_new.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_LH_COMPFUNC.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_LH_stats.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_config.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_fork_prepare.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_init_crypto.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_init_ssl.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_instrument_bus.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_malloc.3 projects/clang800-import/secure/lib/libcrypto/man/OPENSSL_secure_malloc.3 projects/clang800-import/secure/lib/libcrypto/man/OSSL_STORE_INFO.3 projects/clang800-import/secure/lib/libcrypto/man/OSSL_STORE_LOADER.3 projects/clang800-import/secure/lib/libcrypto/man/OSSL_STORE_SEARCH.3 projects/clang800-import/secure/lib/libcrypto/man/OSSL_STORE_expect.3 projects/clang800-import/secure/lib/libcrypto/man/OSSL_STORE_open.3 projects/clang800-import/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/clang800-import/secure/lib/libcrypto/man/PEM_bytes_read_bio.3 projects/clang800-import/secure/lib/libcrypto/man/PEM_read.3 projects/clang800-import/secure/lib/libcrypto/man/PEM_read_CMS.3 projects/clang800-import/secure/lib/libcrypto/man/PEM_read_bio_PrivateKey.3 projects/clang800-import/secure/lib/libcrypto/man/PEM_read_bio_ex.3 projects/clang800-import/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 projects/clang800-import/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS12_create.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS12_newpass.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS12_parse.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS5_PBKDF2_HMAC.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS7_sign.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 projects/clang800-import/secure/lib/libcrypto/man/PKCS7_verify.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_DRBG_generate.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_DRBG_get0_master.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_DRBG_new.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_DRBG_reseed.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_DRBG_set_callbacks.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_DRBG_set_ex_data.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_add.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_bytes.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_cleanup.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_egd.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_load_file.3 projects/clang800-import/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/clang800-import/secure/lib/libcrypto/man/RC4_set_key.3 projects/clang800-import/secure/lib/libcrypto/man/RIPEMD160_Init.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_check_key.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_generate_key.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_get0_key.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_new.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_print.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_set_method.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_sign.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/clang800-import/secure/lib/libcrypto/man/RSA_size.3 projects/clang800-import/secure/lib/libcrypto/man/SCT_new.3 projects/clang800-import/secure/lib/libcrypto/man/SCT_print.3 projects/clang800-import/secure/lib/libcrypto/man/SCT_validate.3 projects/clang800-import/secure/lib/libcrypto/man/SHA256_Init.3 projects/clang800-import/secure/lib/libcrypto/man/SMIME_read_CMS.3 projects/clang800-import/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/clang800-import/secure/lib/libcrypto/man/SMIME_write_CMS.3 projects/clang800-import/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CIPHER_get_name.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_COMP_add_compression_method.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CONF_CTX_new.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CONF_CTX_set1_prefix.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CONF_CTX_set_flags.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CONF_CTX_set_ssl_ctx.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CONF_cmd.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CONF_cmd_argv.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_add1_chain_cert.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_add_extra_chain_cert.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_add_session.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_config.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_ctrl.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_dane_enable.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_flush_sessions.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_free.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_get0_param.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_get_verify_mode.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_has_client_custom_ext.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_load_verify_locations.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_new.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_sess_number.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_sess_set_cache_size.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_sess_set_get_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_sessions.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set0_CA_list.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set1_curves.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set1_sigalgs.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set1_verify_cert_store.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_alpn_select_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_cert_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_cert_store.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_cert_verify_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_cipher_list.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_client_cert_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_client_hello_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_ct_validation_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_ctlog_list_file.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_default_passwd_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_ex_data.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_generate_session_id.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_info_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_keylog_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_max_cert_list.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_min_proto_version.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_mode.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_msg_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_num_tickets.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_options.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_psk_client_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_quiet_shutdown.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_read_ahead.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_record_padding_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_security_level.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_session_cache_mode.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_session_id_context.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_session_ticket_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_split_send_fragment.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_ssl_version.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_stateless_cookie_generate_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_timeout.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_servername_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_status_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_ticket_key_cb.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_use_srtp.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_tmp_dh_callback.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_set_verify.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_use_certificate.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_use_psk_identity_hint.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_CTX_use_serverinfo.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_free.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get0_cipher.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get0_hostname.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get0_id_context.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get0_peer.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get_compress_id.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get_ex_data.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get_protocol_version.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_get_time.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_has_ticket.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_is_resumable.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_print.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_SESSION_set1_id.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_accept.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_alert_type_string.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_alloc_buffers.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_check_chain.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_clear.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_connect.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_do_handshake.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_export_keying_material.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_extension_supported.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_free.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get0_peer_scts.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_SSL_CTX.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_all_async_fds.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_ciphers.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_client_random.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_current_cipher.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_default_timeout.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_error.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_extms_support.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_fd.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_peer_cert_chain.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_peer_certificate.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_peer_signature_nid.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_peer_tmp_key.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_psk_identity.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_rbio.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_session.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_shared_sigalgs.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_verify_result.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_get_version.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_in_init.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_key_update.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_library_init.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_load_client_CA_file.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_new.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_pending.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_read.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_read_early_data.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_rstate_string.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_session_reused.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_set1_host.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_set_bio.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_set_connect_state.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_set_fd.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_set_session.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_set_shutdown.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_set_verify_result.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_shutdown.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_state_string.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_want.3 projects/clang800-import/secure/lib/libcrypto/man/SSL_write.3 projects/clang800-import/secure/lib/libcrypto/man/UI_STRING.3 projects/clang800-import/secure/lib/libcrypto/man/UI_UTIL_read_pw.3 projects/clang800-import/secure/lib/libcrypto/man/UI_create_method.3 projects/clang800-import/secure/lib/libcrypto/man/UI_new.3 projects/clang800-import/secure/lib/libcrypto/man/X509V3_get_d2i.3 projects/clang800-import/secure/lib/libcrypto/man/X509_ALGOR_dup.3 projects/clang800-import/secure/lib/libcrypto/man/X509_CRL_get0_by_serial.3 projects/clang800-import/secure/lib/libcrypto/man/X509_EXTENSION_set_object.3 projects/clang800-import/secure/lib/libcrypto/man/X509_LOOKUP_hash_dir.3 projects/clang800-import/secure/lib/libcrypto/man/X509_LOOKUP_meth_new.3 projects/clang800-import/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/clang800-import/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/clang800-import/secure/lib/libcrypto/man/X509_NAME_get0_der.3 projects/clang800-import/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/clang800-import/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/clang800-import/secure/lib/libcrypto/man/X509_PUBKEY_new.3 projects/clang800-import/secure/lib/libcrypto/man/X509_SIG_get0.3 projects/clang800-import/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 projects/clang800-import/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 projects/clang800-import/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 projects/clang800-import/secure/lib/libcrypto/man/X509_STORE_add_cert.3 projects/clang800-import/secure/lib/libcrypto/man/X509_STORE_get0_param.3 projects/clang800-import/secure/lib/libcrypto/man/X509_STORE_new.3 projects/clang800-import/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 projects/clang800-import/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 projects/clang800-import/secure/lib/libcrypto/man/X509_check_ca.3 projects/clang800-import/secure/lib/libcrypto/man/X509_check_host.3 projects/clang800-import/secure/lib/libcrypto/man/X509_check_issued.3 projects/clang800-import/secure/lib/libcrypto/man/X509_check_private_key.3 projects/clang800-import/secure/lib/libcrypto/man/X509_cmp_time.3 projects/clang800-import/secure/lib/libcrypto/man/X509_digest.3 projects/clang800-import/secure/lib/libcrypto/man/X509_dup.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get0_notBefore.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get0_signature.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get0_uids.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get_extension_flags.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get_pubkey.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get_serialNumber.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get_subject_name.3 projects/clang800-import/secure/lib/libcrypto/man/X509_get_version.3 projects/clang800-import/secure/lib/libcrypto/man/X509_new.3 projects/clang800-import/secure/lib/libcrypto/man/X509_sign.3 projects/clang800-import/secure/lib/libcrypto/man/X509_verify_cert.3 projects/clang800-import/secure/lib/libcrypto/man/X509v3_get_ext_by_NID.3 projects/clang800-import/secure/lib/libcrypto/man/d2i_DHparams.3 projects/clang800-import/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey_bio.3 projects/clang800-import/secure/lib/libcrypto/man/d2i_PrivateKey.3 projects/clang800-import/secure/lib/libcrypto/man/d2i_SSL_SESSION.3 projects/clang800-import/secure/lib/libcrypto/man/d2i_X509.3 projects/clang800-import/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 projects/clang800-import/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 projects/clang800-import/secure/lib/libcrypto/man/i2d_re_X509_tbs.3 projects/clang800-import/secure/lib/libcrypto/man/o2i_SCT_LIST.3 projects/clang800-import/secure/usr.bin/openssl/man/CA.pl.1 projects/clang800-import/secure/usr.bin/openssl/man/asn1parse.1 projects/clang800-import/secure/usr.bin/openssl/man/ca.1 projects/clang800-import/secure/usr.bin/openssl/man/ciphers.1 projects/clang800-import/secure/usr.bin/openssl/man/cms.1 projects/clang800-import/secure/usr.bin/openssl/man/crl.1 projects/clang800-import/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/clang800-import/secure/usr.bin/openssl/man/dgst.1 projects/clang800-import/secure/usr.bin/openssl/man/dhparam.1 projects/clang800-import/secure/usr.bin/openssl/man/dsa.1 projects/clang800-import/secure/usr.bin/openssl/man/dsaparam.1 projects/clang800-import/secure/usr.bin/openssl/man/ec.1 projects/clang800-import/secure/usr.bin/openssl/man/ecparam.1 projects/clang800-import/secure/usr.bin/openssl/man/enc.1 projects/clang800-import/secure/usr.bin/openssl/man/engine.1 projects/clang800-import/secure/usr.bin/openssl/man/errstr.1 projects/clang800-import/secure/usr.bin/openssl/man/gendsa.1 projects/clang800-import/secure/usr.bin/openssl/man/genpkey.1 projects/clang800-import/secure/usr.bin/openssl/man/genrsa.1 projects/clang800-import/secure/usr.bin/openssl/man/list.1 projects/clang800-import/secure/usr.bin/openssl/man/nseq.1 projects/clang800-import/secure/usr.bin/openssl/man/ocsp.1 projects/clang800-import/secure/usr.bin/openssl/man/openssl.1 projects/clang800-import/secure/usr.bin/openssl/man/passwd.1 projects/clang800-import/secure/usr.bin/openssl/man/pkcs12.1 projects/clang800-import/secure/usr.bin/openssl/man/pkcs7.1 projects/clang800-import/secure/usr.bin/openssl/man/pkcs8.1 projects/clang800-import/secure/usr.bin/openssl/man/pkey.1 projects/clang800-import/secure/usr.bin/openssl/man/pkeyparam.1 projects/clang800-import/secure/usr.bin/openssl/man/pkeyutl.1 projects/clang800-import/secure/usr.bin/openssl/man/prime.1 projects/clang800-import/secure/usr.bin/openssl/man/rand.1 projects/clang800-import/secure/usr.bin/openssl/man/req.1 projects/clang800-import/secure/usr.bin/openssl/man/rsa.1 projects/clang800-import/secure/usr.bin/openssl/man/rsautl.1 projects/clang800-import/secure/usr.bin/openssl/man/s_client.1 projects/clang800-import/secure/usr.bin/openssl/man/s_server.1 projects/clang800-import/secure/usr.bin/openssl/man/s_time.1 projects/clang800-import/secure/usr.bin/openssl/man/sess_id.1 projects/clang800-import/secure/usr.bin/openssl/man/smime.1 projects/clang800-import/secure/usr.bin/openssl/man/speed.1 projects/clang800-import/secure/usr.bin/openssl/man/spkac.1 projects/clang800-import/secure/usr.bin/openssl/man/srp.1 projects/clang800-import/secure/usr.bin/openssl/man/storeutl.1 projects/clang800-import/secure/usr.bin/openssl/man/ts.1 projects/clang800-import/secure/usr.bin/openssl/man/tsget.1 projects/clang800-import/secure/usr.bin/openssl/man/verify.1 projects/clang800-import/secure/usr.bin/openssl/man/version.1 projects/clang800-import/secure/usr.bin/openssl/man/x509.1 projects/clang800-import/share/man/man4/Makefile projects/clang800-import/share/man/man4/geom_uzip.4 projects/clang800-import/share/man/man4/isp.4 projects/clang800-import/share/man/man4/rights.4 projects/clang800-import/share/mk/src.libnames.mk projects/clang800-import/share/mk/src.opts.mk projects/clang800-import/stand/common/boot.c projects/clang800-import/stand/common/bootstrap.h projects/clang800-import/stand/common/interp_forth.c projects/clang800-import/stand/common/interp_simple.c projects/clang800-import/stand/common/load_elf.c projects/clang800-import/stand/common/load_elf_obj.c projects/clang800-import/stand/common/module.c projects/clang800-import/stand/efi/loader/arch/arm/exec.c projects/clang800-import/stand/efi/loader/arch/i386/Makefile.inc projects/clang800-import/stand/efi/loader/arch/i386/elf32_freebsd.c projects/clang800-import/stand/ficl/Makefile.depend projects/clang800-import/stand/ficl/ficl.h projects/clang800-import/stand/ficl/fileaccess.c projects/clang800-import/stand/ficl32/Makefile.depend projects/clang800-import/stand/i386/loader/Makefile.depend projects/clang800-import/stand/liblua/Makefile projects/clang800-import/stand/liblua/lstd.c projects/clang800-import/stand/libsa/Makefile projects/clang800-import/stand/libsa/Makefile.depend projects/clang800-import/stand/libsa32/Makefile.depend projects/clang800-import/stand/loader.mk projects/clang800-import/sys/amd64/amd64/elf_machdep.c projects/clang800-import/sys/amd64/cloudabi32/cloudabi32_sysvec.c projects/clang800-import/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/clang800-import/sys/amd64/linux/linux_sysvec.c projects/clang800-import/sys/amd64/linux32/linux32_sysvec.c projects/clang800-import/sys/amd64/vmm/intel/vmx.c projects/clang800-import/sys/arm/arm/elf_machdep.c projects/clang800-import/sys/arm/cloudabi32/cloudabi32_sysvec.c projects/clang800-import/sys/arm/mv/files.arm7 projects/clang800-import/sys/arm/mv/files.mv projects/clang800-import/sys/arm64/arm64/elf32_machdep.c projects/clang800-import/sys/arm64/arm64/elf_machdep.c projects/clang800-import/sys/arm64/arm64/mp_machdep.c projects/clang800-import/sys/arm64/cloudabi32/cloudabi32_sysvec.c projects/clang800-import/sys/arm64/cloudabi64/cloudabi64_sysvec.c projects/clang800-import/sys/arm64/conf/GENERIC projects/clang800-import/sys/arm64/linux/linux_sysvec.c projects/clang800-import/sys/arm64/rockchip/clk/rk3328_cru.c projects/clang800-import/sys/arm64/rockchip/clk/rk3399_cru.c projects/clang800-import/sys/arm64/rockchip/clk/rk_clk_armclk.c projects/clang800-import/sys/arm64/rockchip/clk/rk_clk_armclk.h projects/clang800-import/sys/arm64/rockchip/clk/rk_clk_composite.c projects/clang800-import/sys/arm64/rockchip/clk/rk_clk_composite.h projects/clang800-import/sys/arm64/rockchip/clk/rk_clk_pll.c projects/clang800-import/sys/arm64/rockchip/clk/rk_clk_pll.h projects/clang800-import/sys/arm64/rockchip/rk805.c projects/clang800-import/sys/arm64/rockchip/rk805reg.h projects/clang800-import/sys/arm64/rockchip/rk_pinctrl.c projects/clang800-import/sys/cam/ctl/ctl.c projects/clang800-import/sys/cam/ctl/ctl_backend_block.c projects/clang800-import/sys/cam/ctl/ctl_backend_ramdisk.c projects/clang800-import/sys/cam/ctl/ctl_frontend_ioctl.c projects/clang800-import/sys/cam/ctl/ctl_io.h projects/clang800-import/sys/cam/ctl/ctl_private.h projects/clang800-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/clang800-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/clang800-import/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/clang800-import/sys/compat/ia32/ia32_sysvec.c projects/clang800-import/sys/compat/linuxkpi/common/include/linux/types.h projects/clang800-import/sys/conf/NOTES projects/clang800-import/sys/conf/files projects/clang800-import/sys/conf/files.arm64 projects/clang800-import/sys/conf/files.powerpc projects/clang800-import/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c projects/clang800-import/sys/contrib/xz-embedded/freebsd/xz_config.h projects/clang800-import/sys/crypto/chacha20/chacha.c projects/clang800-import/sys/crypto/chacha20/chacha.h projects/clang800-import/sys/dev/asmc/asmc.c projects/clang800-import/sys/dev/asmc/asmcvar.h projects/clang800-import/sys/dev/ath/ath_hal/ah.h projects/clang800-import/sys/dev/cxgb/cxgb_adapter.h projects/clang800-import/sys/dev/cxgb/cxgb_main.c projects/clang800-import/sys/dev/cxgbe/t4_main.c projects/clang800-import/sys/dev/cxgbe/t4_vf.c projects/clang800-import/sys/dev/fdt/fdt_slicer.c projects/clang800-import/sys/dev/flash/at45d.c projects/clang800-import/sys/dev/flash/mx25l.c projects/clang800-import/sys/dev/isp/isp_pci.c projects/clang800-import/sys/dev/ixgbe/if_ix.c projects/clang800-import/sys/dev/mmc/host/dwmmc_rockchip.c projects/clang800-import/sys/dev/nvme/nvme_ctrlr.c projects/clang800-import/sys/dev/nvme/nvme_ns.c projects/clang800-import/sys/dev/nvme/nvme_private.h projects/clang800-import/sys/dev/nvme/nvme_qpair.c projects/clang800-import/sys/dev/nvme/nvme_test.c projects/clang800-import/sys/dev/random/fortuna.c projects/clang800-import/sys/dev/random/hash.c projects/clang800-import/sys/dev/random/hash.h projects/clang800-import/sys/dev/rtwn/rtl8192c/r92c_init.c projects/clang800-import/sys/dev/rtwn/rtl8192c/r92c_reg.h projects/clang800-import/sys/dev/rtwn/rtl8192c/r92c_tx.c projects/clang800-import/sys/dev/rtwn/rtl8192c/usb/r92cu_init.c projects/clang800-import/sys/dev/spibus/spibus.c projects/clang800-import/sys/dev/syscons/scterm-dumb.c (contents, props changed) projects/clang800-import/sys/dev/syscons/scterm-sc.c (contents, props changed) projects/clang800-import/sys/fs/ext2fs/ext2_alloc.c projects/clang800-import/sys/fs/ext2fs/ext2_csum.c projects/clang800-import/sys/fs/ext2fs/ext2_extern.h projects/clang800-import/sys/fs/ext2fs/ext2_inode_cnv.c projects/clang800-import/sys/fs/ext2fs/ext2_vfsops.c projects/clang800-import/sys/fs/ext2fs/ext2fs.h projects/clang800-import/sys/fs/nfs/nfs_var.h projects/clang800-import/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/clang800-import/sys/fs/nfsserver/nfs_nfsdport.c projects/clang800-import/sys/fs/nfsserver/nfs_nfsdserv.c projects/clang800-import/sys/fs/nfsserver/nfs_nfsdsocket.c projects/clang800-import/sys/geom/concat/g_concat.c projects/clang800-import/sys/geom/uzip/g_uzip.c projects/clang800-import/sys/geom/uzip/g_uzip_lzma.c projects/clang800-import/sys/i386/cloudabi32/cloudabi32_sysvec.c projects/clang800-import/sys/i386/i386/elf_machdep.c projects/clang800-import/sys/i386/i386/pmap.c projects/clang800-import/sys/i386/include/pmap_nopae.h projects/clang800-import/sys/i386/include/pmap_pae.h projects/clang800-import/sys/i386/linux/linux_sysvec.c projects/clang800-import/sys/kern/imgact_aout.c projects/clang800-import/sys/kern/imgact_elf.c projects/clang800-import/sys/kern/init_main.c projects/clang800-import/sys/kern/kern_descrip.c projects/clang800-import/sys/kern/subr_bus.c projects/clang800-import/sys/kern/subr_vmem.c projects/clang800-import/sys/kern/uipc_shm.c projects/clang800-import/sys/kern/uipc_socket.c projects/clang800-import/sys/mips/conf/ALFA_HORNET_UB projects/clang800-import/sys/mips/conf/AP121 projects/clang800-import/sys/mips/conf/AP135 projects/clang800-import/sys/mips/conf/AP143 projects/clang800-import/sys/mips/conf/AP91 projects/clang800-import/sys/mips/conf/AP93 projects/clang800-import/sys/mips/conf/AP94 projects/clang800-import/sys/mips/conf/AP96 projects/clang800-import/sys/mips/conf/BCM projects/clang800-import/sys/mips/conf/CARAMBOLA2 projects/clang800-import/sys/mips/conf/DB120 projects/clang800-import/sys/mips/conf/DIR-655A1 projects/clang800-import/sys/mips/conf/DIR-825B1 projects/clang800-import/sys/mips/conf/ENH200 projects/clang800-import/sys/mips/conf/MT7620A_FDT projects/clang800-import/sys/mips/conf/MT7620N_FDT projects/clang800-import/sys/mips/conf/MT7621_FDT projects/clang800-import/sys/mips/conf/MT7628_FDT projects/clang800-import/sys/mips/conf/ONIONOMEGA projects/clang800-import/sys/mips/conf/PB47 projects/clang800-import/sys/mips/conf/PB92 projects/clang800-import/sys/mips/conf/PICOSTATION_M2HP projects/clang800-import/sys/mips/conf/ROCKET_M2HP projects/clang800-import/sys/mips/conf/ROUTERSTATION projects/clang800-import/sys/mips/conf/ROUTERSTATION_MFS projects/clang800-import/sys/mips/conf/RSPRO projects/clang800-import/sys/mips/conf/RSPRO_MFS projects/clang800-import/sys/mips/conf/RSPRO_STANDALONE projects/clang800-import/sys/mips/conf/RT3050_FDT projects/clang800-import/sys/mips/conf/RT3352_FDT projects/clang800-import/sys/mips/conf/RT3883_FDT projects/clang800-import/sys/mips/conf/RT5350_FDT projects/clang800-import/sys/mips/conf/TL-ARCHERC7V2 projects/clang800-import/sys/mips/conf/TL-WDR4300 projects/clang800-import/sys/mips/conf/TL-WR1043NDv2 projects/clang800-import/sys/mips/conf/TL-WR740Nv4 projects/clang800-import/sys/mips/conf/TP-MR3040 projects/clang800-import/sys/mips/conf/TP-WN1043ND projects/clang800-import/sys/mips/conf/WZR-300HP projects/clang800-import/sys/mips/conf/WZR-HPAG300H projects/clang800-import/sys/mips/conf/std.XLP projects/clang800-import/sys/mips/mips/elf_machdep.c projects/clang800-import/sys/mips/mips/freebsd32_machdep.c projects/clang800-import/sys/modules/Makefile projects/clang800-import/sys/modules/geom/geom_uzip/Makefile projects/clang800-import/sys/netinet/sctp_pcb.c projects/clang800-import/sys/netinet/sctp_usrreq.c projects/clang800-import/sys/netinet/tcp_subr.c projects/clang800-import/sys/netpfil/pf/pf_norm.c projects/clang800-import/sys/powerpc/booke/locore.S projects/clang800-import/sys/powerpc/booke/trap_subr.S projects/clang800-import/sys/powerpc/mpc85xx/platform_mpc85xx.c projects/clang800-import/sys/powerpc/powernv/opal.h projects/clang800-import/sys/powerpc/powernv/opal_dev.c projects/clang800-import/sys/powerpc/powernv/opal_i2c.c projects/clang800-import/sys/powerpc/powernv/opal_sensor.c projects/clang800-import/sys/powerpc/powerpc/elf32_machdep.c projects/clang800-import/sys/powerpc/powerpc/elf64_machdep.c projects/clang800-import/sys/powerpc/powerpc/intr_machdep.c projects/clang800-import/sys/powerpc/powerpc/machdep.c projects/clang800-import/sys/riscv/riscv/elf_machdep.c projects/clang800-import/sys/sparc64/sparc64/elf_machdep.c projects/clang800-import/sys/sys/capsicum.h projects/clang800-import/sys/sys/filedesc.h projects/clang800-import/sys/sys/interrupt.h projects/clang800-import/sys/sys/slicer.h projects/clang800-import/sys/sys/sysent.h projects/clang800-import/sys/ufs/ffs/ffs_alloc.c projects/clang800-import/sys/ufs/ffs/ffs_vnops.c projects/clang800-import/sys/ufs/ffs/fs.h projects/clang800-import/sys/vm/vm_kern.c projects/clang800-import/sys/vm/vm_phys.c projects/clang800-import/sys/vm/vnode_pager.c projects/clang800-import/tests/sys/Makefile projects/clang800-import/tests/sys/netipsec/tunnel/utils.subr projects/clang800-import/tests/sys/netpfil/pf/Makefile projects/clang800-import/tests/sys/netpfil/pf/anchor.sh projects/clang800-import/tests/sys/netpfil/pf/forward.sh projects/clang800-import/tests/sys/netpfil/pf/fragmentation.sh projects/clang800-import/tests/sys/netpfil/pf/names.sh projects/clang800-import/tests/sys/netpfil/pf/nat.sh projects/clang800-import/tests/sys/netpfil/pf/pass_block.sh projects/clang800-import/tests/sys/netpfil/pf/pfsync.sh projects/clang800-import/tests/sys/netpfil/pf/rdr.sh projects/clang800-import/tests/sys/netpfil/pf/route_to.sh projects/clang800-import/tests/sys/netpfil/pf/set_skip.sh projects/clang800-import/tests/sys/netpfil/pf/set_tos.sh projects/clang800-import/tests/sys/netpfil/pf/synproxy.sh projects/clang800-import/tests/sys/netpfil/pf/utils.subr projects/clang800-import/tools/build/mk/OptionalObsoleteFiles.inc projects/clang800-import/tools/tools/crypto/cryptocheck.c projects/clang800-import/tools/tools/netmap/pkt-gen.c projects/clang800-import/usr.bin/cmp/cmp.c projects/clang800-import/usr.bin/cmp/regular.c projects/clang800-import/usr.bin/cmp/special.c projects/clang800-import/usr.bin/cmp/tests/cmp_test2.sh projects/clang800-import/usr.bin/mt/mt.1 projects/clang800-import/usr.bin/netstat/inet.c projects/clang800-import/usr.bin/patch/common.h projects/clang800-import/usr.bin/patch/patch.c projects/clang800-import/usr.bin/patch/pch.c projects/clang800-import/usr.bin/proccontrol/Makefile projects/clang800-import/usr.bin/truss/syscalls.c projects/clang800-import/usr.sbin/kldxref/Makefile projects/clang800-import/usr.sbin/kldxref/ef_powerpc.c projects/clang800-import/usr.sbin/makefs/ffs.c projects/clang800-import/usr.sbin/rtsold/rtsold.c projects/clang800-import/usr.sbin/syslogd/syslogd.c projects/clang800-import/usr.sbin/sysrc/sysrc.8 Directory Properties: projects/clang800-import/ (props changed) projects/clang800-import/cddl/ (props changed) projects/clang800-import/cddl/contrib/opensolaris/ (props changed) projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/clang800-import/crypto/openssl/ (props changed) projects/clang800-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang800-import/sys/contrib/xz-embedded/ (props changed) Modified: projects/clang800-import/MAINTAINERS ============================================================================== --- projects/clang800-import/MAINTAINERS Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/MAINTAINERS Mon Mar 4 19:14:32 2019 (r344776) @@ -106,7 +106,12 @@ usr.sbin/bsdconfig dteske Pre-commit phabricator revie usr.sbin/dpv dteske Pre-commit review requested. Keep in sync with libdpv. usr.sbin/pkg pkg@ Please coordinate behavior or flag changes with pkg team. usr.sbin/sysrc dteske Pre-commit phabricator review requested. Keep in sync with bsdconfig(8) sysrc.subr. -vmm(4) tychon, jhb Pre-commit review requested. +vmm(4) tychon, jhb Pre-commit review requested via #bhyve + phabricator group. +libvmmapi tychon, jhb Pre-commit review requested via #bhyve + phabricator group. +usr.sbin/bhyve* tychon, jhb Pre-commit review requested via #bhyve + phabricator group. autofs(5) trasz Pre-commit review recommended. iscsi(4) trasz Pre-commit review recommended. rctl(8) trasz Pre-commit review recommended. Modified: projects/clang800-import/ObsoleteFiles.inc ============================================================================== --- projects/clang800-import/ObsoleteFiles.inc Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/ObsoleteFiles.inc Mon Mar 4 19:14:32 2019 (r344776) @@ -190,9 +190,11 @@ OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt OLD_DIRS+=usr/lib/clang/7.0.1/lib/freebsd OLD_DIRS+=usr/lib/clang/7.0.1/lib OLD_DIRS+=usr/lib/clang/7.0.1 +# 20190227: rename seq.h to seqc.h +OLD_FILES+=usr/include/sys/seq.h # 20190222: libifconfig made INTERNALLIB -OLD_FILES+=/usr/lib/libprivateifconfig.a -OLD_FILES+=/usr/lib/libprivateifconfig_p.a +OLD_FILES+=usr/lib/libprivateifconfig.a +OLD_FILES+=usr/lib/libprivateifconfig_p.a # 20190131: pfil(9) changed OLD_FILES+=usr/share/man/man9/pfil_hook_get.9 OLD_FILES+=usr/share/man/man9/pfil_rlock.9 Modified: projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Mar 4 19:14:32 2019 (r344776) @@ -32,7 +32,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 11, 2018 +.Dd February 15, 2018 .Dt ZFS 8 .Os .Sh NAME @@ -184,7 +184,7 @@ .Ar bookmark .Nm .Cm send -.Op Fl DLPRcenpv +.Op Fl DLPRVcenpv .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Nm @@ -194,7 +194,7 @@ .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Nm .Cm send -.Op Fl Penv +.Op Fl PVenv .Fl t Ar receive_resume_token .Nm .Cm receive Ns | Ns Cm recv @@ -2607,7 +2607,7 @@ feature. .It Xo .Nm .Cm send -.Op Fl DLPRcenpv +.Op Fl DLPRVcenpv .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Xc @@ -2753,6 +2753,8 @@ Print machine-parsable verbose information about the s .It Fl v, -verbose Print verbose information about the stream package generated. This information includes a per-second report of how much data has been sent. +.It Fl V +Set the process title to a per-second report of how much data has been sent. .El .Pp The format of the stream is committed. You will be able to receive your streams Modified: projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Mar 4 19:14:32 2019 (r344776) @@ -3813,7 +3813,7 @@ zfs_do_send(int argc, char **argv) }; /* check options */ - while ((c = getopt_long(argc, argv, ":i:I:RbDpvnPLet:c", long_options, + while ((c = getopt_long(argc, argv, ":i:I:RbDpVvnPLet:c", long_options, NULL)) != -1) { switch (c) { case 'i': @@ -3837,6 +3837,10 @@ zfs_do_send(int argc, char **argv) flags.parsable = B_TRUE; flags.verbose = B_TRUE; break; + case 'V': + flags.progress = B_TRUE; + flags.progressastitle = B_TRUE; + break; case 'v': if (flags.verbose) extraverbose = B_TRUE; @@ -5812,8 +5816,13 @@ zfs_do_holds(int argc, char **argv) #define CHECK_SPINNER 30 #define SPINNER_TIME 3 /* seconds */ -#define MOUNT_TIME 5 /* seconds */ +#define MOUNT_TIME 1 /* seconds */ +typedef struct get_all_state { + boolean_t ga_verbose; + get_all_cb_t *ga_cbp; +} get_all_state_t; + static int get_one_dataset(zfs_handle_t *zhp, void *data) { @@ -5821,10 +5830,10 @@ get_one_dataset(zfs_handle_t *zhp, void *data) static int spinval = 0; static int spincheck = 0; static time_t last_spin_time = (time_t)0; - get_all_cb_t *cbp = data; + get_all_state_t *state = data; zfs_type_t type = zfs_get_type(zhp); - if (cbp->cb_verbose) { + if (state->ga_verbose) { if (--spincheck < 0) { time_t now = time(NULL); if (last_spin_time + SPINNER_TIME < now) { @@ -5850,26 +5859,24 @@ get_one_dataset(zfs_handle_t *zhp, void *data) zfs_close(zhp); return (0); } - libzfs_add_handle(cbp, zhp); - assert(cbp->cb_used <= cbp->cb_alloc); + libzfs_add_handle(state->ga_cbp, zhp); + assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc); return (0); } static void -get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t verbose) +get_all_datasets(get_all_cb_t *cbp, boolean_t verbose) { - get_all_cb_t cb = { 0 }; - cb.cb_verbose = verbose; - cb.cb_getone = get_one_dataset; + get_all_state_t state = { + .ga_verbose = verbose, + .ga_cbp = cbp + }; if (verbose) set_progress_header(gettext("Reading ZFS config")); - (void) zfs_iter_root(g_zfs, get_one_dataset, &cb); + (void) zfs_iter_root(g_zfs, get_one_dataset, &state); - *dslist = cb.cb_handles; - *count = cb.cb_used; - if (verbose) finish_progress(gettext("done.")); } @@ -5879,9 +5886,20 @@ get_all_datasets(zfs_handle_t ***dslist, size_t *count * similar, we have a common function with an extra parameter to determine which * mode we are using. */ -#define OP_SHARE 0x1 -#define OP_MOUNT 0x2 +typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t; +typedef struct share_mount_state { + share_mount_op_t sm_op; + boolean_t sm_verbose; + int sm_flags; + char *sm_options; + char *sm_proto; /* only valid for OP_SHARE */ + pthread_mutex_t sm_lock; /* protects the remaining fields */ + uint_t sm_total; /* number of filesystems to process */ + uint_t sm_done; /* number of filesystems processed */ + int sm_status; /* -1 if any of the share/mount operations failed */ +} share_mount_state_t; + /* * Share or mount a dataset. */ @@ -6101,9 +6119,6 @@ report_mount_progress(int current, int total) time_t now = time(NULL); char info[32]; - /* report 1..n instead of 0..n-1 */ - ++current; - /* display header if we're here for the first time */ if (current == 1) { set_progress_header(gettext("Mounting ZFS filesystems")); @@ -6122,6 +6137,29 @@ report_mount_progress(int current, int total) update_progress(info); } +/* + * zfs_foreach_mountpoint() callback that mounts or shares on filesystem and + * updates the progress meter + */ +static int +share_mount_one_cb(zfs_handle_t *zhp, void *arg) +{ + share_mount_state_t *sms = arg; + int ret; + + ret = share_mount_one(zhp, sms->sm_op, sms->sm_flags, sms->sm_proto, + B_FALSE, sms->sm_options); + + pthread_mutex_lock(&sms->sm_lock); + if (ret != 0) + sms->sm_status = ret; + sms->sm_done++; + if (sms->sm_verbose) + report_mount_progress(sms->sm_done, sms->sm_total); + pthread_mutex_unlock(&sms->sm_lock); + return (ret); +} + static void append_options(char *mntopts, char *newopts) { @@ -6194,8 +6232,6 @@ share_mount(int op, int argc, char **argv) /* check number of arguments */ if (do_all) { - zfs_handle_t **dslist = NULL; - size_t i, count = 0; char *protocol = NULL; if (op == OP_SHARE && argc > 0) { @@ -6216,35 +6252,48 @@ share_mount(int op, int argc, char **argv) } start_progress_timer(); - get_all_datasets(&dslist, &count, verbose); + get_all_cb_t cb = { 0 }; + get_all_datasets(&cb, verbose); - if (count == 0) + if (cb.cb_used == 0) { + if (options != NULL) + free(options); return (0); + } - qsort(dslist, count, sizeof (void *), libzfs_dataset_cmp); #ifdef illumos - sa_init_selective_arg_t sharearg; - sharearg.zhandle_arr = dslist; - sharearg.zhandle_len = count; - if ((ret = zfs_init_libshare_arg(zfs_get_handle(dslist[0]), - SA_INIT_SHARE_API_SELECTIVE, &sharearg)) != SA_OK) { - (void) fprintf(stderr, - gettext("Could not initialize libshare, %d"), ret); - return (ret); + if (op == OP_SHARE) { + sa_init_selective_arg_t sharearg; + sharearg.zhandle_arr = cb.cb_handles; + sharearg.zhandle_len = cb.cb_used; + if ((ret = zfs_init_libshare_arg(g_zfs, + SA_INIT_SHARE_API_SELECTIVE, &sharearg)) != SA_OK) { + (void) fprintf(stderr, gettext( + "Could not initialize libshare, %d"), ret); + return (ret); + } } #endif + share_mount_state_t share_mount_state = { 0 }; + share_mount_state.sm_op = op; + share_mount_state.sm_verbose = verbose; + share_mount_state.sm_flags = flags; + share_mount_state.sm_options = options; + share_mount_state.sm_proto = protocol; + share_mount_state.sm_total = cb.cb_used; + pthread_mutex_init(&share_mount_state.sm_lock, NULL); - for (i = 0; i < count; i++) { - if (verbose) - report_mount_progress(i, count); + /* + * libshare isn't mt-safe, so only do the operation in parallel + * if we're mounting. + */ + zfs_foreach_mountpoint(g_zfs, cb.cb_handles, cb.cb_used, + share_mount_one_cb, &share_mount_state, op == OP_MOUNT); + ret = share_mount_state.sm_status; - if (share_mount_one(dslist[i], op, flags, protocol, - B_FALSE, options) != 0) - ret = 1; - zfs_close(dslist[i]); - } - - free(dslist); + for (int i = 0; i < cb.cb_used; i++) + zfs_close(cb.cb_handles[i]); + free(cb.cb_handles); } else if (argc == 0) { struct mnttab entry; Modified: projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Mar 4 19:14:32 2019 (r344776) @@ -579,12 +579,12 @@ typedef struct get_all_cb { zfs_handle_t **cb_handles; size_t cb_alloc; size_t cb_used; - boolean_t cb_verbose; - int (*cb_getone)(zfs_handle_t *, void *); } get_all_cb_t; +void zfs_foreach_mountpoint(libzfs_handle_t *, zfs_handle_t **, size_t, + zfs_iter_f, void*, boolean_t); + void libzfs_add_handle(get_all_cb_t *, zfs_handle_t *); -int libzfs_dataset_cmp(const void *, const void *); /* * Functions to create and destroy datasets. @@ -651,6 +651,9 @@ typedef struct sendflags { /* compressed WRITE records are permitted */ boolean_t compress; + + /* show progress as process title(ie. -V) */ + boolean_t progressastitle; } sendflags_t; typedef boolean_t (snapfilter_cb_t)(zfs_handle_t *, void *); Modified: projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Mon Mar 4 19:14:32 2019 (r344776) @@ -799,6 +799,7 @@ libzfs_mnttab_cache_compare(const void *arg1, const vo void libzfs_mnttab_init(libzfs_handle_t *hdl) { + pthread_mutex_init(&hdl->libzfs_mnttab_cache_lock, NULL); assert(avl_numnodes(&hdl->libzfs_mnttab_cache) == 0); avl_create(&hdl->libzfs_mnttab_cache, libzfs_mnttab_cache_compare, sizeof (mnttab_node_t), offsetof(mnttab_node_t, mtn_node)); @@ -839,6 +840,7 @@ libzfs_mnttab_fini(libzfs_handle_t *hdl) free(mtn); } avl_destroy(&hdl->libzfs_mnttab_cache); + (void) pthread_mutex_destroy(&hdl->libzfs_mnttab_cache_lock); } void @@ -853,6 +855,7 @@ libzfs_mnttab_find(libzfs_handle_t *hdl, const char *f { mnttab_node_t find; mnttab_node_t *mtn; + int ret = ENOENT; if (!hdl->libzfs_mnttab_enable) { struct mnttab srch = { 0 }; @@ -868,6 +871,7 @@ libzfs_mnttab_find(libzfs_handle_t *hdl, const char *f return (ENOENT); } + pthread_mutex_lock(&hdl->libzfs_mnttab_cache_lock); if (avl_numnodes(&hdl->libzfs_mnttab_cache) == 0) libzfs_mnttab_update(hdl); @@ -875,9 +879,10 @@ libzfs_mnttab_find(libzfs_handle_t *hdl, const char *f mtn = avl_find(&hdl->libzfs_mnttab_cache, &find, NULL); if (mtn) { *entry = mtn->mtn_mt; - return (0); + ret = 0; } - return (ENOENT); + pthread_mutex_unlock(&hdl->libzfs_mnttab_cache_lock); + return (ret); } void @@ -886,15 +891,17 @@ libzfs_mnttab_add(libzfs_handle_t *hdl, const char *sp { mnttab_node_t *mtn; - if (avl_numnodes(&hdl->libzfs_mnttab_cache) == 0) - return; - mtn = zfs_alloc(hdl, sizeof (mnttab_node_t)); - mtn->mtn_mt.mnt_special = zfs_strdup(hdl, special); - mtn->mtn_mt.mnt_mountp = zfs_strdup(hdl, mountp); - mtn->mtn_mt.mnt_fstype = zfs_strdup(hdl, MNTTYPE_ZFS); - mtn->mtn_mt.mnt_mntopts = zfs_strdup(hdl, mntopts); - avl_add(&hdl->libzfs_mnttab_cache, mtn); -} + pthread_mutex_lock(&hdl->libzfs_mnttab_cache_lock); + if (avl_numnodes(&hdl->libzfs_mnttab_cache) == 0) { + mtn = zfs_alloc(hdl, sizeof (mnttab_node_t)); + mtn->mtn_mt.mnt_special = zfs_strdup(hdl, special); + mtn->mtn_mt.mnt_mountp = zfs_strdup(hdl, mountp); + mtn->mtn_mt.mnt_fstype = zfs_strdup(hdl, MNTTYPE_ZFS); + mtn->mtn_mt.mnt_mntopts = zfs_strdup(hdl, mntopts); + avl_add(&hdl->libzfs_mnttab_cache, mtn); + } + pthread_mutex_unlock(&hdl->libzfs_mnttab_cache_lock); +} void libzfs_mnttab_remove(libzfs_handle_t *hdl, const char *fsname) @@ -902,6 +909,7 @@ libzfs_mnttab_remove(libzfs_handle_t *hdl, const char mnttab_node_t find; mnttab_node_t *ret; + pthread_mutex_lock(&hdl->libzfs_mnttab_cache_lock); find.mtn_mt.mnt_special = (char *)fsname; if ((ret = avl_find(&hdl->libzfs_mnttab_cache, (void *)&find, NULL)) != NULL) { @@ -912,6 +920,7 @@ libzfs_mnttab_remove(libzfs_handle_t *hdl, const char free(ret->mtn_mt.mnt_mntopts); free(ret); } + pthread_mutex_unlock(&hdl->libzfs_mnttab_cache_lock); } int Modified: projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h ============================================================================== --- projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h Mon Mar 4 19:14:32 2019 (r344776) @@ -22,7 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011 Pawel Jakub Dawidek. All rights reserved. - * Copyright (c) 2011, 2016 by Delphix. All rights reserved. + * Copyright (c) 2011, 2017 by Delphix. All rights reserved. * Copyright (c) 2013 Martin Matuska . All rights reserved. */ @@ -73,6 +73,13 @@ struct libzfs_handle { int libzfs_storeerr; /* stuff error messages into buffer */ void *libzfs_sharehdl; /* libshare handle */ boolean_t libzfs_mnttab_enable; + /* + * We need a lock to handle the case where parallel mount + * threads are populating the mnttab cache simultaneously. The + * lock only protects the integrity of the avl tree, and does + * not protect the contents of the mnttab entries themselves. + */ + pthread_mutex_t libzfs_mnttab_cache_lock; avl_tree_t libzfs_mnttab_cache; int libzfs_pool_iter; libzfs_fru_t **libzfs_fru_hash; Modified: projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c ============================================================================== --- projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c Mon Mar 4 19:14:32 2019 (r344776) @@ -26,6 +26,7 @@ * Copyright 2016 Igor Kozhukhov * Copyright 2017 Joyent, Inc. * Copyright 2017 RackTop Systems. + * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. */ /* @@ -34,25 +35,25 @@ * they are used by mount and unmount and when changing a filesystem's * mountpoint. * - * zfs_is_mounted() - * zfs_mount() - * zfs_unmount() - * zfs_unmountall() + * zfs_is_mounted() + * zfs_mount() + * zfs_unmount() + * zfs_unmountall() * * This file also contains the functions used to manage sharing filesystems via * NFS and iSCSI: * - * zfs_is_shared() - * zfs_share() - * zfs_unshare() + * zfs_is_shared() + * zfs_share() + * zfs_unshare() * - * zfs_is_shared_nfs() - * zfs_is_shared_smb() - * zfs_share_proto() - * zfs_shareall(); - * zfs_unshare_nfs() - * zfs_unshare_smb() - * zfs_unshareall_nfs() + * zfs_is_shared_nfs() + * zfs_is_shared_smb() + * zfs_share_proto() + * zfs_shareall(); + * zfs_unshare_nfs() + * zfs_unshare_smb() + * zfs_unshareall_nfs() * zfs_unshareall_smb() * zfs_unshareall() * zfs_unshareall_bypath() @@ -60,8 +61,8 @@ * The following functions are available for pool consumers, and will * mount/unmount and share/unshare all datasets within pool: * - * zpool_enable_datasets() - * zpool_disable_datasets() + * zpool_enable_datasets() + * zpool_disable_datasets() */ #include @@ -83,10 +84,14 @@ #include #include "libzfs_impl.h" +#include #include #define MAXISALEN 257 /* based on sysinfo(2) man page */ +static int mount_tp_nthr = 512; /* tpool threads for multi-threaded mounting */ + +static void zfs_mount_task(void *); static int zfs_share_proto(zfs_handle_t *, zfs_share_proto_t *); zfs_share_type_t zfs_is_shared_proto(zfs_handle_t *, char **, zfs_share_proto_t); @@ -1134,25 +1139,32 @@ remove_mountpoint(zfs_handle_t *zhp) } } +/* + * Add the given zfs handle to the cb_handles array, dynamically reallocating + * the array if it is out of space + */ void libzfs_add_handle(get_all_cb_t *cbp, zfs_handle_t *zhp) { if (cbp->cb_alloc == cbp->cb_used) { size_t newsz; - void *ptr; + zfs_handle_t **newhandles; - newsz = cbp->cb_alloc ? cbp->cb_alloc * 2 : 64; - ptr = zfs_realloc(zhp->zfs_hdl, - cbp->cb_handles, cbp->cb_alloc * sizeof (void *), - newsz * sizeof (void *)); - cbp->cb_handles = ptr; + newsz = cbp->cb_alloc != 0 ? cbp->cb_alloc * 2 : 64; + newhandles = zfs_realloc(zhp->zfs_hdl, + cbp->cb_handles, cbp->cb_alloc * sizeof (zfs_handle_t *), + newsz * sizeof (zfs_handle_t *)); + cbp->cb_handles = newhandles; cbp->cb_alloc = newsz; } cbp->cb_handles[cbp->cb_used++] = zhp; } +/* + * Recursive helper function used during file system enumeration + */ static int -mount_cb(zfs_handle_t *zhp, void *data) +zfs_iter_cb(zfs_handle_t *zhp, void *data) { get_all_cb_t *cbp = data; @@ -1178,104 +1190,362 @@ mount_cb(zfs_handle_t *zhp, void *data) } libzfs_add_handle(cbp, zhp); - if (zfs_iter_filesystems(zhp, mount_cb, cbp) != 0) { + if (zfs_iter_filesystems(zhp, zfs_iter_cb, cbp) != 0) { zfs_close(zhp); return (-1); } return (0); } -int -libzfs_dataset_cmp(const void *a, const void *b) +/* + * Sort comparator that compares two mountpoint paths. We sort these paths so + * that subdirectories immediately follow their parents. This means that we + * effectively treat the '/' character as the lowest value non-nul char. + * Since filesystems from non-global zones can have the same mountpoint + * as other filesystems, the comparator sorts global zone filesystems to + * the top of the list. This means that the global zone will traverse the + * filesystem list in the correct order and can stop when it sees the + * first zoned filesystem. In a non-global zone, only the delegated + * filesystems are seen. + * + * An example sorted list using this comparator would look like: + * + * /foo + * /foo/bar + * /foo/bar/baz + * /foo/baz + * /foo.bar + * /foo (NGZ1) + * /foo (NGZ2) + * + * The mount code depend on this ordering to deterministically iterate + * over filesystems in order to spawn parallel mount tasks. + */ +static int +mountpoint_cmp(const void *arga, const void *argb) { - zfs_handle_t **za = (zfs_handle_t **)a; - zfs_handle_t **zb = (zfs_handle_t **)b; + zfs_handle_t *const *zap = arga; + zfs_handle_t *za = *zap; + zfs_handle_t *const *zbp = argb; + zfs_handle_t *zb = *zbp; char mounta[MAXPATHLEN]; char mountb[MAXPATHLEN]; + const char *a = mounta; + const char *b = mountb; boolean_t gota, gotb; + uint64_t zoneda, zonedb; - if ((gota = (zfs_get_type(*za) == ZFS_TYPE_FILESYSTEM)) != 0) - verify(zfs_prop_get(*za, ZFS_PROP_MOUNTPOINT, mounta, + zoneda = zfs_prop_get_int(za, ZFS_PROP_ZONED); + zonedb = zfs_prop_get_int(zb, ZFS_PROP_ZONED); + if (zoneda && !zonedb) + return (1); + if (!zoneda && zonedb) + return (-1); + gota = (zfs_get_type(za) == ZFS_TYPE_FILESYSTEM); + if (gota) + verify(zfs_prop_get(za, ZFS_PROP_MOUNTPOINT, mounta, sizeof (mounta), NULL, NULL, 0, B_FALSE) == 0); - if ((gotb = (zfs_get_type(*zb) == ZFS_TYPE_FILESYSTEM)) != 0) - verify(zfs_prop_get(*zb, ZFS_PROP_MOUNTPOINT, mountb, + gotb = (zfs_get_type(zb) == ZFS_TYPE_FILESYSTEM); + if (gotb) + verify(zfs_prop_get(zb, ZFS_PROP_MOUNTPOINT, mountb, sizeof (mountb), NULL, NULL, 0, B_FALSE) == 0); - if (gota && gotb) - return (strcmp(mounta, mountb)); + if (gota && gotb) { + while (*a != '\0' && (*a == *b)) { + a++; + b++; + } + if (*a == *b) + return (0); + if (*a == '\0') + return (-1); + if (*b == '\0') + return (1); + if (*a == '/') + return (-1); + if (*b == '/') + return (1); + return (*a < *b ? -1 : *a > *b); + } if (gota) return (-1); if (gotb) return (1); - return (strcmp(zfs_get_name(a), zfs_get_name(b))); + /* + * If neither filesystem has a mountpoint, revert to sorting by + * datset name. + */ + return (strcmp(zfs_get_name(za), zfs_get_name(zb))); } /* + * Reutrn true if path2 is a child of path1 + */ +static boolean_t +libzfs_path_contains(const char *path1, const char *path2) +{ + return (strstr(path2, path1) == path2 && path2[strlen(path1)] == '/'); +} + + +static int +non_descendant_idx(zfs_handle_t **handles, size_t num_handles, int idx) +{ + char parent[ZFS_MAXPROPLEN]; + char child[ZFS_MAXPROPLEN]; + int i; + + verify(zfs_prop_get(handles[idx], ZFS_PROP_MOUNTPOINT, parent, + sizeof (parent), NULL, NULL, 0, B_FALSE) == 0); + + for (i = idx + 1; i < num_handles; i++) { + verify(zfs_prop_get(handles[i], ZFS_PROP_MOUNTPOINT, child, + sizeof (child), NULL, NULL, 0, B_FALSE) == 0); + if (!libzfs_path_contains(parent, child)) + break; + } + return (i); +} + +typedef struct mnt_param { + libzfs_handle_t *mnt_hdl; + tpool_t *mnt_tp; + zfs_handle_t **mnt_zhps; /* filesystems to mount */ + size_t mnt_num_handles; + int mnt_idx; /* Index of selected entry to mount */ + zfs_iter_f mnt_func; + void *mnt_data; +} mnt_param_t; + +/* + * Allocate and populate the parameter struct for mount function, and + * schedule mounting of the entry selected by idx. + */ +static void +zfs_dispatch_mount(libzfs_handle_t *hdl, zfs_handle_t **handles, + size_t num_handles, int idx, zfs_iter_f func, void *data, tpool_t *tp) +{ + mnt_param_t *mnt_param = zfs_alloc(hdl, sizeof (mnt_param_t)); + + mnt_param->mnt_hdl = hdl; + mnt_param->mnt_tp = tp; + mnt_param->mnt_zhps = handles; + mnt_param->mnt_num_handles = num_handles; + mnt_param->mnt_idx = idx; + mnt_param->mnt_func = func; + mnt_param->mnt_data = data; + + (void) tpool_dispatch(tp, zfs_mount_task, (void*)mnt_param); +} + +/* + * This is the structure used to keep state of mounting or sharing operations + * during a call to zpool_enable_datasets(). + */ +typedef struct mount_state { + /* + * ms_mntstatus is set to -1 if any mount fails. While multiple threads + * could update this variable concurrently, no synchronization is + * needed as it's only ever set to -1. + */ + int ms_mntstatus; + int ms_mntflags; + const char *ms_mntopts; +} mount_state_t; + +static int +zfs_mount_one(zfs_handle_t *zhp, void *arg) +{ + mount_state_t *ms = arg; + int ret = 0; + + if (zfs_mount(zhp, ms->ms_mntopts, ms->ms_mntflags) != 0) + ret = ms->ms_mntstatus = -1; + return (ret); +} + +static int +zfs_share_one(zfs_handle_t *zhp, void *arg) +{ + mount_state_t *ms = arg; + int ret = 0; + + if (zfs_share(zhp) != 0) + ret = ms->ms_mntstatus = -1; + return (ret); +} + +/* + * Thread pool function to mount one file system. On completion, it finds and + * schedules its children to be mounted. This depends on the sorting done in + * zfs_foreach_mountpoint(). Note that the degenerate case (chain of entries + * each descending from the previous) will have no parallelism since we always + * have to wait for the parent to finish mounting before we can schedule + * its children. + */ +static void +zfs_mount_task(void *arg) +{ + mnt_param_t *mp = arg; + int idx = mp->mnt_idx; + zfs_handle_t **handles = mp->mnt_zhps; + size_t num_handles = mp->mnt_num_handles; + char mountpoint[ZFS_MAXPROPLEN]; + + verify(zfs_prop_get(handles[idx], ZFS_PROP_MOUNTPOINT, mountpoint, + sizeof (mountpoint), NULL, NULL, 0, B_FALSE) == 0); + + if (mp->mnt_func(handles[idx], mp->mnt_data) != 0) + return; + + /* + * We dispatch tasks to mount filesystems with mountpoints underneath + * this one. We do this by dispatching the next filesystem with a + * descendant mountpoint of the one we just mounted, then skip all of + * its descendants, dispatch the next descendant mountpoint, and so on. + * The non_descendant_idx() function skips over filesystems that are + * descendants of the filesystem we just dispatched. + */ + for (int i = idx + 1; i < num_handles; + i = non_descendant_idx(handles, num_handles, i)) { + char child[ZFS_MAXPROPLEN]; + verify(zfs_prop_get(handles[i], ZFS_PROP_MOUNTPOINT, + child, sizeof (child), NULL, NULL, 0, B_FALSE) == 0); + + if (!libzfs_path_contains(mountpoint, child)) + break; /* not a descendant, return */ + zfs_dispatch_mount(mp->mnt_hdl, handles, num_handles, i, + mp->mnt_func, mp->mnt_data, mp->mnt_tp); + } + free(mp); +} + +/* + * Issue the func callback for each ZFS handle contained in the handles + * array. This function is used to mount all datasets, and so this function + * guarantees that filesystems for parent mountpoints are called before their + * children. As such, before issuing any callbacks, we first sort the array + * of handles by mountpoint. + * + * Callbacks are issued in one of two ways: + * + * 1. Sequentially: If the parallel argument is B_FALSE or the ZFS_SERIAL_MOUNT + * environment variable is set, then we issue callbacks sequentially. + * + * 2. In parallel: If the parallel argument is B_TRUE and the ZFS_SERIAL_MOUNT + * environment variable is not set, then we use a tpool to dispatch threads + * to mount filesystems in parallel. This function dispatches tasks to mount + * the filesystems at the top-level mountpoints, and these tasks in turn + * are responsible for recursively mounting filesystems in their children + * mountpoints. + */ +void +zfs_foreach_mountpoint(libzfs_handle_t *hdl, zfs_handle_t **handles, + size_t num_handles, zfs_iter_f func, void *data, boolean_t parallel) +{ + zoneid_t zoneid = getzoneid(); + + /* + * The ZFS_SERIAL_MOUNT environment variable is an undocumented + * variable that can be used as a convenience to do a/b comparison + * of serial vs. parallel mounting. + */ + boolean_t serial_mount = !parallel || + (getenv("ZFS_SERIAL_MOUNT") != NULL); + + /* + * Sort the datasets by mountpoint. See mountpoint_cmp for details + * of how these are sorted. + */ + qsort(handles, num_handles, sizeof (zfs_handle_t *), mountpoint_cmp); + + if (serial_mount) { + for (int i = 0; i < num_handles; i++) { + func(handles[i], data); + } + return; + } + + /* + * Issue the callback function for each dataset using a parallel + * algorithm that uses a thread pool to manage threads. + */ + tpool_t *tp = tpool_create(1, mount_tp_nthr, 0, NULL); + + /* + * There may be multiple "top level" mountpoints outside of the pool's + * root mountpoint, e.g.: /foo /bar. Dispatch a mount task for each of + * these. + */ + for (int i = 0; i < num_handles; + i = non_descendant_idx(handles, num_handles, i)) { + /* + * Since the mountpoints have been sorted so that the zoned + * filesystems are at the end, a zoned filesystem seen from + * the global zone means that we're done. + */ + if (zoneid == GLOBAL_ZONEID && + zfs_prop_get_int(handles[i], ZFS_PROP_ZONED)) + break; + zfs_dispatch_mount(hdl, handles, num_handles, i, func, data, + tp); + } + + tpool_wait(tp); /* wait for all scheduled mounts to complete */ + tpool_destroy(tp); +} + +/* * Mount and share all datasets within the given pool. This assumes that no - * datasets within the pool are currently mounted. Because users can create - * complicated nested hierarchies of mountpoints, we first gather all the - * datasets and mountpoints within the pool, and sort them by mountpoint. Once - * we have the list of all filesystems, we iterate over them in order and mount - * and/or share each one. + * datasets within the pool are currently mounted. */ #pragma weak zpool_mount_datasets = zpool_enable_datasets int zpool_enable_datasets(zpool_handle_t *zhp, const char *mntopts, int flags) { get_all_cb_t cb = { 0 }; - libzfs_handle_t *hdl = zhp->zpool_hdl; + mount_state_t ms = { 0 }; zfs_handle_t *zfsp; - int i, ret = -1; - int *good; + int ret = 0; - /* - * Gather all non-snap datasets within the pool. - */ - if ((zfsp = zfs_open(hdl, zhp->zpool_name, ZFS_TYPE_DATASET)) == NULL) + if ((zfsp = zfs_open(zhp->zpool_hdl, zhp->zpool_name, + ZFS_TYPE_DATASET)) == NULL) goto out; - libzfs_add_handle(&cb, zfsp); - if (zfs_iter_filesystems(zfsp, mount_cb, &cb) != 0) - goto out; /* - * Sort the datasets by mountpoint. + * Gather all non-snapshot datasets within the pool. Start by adding + * the root filesystem for this pool to the list, and then iterate + * over all child filesystems. */ - qsort(cb.cb_handles, cb.cb_used, sizeof (void *), - libzfs_dataset_cmp); + libzfs_add_handle(&cb, zfsp); + if (zfs_iter_filesystems(zfsp, zfs_iter_cb, &cb) != 0) + goto out; /* - * And mount all the datasets, keeping track of which ones - * succeeded or failed. + * Mount all filesystems */ - if ((good = zfs_alloc(zhp->zpool_hdl, - cb.cb_used * sizeof (int))) == NULL) - goto out; + ms.ms_mntopts = mntopts; + ms.ms_mntflags = flags; + zfs_foreach_mountpoint(zhp->zpool_hdl, cb.cb_handles, cb.cb_used, + zfs_mount_one, &ms, B_TRUE); + if (ms.ms_mntstatus != 0) + ret = ms.ms_mntstatus; - ret = 0; - for (i = 0; i < cb.cb_used; i++) { - if (zfs_mount(cb.cb_handles[i], mntopts, flags) != 0) - ret = -1; - else - good[i] = 1; - } - /* - * Then share all the ones that need to be shared. This needs - * to be a separate pass in order to avoid excessive reloading - * of the configuration. Good should never be NULL since - * zfs_alloc is supposed to exit if memory isn't available. + * Share all filesystems that need to be shared. This needs to be + * a separate pass because libshare is not mt-safe, and so we need + * to share serially. */ - for (i = 0; i < cb.cb_used; i++) { - if (good[i] && zfs_share(cb.cb_handles[i]) != 0) - ret = -1; - } + ms.ms_mntstatus = 0; + zfs_foreach_mountpoint(zhp->zpool_hdl, cb.cb_handles, cb.cb_used, + zfs_share_one, &ms, B_FALSE); + if (ms.ms_mntstatus != 0) + ret = ms.ms_mntstatus; - free(good); - out: - for (i = 0; i < cb.cb_used; i++) + for (int i = 0; i < cb.cb_used; i++) zfs_close(cb.cb_handles[i]); free(cb.cb_handles); Modified: projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c ============================================================================== --- projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Mon Mar 4 19:10:22 2019 (r344775) +++ projects/clang800-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c Mon Mar 4 19:14:32 2019 (r344776) @@ -85,6 +85,8 @@ typedef struct progress_arg { zfs_handle_t *pa_zhp; int pa_fd; boolean_t pa_parsable; + boolean_t pa_astitle; + uint64_t pa_size; } progress_arg_t; typedef struct dataref { @@ -930,6 +932,7 @@ typedef struct send_dump_data { uint64_t prevsnap_obj; boolean_t seenfrom, seento, replicate, doall, fromorigin; boolean_t verbose, dryrun, parsable, progress, embed_data, std_out; + boolean_t progressastitle; boolean_t large_block, compress; int outfd; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon Mar 4 19:23:12 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 99F80151FE47 for ; Mon, 4 Mar 2019 19:23:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3D0DB831B4; Mon, 4 Mar 2019 19:23:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 14F8588AF; Mon, 4 Mar 2019 19:23:12 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x24JNB8j013208; Mon, 4 Mar 2019 19:23:11 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x24JNBmH013205; Mon, 4 Mar 2019 19:23:11 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201903041923.x24JNBmH013205@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 4 Mar 2019 19:23:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344777 - in projects/clang800-import: . sys/sys X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: in projects/clang800-import: . sys/sys X-SVN-Commit-Revision: 344777 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 3D0DB831B4 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.978,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2019 19:23:12 -0000 Author: dim Date: Mon Mar 4 19:23:11 2019 New Revision: 344777 URL: https://svnweb.freebsd.org/changeset/base/344777 Log: Set tentative merge date, and bump __FreeBSD_version. Modified: projects/clang800-import/ObsoleteFiles.inc projects/clang800-import/UPDATING projects/clang800-import/sys/sys/param.h Modified: projects/clang800-import/ObsoleteFiles.inc ============================================================================== --- projects/clang800-import/ObsoleteFiles.inc Mon Mar 4 19:14:32 2019 (r344776) +++ projects/clang800-import/ObsoleteFiles.inc Mon Mar 4 19:23:11 2019 (r344777) @@ -38,9 +38,9 @@ # xargs -n1 | sort | uniq -d; # done -# 2019mmdd: new libc++ import which bumps version from 7.0.1 to 8.0.0. +# 20190304: new libc++ import which bumps version from 7.0.1 to 8.0.0. OLD_FILES+=usr/include/c++/v1/experimental/dynarray -# 2019mmdd: new clang import which bumps version from 7.0.1 to 8.0.0. +# 20190304: new clang import which bumps version from 7.0.1 to 8.0.0. OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/allocator_interface.h OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/asan_interface.h OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/common_interface_defs.h Modified: projects/clang800-import/UPDATING ============================================================================== --- projects/clang800-import/UPDATING Mon Mar 4 19:14:32 2019 (r344776) +++ projects/clang800-import/UPDATING Mon Mar 4 19:23:11 2019 (r344777) @@ -31,7 +31,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) -2019mmdd: +20190304: Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to 8.0.0. Please see the 20141231 entry below for information about prerequisites and upgrading, if you are not already using clang 3.5.0 Modified: projects/clang800-import/sys/sys/param.h ============================================================================== --- projects/clang800-import/sys/sys/param.h Mon Mar 4 19:14:32 2019 (r344776) +++ projects/clang800-import/sys/sys/param.h Mon Mar 4 19:23:11 2019 (r344777) @@ -60,7 +60,7 @@ * in the range 5 to 9. */ #undef __FreeBSD_version -#define __FreeBSD_version 1300013 /* Master, propagated to newvers */ +#define __FreeBSD_version 1300014 /* Master, propagated to newvers */ /* * __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD, From owner-svn-src-projects@freebsd.org Mon Mar 4 19:23:44 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6B59F151FE70 for ; Mon, 4 Mar 2019 19:23:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 0AD6D832AC; Mon, 4 Mar 2019 19:23:44 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id D7F9D88B0; Mon, 4 Mar 2019 19:23:43 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x24JNhhq013293; Mon, 4 Mar 2019 19:23:43 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x24JNhYs013292; Mon, 4 Mar 2019 19:23:43 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201903041923.x24JNhYs013292@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 4 Mar 2019 19:23:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344778 - projects/clang800-import X-SVN-Group: projects X-SVN-Commit-Author: dim X-SVN-Commit-Paths: projects/clang800-import X-SVN-Commit-Revision: 344778 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 0AD6D832AC X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.977,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2019 19:23:44 -0000 Author: dim Date: Mon Mar 4 19:23:43 2019 New Revision: 344778 URL: https://svnweb.freebsd.org/changeset/base/344778 Log: Merge ^/head r343202 through r344777. Modified: Directory Properties: projects/clang800-import/ (props changed) From owner-svn-src-projects@freebsd.org Mon Mar 4 22:03:10 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AE50F1524A99 for ; Mon, 4 Mar 2019 22:03:10 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 51A378ACCC; Mon, 4 Mar 2019 22:03:10 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 40839A430; Mon, 4 Mar 2019 22:03:10 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x24M3A3G099966; Mon, 4 Mar 2019 22:03:10 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x24M3AKS099965; Mon, 4 Mar 2019 22:03:10 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903042203.x24M3AKS099965@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 4 Mar 2019 22:03:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344783 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344783 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 51A378ACCC X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.978,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2019 22:03:10 -0000 Author: asomers Date: Mon Mar 4 22:03:09 2019 New Revision: 344783 URL: https://svnweb.freebsd.org/changeset/base/344783 Log: fuse(4): fix the entry_cache_negative_timeout test I committed too soon in r344775; the test actually passes when I write it correctly. PR: 236226 Sponsored by: The FreeBSD Foundation Modified: projects/fuse2/tests/sys/fs/fuse/lookup.cc Modified: projects/fuse2/tests/sys/fs/fuse/lookup.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/lookup.cc Mon Mar 4 22:01:09 2019 (r344782) +++ projects/fuse2/tests/sys/fs/fuse/lookup.cc Mon Mar 4 22:03:09 2019 (r344783) @@ -225,8 +225,7 @@ TEST_F(Lookup, DISABLED_entry_cache_negative) } /* Negative entry caches should timeout, too */ -/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236226 */ -TEST_F(Lookup, DISABLED_entry_cache_negative_timeout) +TEST_F(Lookup, entry_cache_negative_timeout) { /* * The timeout should be longer than the longest plausible time the @@ -239,8 +238,8 @@ TEST_F(Lookup, DISABLED_entry_cache_negative_timeout) return (in->header.opcode == FUSE_LOOKUP); }, Eq(true)), _) - ).Times(1) - .WillOnce(Invoke([=](auto in, auto out) { + ).Times(2) + .WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; out->body.entry.nodeid = 0; From owner-svn-src-projects@freebsd.org Mon Mar 4 22:07:35 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F2361524BD4 for ; Mon, 4 Mar 2019 22:07:35 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id F23D28B08C; Mon, 4 Mar 2019 22:07:34 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id E7325A441; Mon, 4 Mar 2019 22:07:34 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x24M7Y78000396; Mon, 4 Mar 2019 22:07:34 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x24M7Xlv000388; Mon, 4 Mar 2019 22:07:33 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903042207.x24M7Xlv000388@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 4 Mar 2019 22:07:33 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344785 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344785 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: F23D28B08C X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.971,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 04 Mar 2019 22:07:35 -0000 Author: asomers Date: Mon Mar 4 22:07:33 2019 New Revision: 344785 URL: https://svnweb.freebsd.org/changeset/base/344785 Log: fuse(4): add tests for CREATE, OPEN, READLINK, SETATTR and SYMLINK The new SETATTR tests deal with already-open files. PR: 235775 PR: 236231 Sponsored by: The FreeBSD Foundation Added: projects/fuse2/tests/sys/fs/fuse/create.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/open.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/readlink.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/symlink.cc (contents, props changed) Modified: projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/mockfs.hh projects/fuse2/tests/sys/fs/fuse/setattr.cc Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Mon Mar 4 22:04:21 2019 (r344784) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Mon Mar 4 22:07:33 2019 (r344785) @@ -4,24 +4,48 @@ PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/fs/fuse +ATF_TESTS_CXX+= create ATF_TESTS_CXX+= getattr ATF_TESTS_CXX+= lookup +ATF_TESTS_CXX+= open +ATF_TESTS_CXX+= readlink ATF_TESTS_CXX+= setattr +ATF_TESTS_CXX+= symlink +SRCS.create+= create.cc +SRCS.create+= getmntopts.c +SRCS.create+= mockfs.cc +SRCS.create+= utils.cc + SRCS.getattr+= getattr.cc SRCS.getattr+= getmntopts.c SRCS.getattr+= mockfs.cc SRCS.getattr+= utils.cc -SRCS.lookup+= lookup.cc SRCS.lookup+= getmntopts.c +SRCS.lookup+= lookup.cc SRCS.lookup+= mockfs.cc SRCS.lookup+= utils.cc -SRCS.setattr+= setattr.cc +SRCS.open+= getmntopts.c +SRCS.open+= mockfs.cc +SRCS.open+= open.cc +SRCS.open+= utils.cc + +SRCS.readlink+= getmntopts.c +SRCS.readlink+= mockfs.cc +SRCS.readlink+= readlink.cc +SRCS.readlink+= utils.cc + SRCS.setattr+= getmntopts.c SRCS.setattr+= mockfs.cc +SRCS.setattr+= setattr.cc SRCS.setattr+= utils.cc + +SRCS.symlink+= getmntopts.c +SRCS.symlink+= mockfs.cc +SRCS.symlink+= symlink.cc +SRCS.symlink+= utils.cc # TODO: drastically increase timeout after test development is mostly complete TEST_METADATA+= timeout=10 Added: projects/fuse2/tests/sys/fs/fuse/create.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/create.cc Mon Mar 4 22:07:33 2019 (r344785) @@ -0,0 +1,383 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Create: public FuseTest {}; + +/* + * If FUSE_CREATE sets the attr_valid, then subsequent GETATTRs should use the + * attribute cache + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235775 */ +TEST_F(Create, DISABLED_attr_cache) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + uint64_t ino = 42; + int fd; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_CREATE && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, create); + out->body.create.entry.attr.mode = S_IFREG | mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.entry_valid = UINT64_MAX; + out->body.create.entry.attr_valid = UINT64_MAX; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).Times(0); + + fd = open(FULLPATH, O_CREAT | O_EXCL, mode); + EXPECT_LE(0, fd) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* + * The fuse daemon fails the request with EEXIST. This usually indicates a + * race condition: some other FUSE client created the file in between when the + * kernel checked for it with lookup and tried to create it with create + */ +TEST_F(Create, eexist) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_CREATE && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -EEXIST; + out->header.len = sizeof(out->header); + })); + EXPECT_NE(0, open(FULLPATH, O_CREAT | O_EXCL, mode)); + EXPECT_EQ(EEXIST, errno); +} + +// TODO: enosys: kernel should fall back to mknod/open + +/* + * Creating a new file after FUSE_LOOKUP returned a negative cache entry + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236231 */ +TEST_F(Create, DISABLED_entry_cache_negative) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + uint64_t ino = 42; + int fd; + + /* create will first do a LOOKUP, adding a negative cache entry */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + /* nodeid means ENOENT and cache it */ + out->body.entry.nodeid = 0; + out->header.unique = in->header.unique; + out->header.error = 0; + /* + * Set entry_valid = 0 because this test isn't concerned with + * whether or not we actually cache negative entries, only with + * whether we interpret negative cache responses correctly. + */ + out->body.entry.entry_valid = 0; + SET_OUT_HEADER_LEN(out, entry); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_CREATE && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, create); + out->body.create.entry.attr.mode = S_IFREG | mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.entry_valid = UINT64_MAX; + out->body.create.entry.attr_valid = UINT64_MAX; + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + + fd = open(FULLPATH, O_CREAT | O_EXCL, mode); + ASSERT_LE(0, fd) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* + * Creating a new file should purge any negative namecache entries + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236231 */ +TEST_F(Create, DISABLED_entry_cache_negative_purge) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + uint64_t ino = 42; + int fd; + + /* create will first do a LOOKUP, adding a negative cache entry */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).Times(1) + .WillOnce(Invoke([=](auto in, auto out) { + /* nodeid means ENOENT and cache it */ + out->body.entry.nodeid = 0; + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.entry_valid = UINT64_MAX; + SET_OUT_HEADER_LEN(out, entry); + })).RetiresOnSaturation(); + + /* Then the CREATE should purge the negative cache entry */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_CREATE && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, create); + out->body.create.entry.attr.mode = S_IFREG | mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.attr_valid = UINT64_MAX; + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + + fd = open(FULLPATH, O_CREAT | O_EXCL, mode); + ASSERT_LE(0, fd) << strerror(errno); + + /* Finally, a subsequent lookup should query the daemon */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).Times(1) + .WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.nodeid = ino; + out->body.entry.attr.mode = S_IFREG | mode; + SET_OUT_HEADER_LEN(out, entry); + })); + + ASSERT_EQ(0, access(FULLPATH, F_OK)) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* + * The daemon is responsible for checking file permissions (unless the + * default_permissions mount option was used) + */ +TEST_F(Create, eperm) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_CREATE && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -EPERM; + out->header.len = sizeof(out->header); + })); + EXPECT_NE(0, open(FULLPATH, O_CREAT | O_EXCL, mode)); + EXPECT_EQ(EPERM, errno); +} + +TEST_F(Create, ok) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + uint64_t ino = 42; + int fd; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_CREATE && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, create); + out->body.create.entry.attr.mode = S_IFREG | mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.entry_valid = UINT64_MAX; + out->body.create.entry.attr_valid = UINT64_MAX; + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + + fd = open(FULLPATH, O_CREAT | O_EXCL, mode); + EXPECT_LE(0, fd) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Mon Mar 4 22:04:21 2019 (r344784) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Mon Mar 4 22:07:33 2019 (r344785) @@ -44,12 +44,19 @@ extern "C" { extern int verbosity; +/* This struct isn't defined by fuse_kernel.h or libfuse, but it should be */ +struct fuse_create_out { + struct fuse_entry_out entry; + struct fuse_open_out open; +}; + union fuse_payloads_in { /* value is from fuse_kern_chan.c in fusefs-libs */ uint8_t bytes[0x21000 - sizeof(struct fuse_in_header)]; fuse_forget_in forget; fuse_init_in init; char lookup[0]; + fuse_open_in open; fuse_setattr_in setattr; }; @@ -59,9 +66,16 @@ struct mockfs_buf_in { }; union fuse_payloads_out { - fuse_init_out init; - fuse_entry_out entry; fuse_attr_out attr; + fuse_create_out create; + fuse_entry_out entry; + fuse_init_out init; + fuse_open_out open; + /* + * The protocol places no limits on the length of the string. This is + * merely convenient for testing. + */ + char str[80]; }; struct mockfs_buf_out { Added: projects/fuse2/tests/sys/fs/fuse/open.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/open.cc Mon Mar 4 22:07:33 2019 (r344785) @@ -0,0 +1,168 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Open: public FuseTest {}; + +/* + * The fuse daemon fails the request with enoent. This usually indicates a + * race condition: some other FUSE client removed the file in between when the + * kernel checked for it with lookup and tried to open it + */ +TEST_F(Open, enoent) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + EXPECT_NE(0, open(FULLPATH, O_RDONLY)); + EXPECT_EQ(ENOENT, errno); +} + +/* + * The daemon is responsible for checking file permissions (unless the + * default_permissions mount option was used) + */ +TEST_F(Open, eperm) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -EPERM; + out->header.len = sizeof(out->header); + })); + EXPECT_NE(0, open(FULLPATH, O_RDONLY)); + EXPECT_EQ(EPERM, errno); +} + +TEST_F(Open, ok) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + + fd = open(FULLPATH, O_RDONLY); + EXPECT_LE(0, fd) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} Added: projects/fuse2/tests/sys/fs/fuse/readlink.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/readlink.cc Mon Mar 4 22:07:33 2019 (r344785) @@ -0,0 +1,115 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Readlink: public FuseTest {}; + +TEST_F(Readlink, eloop) +{ + const char FULLPATH[] = "mountpoint/src"; + const char RELPATH[] = "src"; + const uint64_t ino = 42; + char buf[80]; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFLNK | 0777; + out->body.entry.nodeid = ino; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_READLINK && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ELOOP; + out->header.len = sizeof(out->header); + })); + + + EXPECT_EQ(-1, readlink(FULLPATH, buf, sizeof(buf))); + EXPECT_EQ(ELOOP, errno); +} + +TEST_F(Readlink, ok) +{ + const char FULLPATH[] = "mountpoint/src"; + const char RELPATH[] = "src"; + const char dst[] = "dst"; + const uint64_t ino = 42; + char buf[80]; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFLNK | 0777; + out->body.entry.nodeid = ino; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_READLINK && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + strlcpy(out->body.str, dst, sizeof(out->body.str)); + out->header.len = sizeof(out->header) + strlen(dst) + 1; + })); + + + EXPECT_EQ((ssize_t)strlen(dst) + 1, + readlink(FULLPATH, buf, sizeof(buf))); + EXPECT_STREQ(dst, buf); +} Modified: projects/fuse2/tests/sys/fs/fuse/setattr.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/setattr.cc Mon Mar 4 22:04:21 2019 (r344784) +++ projects/fuse2/tests/sys/fs/fuse/setattr.cc Mon Mar 4 22:07:33 2019 (r344785) @@ -132,8 +132,6 @@ TEST_F(Setattr, chown) } -/* Change the mode of an open file, by its file descriptor */ -//TODO TEST_F(Setattr, fchmod) {} /* * FUSE daemons are allowed to check permissions however they like. If the @@ -174,6 +172,157 @@ TEST_F(Setattr, eperm) })); EXPECT_NE(0, truncate(FULLPATH, 10)); EXPECT_EQ(EPERM, errno); +} + +/* Change the mode of an open file, by its file descriptor */ +TEST_F(Setattr, fchmod) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + const mode_t oldmode = 0755; + const mode_t newmode = 0644; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | oldmode; + out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | oldmode; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + /* In protocol 7.23, ctime will be changed too */ + uint32_t valid = FATTR_MODE; + return (in->header.opcode == FUSE_SETATTR && + in->header.nodeid == ino && + in->body.setattr.valid == valid && + in->body.setattr.mode == newmode); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | newmode; + })); + + fd = open(FULLPATH, O_RDONLY); + ASSERT_LE(0, fd) << strerror(errno); + ASSERT_EQ(0, fchmod(fd, newmode)) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* Change the size of an open file, by its file descriptor */ +TEST_F(Setattr, ftruncate) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + uint64_t fh = 0xdeadbeef1a7ebabe; + const off_t oldsize = 99; + const off_t newsize = 12345; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0755; + out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; + out->body.entry.attr.size = oldsize; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + out->body.open.fh = fh; + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0755; + out->body.attr.attr.size = oldsize; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + /* In protocol 7.23, ctime will be changed too */ + uint32_t valid = FATTR_SIZE | FATTR_FH; + return (in->header.opcode == FUSE_SETATTR && + in->header.nodeid == ino && + in->body.setattr.valid == valid && + in->body.setattr.fh == fh); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0755; + out->body.attr.attr.size = newsize; + })); + + fd = open(FULLPATH, O_RDWR); + ASSERT_LE(0, fd) << strerror(errno); + ASSERT_EQ(0, ftruncate(fd, newsize)) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ } /* Change the size of the file */ Added: projects/fuse2/tests/sys/fs/fuse/symlink.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/symlink.cc Mon Mar 4 22:07:33 2019 (r344785) @@ -0,0 +1,116 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Symlink: public FuseTest {}; + +TEST_F(Symlink, enospc) +{ + const char FULLPATH[] = "mountpoint/lnk"; + const char RELPATH[] = "lnk"; + const char dst[] = "dst"; + //const uint64_t ino = 42; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Tue Mar 5 00:27:56 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id F018115282CE for ; Tue, 5 Mar 2019 00:27:55 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 95ADA8FB7A; Tue, 5 Mar 2019 00:27:55 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 8534EBD44; Tue, 5 Mar 2019 00:27:55 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x250RtnL073158; Tue, 5 Mar 2019 00:27:55 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x250RsWq073152; Tue, 5 Mar 2019 00:27:54 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903050027.x250RsWq073152@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 5 Mar 2019 00:27:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344786 - in projects/fuse2: sys/fs/fuse tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in projects/fuse2: sys/fs/fuse tests/sys/fs/fuse X-SVN-Commit-Revision: 344786 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 95ADA8FB7A X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.975,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2019 00:27:56 -0000 Author: asomers Date: Tue Mar 5 00:27:54 2019 New Revision: 344786 URL: https://svnweb.freebsd.org/changeset/base/344786 Log: fuse(4): add tests related to FUSE_MKNOD PR: 236236 Sponsored by: The FreeBSD Foundation Added: projects/fuse2/tests/sys/fs/fuse/mknod.cc (contents, props changed) Modified: projects/fuse2/sys/fs/fuse/fuse_kernel.h projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/create.cc projects/fuse2/tests/sys/fs/fuse/mockfs.hh projects/fuse2/tests/sys/fs/fuse/utils.hh Modified: projects/fuse2/sys/fs/fuse/fuse_kernel.h ============================================================================== --- projects/fuse2/sys/fs/fuse/fuse_kernel.h Mon Mar 4 22:07:33 2019 (r344785) +++ projects/fuse2/sys/fs/fuse/fuse_kernel.h Tue Mar 5 00:27:54 2019 (r344786) @@ -194,6 +194,11 @@ struct fuse_attr_out { struct fuse_attr attr; }; +struct fuse_mknod_in { + __u32 mode; + __u32 rdev; +}; + struct fuse_mkdir_in { __u32 mode; __u32 padding; Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Mon Mar 4 22:07:33 2019 (r344785) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Tue Mar 5 00:27:54 2019 (r344786) @@ -7,6 +7,7 @@ TESTSDIR= ${TESTSBASE}/sys/fs/fuse ATF_TESTS_CXX+= create ATF_TESTS_CXX+= getattr ATF_TESTS_CXX+= lookup +ATF_TESTS_CXX+= mknod ATF_TESTS_CXX+= open ATF_TESTS_CXX+= readlink ATF_TESTS_CXX+= setattr @@ -26,6 +27,11 @@ SRCS.lookup+= getmntopts.c SRCS.lookup+= lookup.cc SRCS.lookup+= mockfs.cc SRCS.lookup+= utils.cc + +SRCS.mknod+= getmntopts.c +SRCS.mknod+= mockfs.cc +SRCS.mknod+= mknod.cc +SRCS.mknod+= utils.cc SRCS.open+= getmntopts.c SRCS.open+= mockfs.cc Modified: projects/fuse2/tests/sys/fs/fuse/create.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/create.cc Mon Mar 4 22:07:33 2019 (r344785) +++ projects/fuse2/tests/sys/fs/fuse/create.cc Tue Mar 5 00:27:54 2019 (r344786) @@ -133,7 +133,94 @@ TEST_F(Create, eexist) EXPECT_EQ(EEXIST, errno); } -// TODO: enosys: kernel should fall back to mknod/open +/* + * If the daemon doesn't implement FUSE_CREATE, then the kernel should fallback + * to FUSE_MKNOD/FUSE_OPEN + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236236 */ +TEST_F(Create, DISABLED_Enosys) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + uint64_t ino = 42; + int fd; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_CREATE && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOSYS; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_mknod_in); + return (in->header.opcode == FUSE_MKNOD && + in->body.mknod.mode == (S_IFREG | mode) && + in->body.mknod.rdev == 0 && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, create); + out->body.create.entry.attr.mode = S_IFREG | mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.entry_valid = UINT64_MAX; + out->body.create.entry.attr_valid = UINT64_MAX; + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + + fd = open(FULLPATH, O_CREAT | O_EXCL, mode); + EXPECT_LE(0, fd) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} /* * Creating a new file after FUSE_LOOKUP returned a negative cache entry Added: projects/fuse2/tests/sys/fs/fuse/mknod.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/mknod.cc Tue Mar 5 00:27:54 2019 (r344786) @@ -0,0 +1,162 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Mknod: public FuseTest { + +public: + +virtual void SetUp() { + if (geteuid() != 0) { + // TODO: With GoogleTest 1.8.2, use SKIP instead + FAIL() << "Only root may use most mknod(2) variations"; + } + FuseTest::SetUp(); +} + +/* Test an OK creation of a file with the given mode and device number */ +void test_ok(mode_t mode, dev_t dev) { + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_mknod_in); + return (in->header.opcode == FUSE_MKNOD && + in->body.mknod.mode == mode && + in->body.mknod.rdev == dev && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, create); + out->body.create.entry.attr.mode = mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.entry_valid = UINT64_MAX; + out->body.create.entry.attr_valid = UINT64_MAX; + out->body.create.entry.attr.rdev = dev; + })); + EXPECT_EQ(0, mknod(FULLPATH, mode, dev)) << strerror(errno); +} + +}; + +/* + * mknod(2) should be able to create block devices on a FUSE filesystem. Even + * though FreeBSD doesn't use block devices, this is useful when copying media + * from or preparing media for other operating systems. + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236236 */ +TEST_F(Mknod, DISABLED_blk) +{ + test_ok(S_IFBLK | 0755, 0xfe00); /* /dev/vda's device number on Linux */ +} + +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236236 */ +TEST_F(Mknod, DISABLED_chr) +{ + test_ok(S_IFCHR | 0755, 0x64); /* /dev/fuse's device number */ +} + +/* + * The daemon is responsible for checking file permissions (unless the + * default_permissions mount option was used) + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236236 */ +TEST_F(Mknod, DISABLED_eperm) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = S_IFIFO | 0755; + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_LOOKUP && + strcmp(in->body.lookup, RELPATH) == 0); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -ENOENT; + out->header.len = sizeof(out->header); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_mknod_in); + return (in->header.opcode == FUSE_MKNOD && + in->body.mknod.mode == mode && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -EPERM; + out->header.len = sizeof(out->header); + })); + EXPECT_NE(0, mknod(FULLPATH, mode, 0)); + EXPECT_EQ(EPERM, errno); +} + + +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236236 */ +TEST_F(Mknod, DISABLED_fifo) +{ + test_ok(S_IFIFO | 0755, 0); +} + +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236236 */ +TEST_F(Mknod, DISABLED_whiteout) +{ + test_ok(S_IFWHT | 0755, 0); +} Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Mon Mar 4 22:07:33 2019 (r344785) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Tue Mar 5 00:27:54 2019 (r344786) @@ -56,6 +56,7 @@ union fuse_payloads_in { fuse_forget_in forget; fuse_init_in init; char lookup[0]; + fuse_mknod_in mknod; fuse_open_in open; fuse_setattr_in setattr; }; Modified: projects/fuse2/tests/sys/fs/fuse/utils.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/utils.hh Mon Mar 4 22:07:33 2019 (r344785) +++ projects/fuse2/tests/sys/fs/fuse/utils.hh Tue Mar 5 00:27:54 2019 (r344786) @@ -32,7 +32,7 @@ class FuseTest : public ::testing::Test { MockFS *m_mock = NULL; public: - void SetUp() { + virtual void SetUp() { try { m_mock = new MockFS{}; } catch (std::system_error err) { From owner-svn-src-projects@freebsd.org Tue Mar 5 01:00:48 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A47951528A36 for ; Tue, 5 Mar 2019 01:00:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 50CCB6A0AE; Tue, 5 Mar 2019 01:00:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 3FE92C258; Tue, 5 Mar 2019 01:00:46 +0000 (UTC) (envelope-from ngie@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x2510kgO090137; Tue, 5 Mar 2019 01:00:46 GMT (envelope-from ngie@FreeBSD.org) Received: (from ngie@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x2510i5v089759; Tue, 5 Mar 2019 01:00:44 GMT (envelope-from ngie@FreeBSD.org) Message-Id: <201903050100.x2510i5v089759@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ngie set sender to ngie@FreeBSD.org using -f From: Enji Cooper Date: Tue, 5 Mar 2019 01:00:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344787 - in projects/import-googletest-1.8.1: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common cddl/contrib/opensolaris/tools/ctf/cvt contrib/bearssl contr... X-SVN-Group: projects X-SVN-Commit-Author: ngie X-SVN-Commit-Paths: in projects/import-googletest-1.8.1: . cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/lib/libzfs/common cddl/contrib/opensolaris/tools/ctf/cvt contrib/bearssl contrib/compiler-rt contrib/co... X-SVN-Commit-Revision: 344787 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 50CCB6A0AE X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.970,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2019 01:00:48 -0000 Author: ngie Date: Tue Mar 5 01:00:38 2019 New Revision: 344787 URL: https://svnweb.freebsd.org/changeset/base/344787 Log: MFhead@r344786 Added: projects/import-googletest-1.8.1/contrib/bearssl/ - copied from r344786, head/contrib/bearssl/ projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/ppc/fixunstfti.c - copied unchanged from r344786, head/contrib/compiler-rt/lib/builtins/ppc/fixunstfti.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/ppc/floattitf.c - copied unchanged from r344786, head/contrib/compiler-rt/lib/builtins/ppc/floattitf.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/esan/esan_sideline_bsd.cpp - copied unchanged from r344786, head/contrib/compiler-rt/lib/esan/esan_sideline_bsd.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerBuiltins.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/fuzzer/FuzzerBuiltins.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerBuiltinsMsvc.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/fuzzer/FuzzerBuiltinsMsvc.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWindows.cpp - copied unchanged from r344786, head/contrib/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWindows.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_checks.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/hwasan/hwasan_checks.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_memintrinsics.cc - copied unchanged from r344786, head/contrib/compiler-rt/lib/hwasan/hwasan_memintrinsics.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_thread_list.cc - copied unchanged from r344786, head/contrib/compiler-rt/lib/hwasan/hwasan_thread_list.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_thread_list.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/hwasan/hwasan_thread_list.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_local_address_space_view.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_local_address_space_view.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cc - copied unchanged from r344786, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_netbsd.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc - copied unchanged from r344786, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_ring_buffer.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_ring_buffer.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cc - copied unchanged from r344786, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/sanitizer_common/sanitizer_type_traits.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_fdr_controller.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/xray/xray_fdr_controller.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_fdr_log_writer.h - copied unchanged from r344786, head/contrib/compiler-rt/lib/xray/xray_fdr_log_writer.h projects/import-googletest-1.8.1/contrib/libc++/include/bit - copied unchanged from r344786, head/contrib/libc++/include/bit projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/Error.h - copied unchanged from r344786, head/contrib/llvm/include/llvm-c/Error.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/OptRemarks.h - copied unchanged from r344786, head/contrib/llvm/include/llvm-c/OptRemarks.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h - copied unchanged from r344786, head/contrib/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/Transforms/Coroutines.h - copied unchanged from r344786, head/contrib/llvm/include/llvm-c/Transforms/Coroutines.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/bit.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/ADT/bit.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/GuardUtils.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/GuardUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/IVDescriptors.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/IVDescriptors.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/IndirectCallVisitor.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/IndirectCallVisitor.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/InstructionPrecedenceTracking.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/LegacyDivergenceAnalysis.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/LegacyDivergenceAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/OrderedInstructions.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/OrderedInstructions.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/StackSafetyAnalysis.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/StackSafetyAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/SyncDependenceAnalysis.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Analysis/SyncDependenceAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/BinaryFormat/AMDGPUMetadataVerifier.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/ELFRelocs/MSP430.def - copied unchanged from r344786, head/contrib/llvm/include/llvm/BinaryFormat/ELFRelocs/MSP430.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/MsgPack.def - copied unchanged from r344786, head/contrib/llvm/include/llvm/BinaryFormat/MsgPack.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/MsgPack.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/BinaryFormat/MsgPack.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/MsgPackReader.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/BinaryFormat/MsgPackReader.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/MsgPackTypes.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/BinaryFormat/MsgPackTypes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/MsgPackWriter.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/BinaryFormat/MsgPackWriter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/AsmPrinterHandler.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/AsmPrinterHandler.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/BuiltinGCs.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/BuiltinGCs.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/DbgEntityHistoryCalculator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/DebugHandlerBase.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/DebugHandlerBase.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/CSEInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/CSEMIRBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/GlobalISel/GISelChangeObserver.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachinePipeliner.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/CodeGen/MachinePipeliner.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecordHelpers.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecordHelpers.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumFrameData.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAFrameData.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAFrameData.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBFrameData.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBFrameData.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumGlobals.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumGlobals.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeSymbolEnumerator.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeSymbolEnumerator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeArray.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeArray.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeBuiltin.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeBuiltin.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeEnum.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeFunctionSig.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeFunctionSig.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypePointer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypePointer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeTypedef.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeUDT.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeUDT.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeTypeVTShape.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/DebugInfo/PDB/Native/SymbolCache.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Demangle/Compiler.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Demangle/Compiler.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Demangle/ItaniumDemangle.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Demangle/ItaniumDemangle.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Demangle/MicrosoftDemangle.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Demangle/MicrosoftDemangle.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Demangle/MicrosoftDemangleNodes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Demangle/StringView.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Demangle/StringView.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Demangle/Utility.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Demangle/Utility.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/ExecutionEngine/Orc/JITTargetMachineBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/ExecutionEngine/Orc/LazyReexports.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/ExecutionEngine/Orc/ThreadSafeModule.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/CFGDiff.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/IR/CFGDiff.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicsRISCV.td - copied unchanged from r344786, head/contrib/llvm/include/llvm/IR/IntrinsicsRISCV.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/PassInstrumentation.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/IR/PassInstrumentation.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/PassTimingInfo.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/IR/PassTimingInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/LTO/SummaryBasedOptimizations.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/LTO/SummaryBasedOptimizations.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MCA/ - copied from r344786, head/contrib/llvm/include/llvm/MCA/ projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Passes/StandardInstrumentations.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Passes/StandardInstrumentations.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/AArch64TargetParser.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/AArch64TargetParser.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/ARMTargetParser.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/ARMTargetParser.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/BuryPointer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/BuryPointer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/CFGUpdate.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/CFGUpdate.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/FileCheck.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/FileCheck.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/ItaniumManglingCanonicalizer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/ItaniumManglingCanonicalizer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/MSVCErrorWorkarounds.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/MSVCErrorWorkarounds.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/SymbolRemappingReader.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/SymbolRemappingReader.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/VirtualFileSystem.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Support/VirtualFileSystem.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/TargetPfmCounters.td - copied unchanged from r344786, head/contrib/llvm/include/llvm/Target/TargetPfmCounters.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/TextAPI/ - copied from r344786, head/contrib/llvm/include/llvm/TextAPI/ projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/IPO/HotColdSplitting.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/IPO/HotColdSplitting.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Instrumentation/ControlHeightReduction.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Instrumentation/ControlHeightReduction.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/MakeGuardsExplicit.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Scalar/MakeGuardsExplicit.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/Scalarizer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Scalar/Scalarizer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/WarnMissedTransforms.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Scalar/WarnMissedTransforms.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/CanonicalizeAliases.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Utils/CanonicalizeAliases.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/GuardUtils.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Utils/GuardUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Vectorize/LoadStoreVectorizer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/Transforms/Vectorize/LoadStoreVectorizer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/BlockIndexer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/BlockIndexer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/BlockPrinter.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/BlockPrinter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/BlockVerifier.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/BlockVerifier.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/FDRLogBuilder.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/FDRLogBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/FDRRecordConsumer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/FDRRecordConsumer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/FDRRecordProducer.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/FDRRecordProducer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/FDRRecords.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/FDRRecords.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/FDRTraceExpander.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/FDRTraceExpander.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/FDRTraceWriter.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/FDRTraceWriter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/FileHeaderReader.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/FileHeaderReader.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/Profile.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/Profile.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/RecordPrinter.h - copied unchanged from r344786, head/contrib/llvm/include/llvm/XRay/RecordPrinter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/module.extern.modulemap - copied unchanged from r344786, head/contrib/llvm/include/llvm/module.extern.modulemap projects/import-googletest-1.8.1/contrib/llvm/include/llvm/module.install.modulemap - copied unchanged from r344786, head/contrib/llvm/include/llvm/module.install.modulemap projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/GuardUtils.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Analysis/GuardUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/IVDescriptors.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Analysis/IVDescriptors.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Analysis/LegacyDivergenceAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/OrderedInstructions.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Analysis/OrderedInstructions.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/StackSafetyAnalysis.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Analysis/StackSafetyAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/SyncDependenceAnalysis.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Analysis/SyncDependenceAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp - copied unchanged from r344786, head/contrib/llvm/lib/BinaryFormat/AMDGPUMetadataVerifier.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/BinaryFormat/MsgPackReader.cpp - copied unchanged from r344786, head/contrib/llvm/lib/BinaryFormat/MsgPackReader.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/BinaryFormat/MsgPackTypes.cpp - copied unchanged from r344786, head/contrib/llvm/lib/BinaryFormat/MsgPackTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/BinaryFormat/MsgPackWriter.cpp - copied unchanged from r344786, head/contrib/llvm/lib/BinaryFormat/MsgPackWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp - copied unchanged from r344786, head/contrib/llvm/lib/CodeGen/AsmPrinter/DbgEntityHistoryCalculator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/WasmException.cpp - copied unchanged from r344786, head/contrib/llvm/lib/CodeGen/AsmPrinter/WasmException.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/WasmException.h - copied unchanged from r344786, head/contrib/llvm/lib/CodeGen/AsmPrinter/WasmException.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp - copied unchanged from r344786, head/contrib/llvm/lib/CodeGen/GlobalISel/CSEInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp - copied unchanged from r344786, head/contrib/llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/GISelChangeObserver.cpp - copied unchanged from r344786, head/contrib/llvm/lib/CodeGen/GlobalISel/GISelChangeObserver.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp - copied unchanged from r344786, head/contrib/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/SymbolRecordHelpers.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/CodeView/SymbolRecordHelpers.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/TypeRecordHelpers.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/CodeView/TypeRecordHelpers.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumFrameData.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumFrameData.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAFrameData.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAFrameData.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeEnumGlobals.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeEnumGlobals.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeSymbolEnumerator.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeSymbolEnumerator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeArray.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeArray.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeBuiltin.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeBuiltin.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeEnum.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeFunctionSig.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeFunctionSig.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypePointer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypePointer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeTypedef.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeTypedef.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeUDT.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeUDT.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeVTShape.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/NativeTypeVTShape.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp - copied unchanged from r344786, head/contrib/llvm/lib/DebugInfo/PDB/Native/SymbolCache.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Demangle/MicrosoftDemangleNodes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp - copied unchanged from r344786, head/contrib/llvm/lib/ExecutionEngine/Orc/JITTargetMachineBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp - copied unchanged from r344786, head/contrib/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/ThreadSafeModule.cpp - copied unchanged from r344786, head/contrib/llvm/lib/ExecutionEngine/Orc/ThreadSafeModule.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/PassInstrumentation.cpp - copied unchanged from r344786, head/contrib/llvm/lib/IR/PassInstrumentation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/PassTimingInfo.cpp - copied unchanged from r344786, head/contrib/llvm/lib/IR/PassTimingInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/LTO/SummaryBasedOptimizations.cpp - copied unchanged from r344786, head/contrib/llvm/lib/LTO/SummaryBasedOptimizations.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCParser/WasmAsmParser.cpp - copied unchanged from r344786, head/contrib/llvm/lib/MC/MCParser/WasmAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MCA/ - copied from r344786, head/contrib/llvm/lib/MCA/ projects/import-googletest-1.8.1/contrib/llvm/lib/OptRemarks/ - copied from r344786, head/contrib/llvm/lib/OptRemarks/ projects/import-googletest-1.8.1/contrib/llvm/lib/Passes/StandardInstrumentations.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Passes/StandardInstrumentations.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/AArch64TargetParser.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Support/AArch64TargetParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/ARMTargetParser.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Support/ARMTargetParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/BuryPointer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Support/BuryPointer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/FileCheck.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Support/FileCheck.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/ItaniumManglingCanonicalizer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Support/ItaniumManglingCanonicalizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/SymbolRemappingReader.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Support/SymbolRemappingReader.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/VirtualFileSystem.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Support/VirtualFileSystem.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64BranchTargets.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64BranchTargets.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64CompressJumpTables.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64PfmCounters.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64PfmCounters.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64PreLegalizerCombiner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64SchedExynosM4.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64SchedPredExynos.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64SchedPredicates.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64SchedPredicates.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIAddIMGInit.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AMDGPU/SIAddIMGInit.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AMDGPU/SIFixupVectorISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIModeRegister.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/AMDGPU/SIModeRegister.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BPFMIChecking.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/BPF/BPFMIChecking.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BTF.def - copied unchanged from r344786, head/contrib/llvm/lib/Target/BPF/BTF.def projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BTF.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/BPF/BTF.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BTFDebug.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/BPF/BTFDebug.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BTFDebug.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/BPF/BTFDebug.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepDecoders.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/Hexagon/HexagonDepDecoders.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/Hexagon/HexagonDepMapAsm2Intrin.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV5.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV5.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV5.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV5.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV66.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV66.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/AsmParser/ - copied from r344786, head/contrib/llvm/lib/Target/MSP430/AsmParser/ projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/Disassembler/ - copied from r344786, head/contrib/llvm/lib/Target/MSP430/Disassembler/ projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430AsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430ELFStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430FixupKinds.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430FixupKinds.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCCodeEmitter.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCCodeEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/Mips/MipsPreLegalizerCombiner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/NVPTX/NVPTXProxyRegErasure.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCPfmCounters.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/PowerPC/PPCPfmCounters.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/RISCV/RISCVExpandPseudoInsts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVSystemOperands.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/RISCV/RISCVSystemOperands.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/Utils/ - copied from r344786, head/contrib/llvm/lib/Target/RISCV/Utils/ projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcTargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.h - copied unchanged from r344786, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyEHRestoreStackPointer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyEHRestoreStackPointer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMemIntrinsicResults.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86CondBrFolding.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/X86/X86CondBrFolding.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/X86/X86DiscriminateMemOps.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InsertPrefetch.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Target/X86/X86InsertPrefetch.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ScheduleBdVer2.td - copied unchanged from r344786, head/contrib/llvm/lib/Target/X86/X86ScheduleBdVer2.td projects/import-googletest-1.8.1/contrib/llvm/lib/Testing/Support/SupportHelpers.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Testing/Support/SupportHelpers.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/TextAPI/ - copied from r344786, head/contrib/llvm/lib/TextAPI/ projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/HotColdSplitting.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Transforms/IPO/HotColdSplitting.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Transforms/Scalar/MakeGuardsExplicit.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Transforms/Scalar/WarnMissedTransforms.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/CanonicalizeAliases.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Transforms/Utils/CanonicalizeAliases.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/GuardUtils.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Transforms/Utils/GuardUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/VPlanSLP.cpp - copied unchanged from r344786, head/contrib/llvm/lib/Transforms/Vectorize/VPlanSLP.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/BlockIndexer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/BlockIndexer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/BlockPrinter.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/BlockPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/BlockVerifier.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/BlockVerifier.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/FDRRecordProducer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/FDRRecordProducer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/FDRRecords.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/FDRRecords.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/FDRTraceExpander.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/FDRTraceExpander.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/FDRTraceWriter.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/FDRTraceWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/FileHeaderReader.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/FileHeaderReader.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/LogBuilderConsumer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/LogBuilderConsumer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/Profile.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/Profile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/RecordInitializer.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/RecordInitializer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/RecordPrinter.cpp - copied unchanged from r344786, head/contrib/llvm/lib/XRay/RecordPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTContextAllocate.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/ASTContextAllocate.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTDumperUtils.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/ASTDumperUtils.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTImporterLookupTable.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/ASTImporterLookupTable.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/AttrVisitor.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/AttrVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/FormatString.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/FormatString.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/OSLog.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/OSLog.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/TemplateArgumentVisitor.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/TemplateArgumentVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/TextNodeDumper.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/AST/TextNodeDumper.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ExprMutationAnalyzer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/SelectorExtras.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Analysis/SelectorExtras.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/CodeGenOptions.def - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/CodeGenOptions.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/CodeGenOptions.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/CodeGenOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticAST.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticAST.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticAnalysis.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticComment.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticComment.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCrossTU.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCrossTU.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriver.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriver.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontend.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontend.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLex.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLex.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParse.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParse.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticRefactoring.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticRefactoring.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSema.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSema.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerialization.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerialization.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/FixedPoint.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/FixedPoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/MSP430Target.def - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/MSP430Target.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensionTypes.def - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensionTypes.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/DarwinSDKInfo.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Driver/DarwinSDKInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Parse/LoopHint.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Parse/LoopHint.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Serialization/PCHContainerOperations.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/Serialization/PCHContainerOperations.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/RetainSummaryManager.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/RetainSummaryManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ASTImporterLookupTable.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/AST/ASTImporterLookupTable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/FormatString.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/AST/FormatString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/FormatStringParsing.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/AST/FormatStringParsing.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/OSLog.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/AST/OSLog.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/PrintfFormatString.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/AST/PrintfFormatString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ScanfFormatString.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/AST/ScanfFormatString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/TextNodeDumper.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/AST/TextNodeDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Analysis/ExprMutationAnalyzer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/CodeGenOptions.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Basic/CodeGenOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/FixedPoint.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Basic/FixedPoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/ARC.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Basic/Targets/ARC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/ARC.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Basic/Targets/ARC.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/DarwinSDKInfo.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Driver/DarwinSDKInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hurd.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hurd.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hurd.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hurd.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSP430.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSP430.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSP430.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSP430.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/RISCVToolchain.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Driver/ToolChains/RISCVToolchain.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/RISCVToolchain.h - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Driver/ToolChains/RISCVToolchain.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/Serialization/PCHContainerOperations.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/ - copied from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/ projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/ - copied from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/ projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RetainSummaryManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/TaintManager.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/TaintManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp - copied unchanged from r344786, head/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/MSP430.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lld/ELF/Arch/MSP430.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/RISCV.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lld/ELF/Arch/RISCV.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/DWARF.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lld/ELF/DWARF.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/DWARF.h - copied unchanged from r344786, head/contrib/llvm/tools/lld/ELF/DWARF.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/missingkeyfunction.rst - copied unchanged from r344786, head/contrib/llvm/tools/lld/docs/missingkeyfunction.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBInitializerOptions.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/API/SBInitializerOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverScripted.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Highlighter.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Core/Highlighter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/RichManglingContext.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Core/RichManglingContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/SafeMachO.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Host/SafeMachO.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameRecognizer.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameRecognizer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Broadcaster.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/Broadcaster.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Event.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/Event.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Listener.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/Listener.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Predicate.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/Predicate.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/RegisterValue.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/RegisterValue.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Reproducer.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/Reproducer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Scalar.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/Scalar.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/State.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/include/lldb/Utility/State.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBInitializerOptions.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/API/SBInitializerOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverScripted.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverScripted.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectReproducer.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Commands/CommandObjectReproducer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectReproducer.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Commands/CommandObjectReproducer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Highlighter.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Core/Highlighter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/RichManglingContext.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Core/RichManglingContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Architecture/Mips/ - copied from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Architecture/Mips/ projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxOptional.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxOptional.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxVariant.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/MSVCUndecoratedNameParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ClangCommon/ - copied from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Language/ClangCommon/ projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/Breakpad/ - copied from r344786, head/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/Breakpad/ projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxProcMaps.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxProcMaps.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxProcMaps.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationHistory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationReplayServer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.h - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_ARM64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Breakpad/ - copied from r344786, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Breakpad/ projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/NativePDB/ - copied from r344786, head/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/NativePDB/ projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/StackFrameRecognizer.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Target/StackFrameRecognizer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Broadcaster.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Utility/Broadcaster.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Event.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Utility/Event.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Listener.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Utility/Listener.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/RegisterValue.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Utility/RegisterValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Reproducer.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Utility/Reproducer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Scalar.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Utility/Scalar.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/State.cpp - copied unchanged from r344786, head/contrib/llvm/tools/lldb/source/Utility/State.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/driver/Options.td - copied unchanged from r344786, head/contrib/llvm/tools/lldb/tools/driver/Options.td projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/CoverageExporterLcov.cpp - copied unchanged from r344786, head/contrib/llvm/tools/llvm-cov/CoverageExporterLcov.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/CoverageExporterLcov.h - copied unchanged from r344786, head/contrib/llvm/tools/llvm-cov/CoverageExporterLcov.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cxxmap/ - copied from r344786, head/contrib/llvm/tools/llvm-cxxmap/ projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/CodeRegionGenerator.cpp - copied unchanged from r344786, head/contrib/llvm/tools/llvm-mca/CodeRegionGenerator.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/CodeRegionGenerator.h - copied unchanged from r344786, head/contrib/llvm/tools/llvm-mca/CodeRegionGenerator.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Views/ - copied from r344786, head/contrib/llvm/tools/llvm-mca/Views/ projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/include/ - copied from r344786, head/contrib/llvm/tools/llvm-mca/include/ projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/lib/ - copied from r344786, head/contrib/llvm/tools/llvm-mca/lib/ projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/Buffer.cpp - copied unchanged from r344786, head/contrib/llvm/tools/llvm-objcopy/Buffer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/Buffer.h - copied unchanged from r344786, head/contrib/llvm/tools/llvm-objcopy/Buffer.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/COFF/ - copied from r344786, head/contrib/llvm/tools/llvm-objcopy/COFF/ projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/CopyConfig.cpp - copied unchanged from r344786, head/contrib/llvm/tools/llvm-objcopy/CopyConfig.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/CopyConfig.h - copied unchanged from r344786, head/contrib/llvm/tools/llvm-objcopy/CopyConfig.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/ELF/ - copied from r344786, head/contrib/llvm/tools/llvm-objcopy/ELF/ projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-xray/xray-fdr-dump.cpp - copied unchanged from r344786, head/contrib/llvm/tools/llvm-xray/xray-fdr-dump.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/ExegesisEmitter.cpp - copied unchanged from r344786, head/contrib/llvm/utils/TableGen/ExegesisEmitter.cpp projects/import-googletest-1.8.1/contrib/openpam/m4/ax_pkg_config.m4 - copied unchanged from r344786, head/contrib/openpam/m4/ax_pkg_config.m4 projects/import-googletest-1.8.1/contrib/openpam/t/t_pam_env.c - copied unchanged from r344786, head/contrib/openpam/t/t_pam_env.c projects/import-googletest-1.8.1/contrib/openpam/t/t_pam_err.c - copied unchanged from r344786, head/contrib/openpam/t/t_pam_err.c projects/import-googletest-1.8.1/contrib/openpam/t/t_pam_err.h - copied unchanged from r344786, head/contrib/openpam/t/t_pam_err.h projects/import-googletest-1.8.1/lib/libbearssl/ - copied from r344786, head/lib/libbearssl/ projects/import-googletest-1.8.1/lib/libsecureboot/ - copied from r344786, head/lib/libsecureboot/ projects/import-googletest-1.8.1/sbin/veriexec/ - copied from r344786, head/sbin/veriexec/ projects/import-googletest-1.8.1/share/man/man4/at45d.4 - copied unchanged from r344786, head/share/man/man4/at45d.4 projects/import-googletest-1.8.1/share/man/man4/mx25l.4 - copied unchanged from r344786, head/share/man/man4/mx25l.4 projects/import-googletest-1.8.1/sys/dev/usb/controller/generic_xhci.c - copied unchanged from r344786, head/sys/dev/usb/controller/generic_xhci.c projects/import-googletest-1.8.1/sys/dev/usb/controller/usb_nop_xceiv.c - copied unchanged from r344786, head/sys/dev/usb/controller/usb_nop_xceiv.c projects/import-googletest-1.8.1/sys/dev/xz/ - copied from r344786, head/sys/dev/xz/ projects/import-googletest-1.8.1/sys/modules/fdt/ - copied from r344786, head/sys/modules/fdt/ projects/import-googletest-1.8.1/sys/modules/xz/ - copied from r344786, head/sys/modules/xz/ projects/import-googletest-1.8.1/sys/powerpc/powernv/opal_async.c - copied unchanged from r344786, head/sys/powerpc/powernv/opal_async.c projects/import-googletest-1.8.1/sys/powerpc/powernv/opal_flash.c - copied unchanged from r344786, head/sys/powerpc/powernv/opal_flash.c projects/import-googletest-1.8.1/sys/sys/seqc.h - copied unchanged from r344786, head/sys/sys/seqc.h projects/import-googletest-1.8.1/tests/sys/common/ - copied from r344786, head/tests/sys/common/ projects/import-googletest-1.8.1/tests/sys/netpfil/pf/CVE-2019-5597.py - copied unchanged from r344786, head/tests/sys/netpfil/pf/CVE-2019-5597.py projects/import-googletest-1.8.1/tools/build/options/WITH_BEARSSL - copied unchanged from r344786, head/tools/build/options/WITH_BEARSSL projects/import-googletest-1.8.1/tools/build/options/WITH_LOADER_VERIEXEC - copied unchanged from r344786, head/tools/build/options/WITH_LOADER_VERIEXEC projects/import-googletest-1.8.1/tools/build/options/WITH_VERIEXEC - copied unchanged from r344786, head/tools/build/options/WITH_VERIEXEC projects/import-googletest-1.8.1/usr.bin/proccontrol/proccontrol.1 - copied unchanged from r344786, head/usr.bin/proccontrol/proccontrol.1 Deleted: projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/arm64/ projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerExtFunctionsDlsymWin.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeakAlias.cpp projects/import-googletest-1.8.1/contrib/libc++/include/experimental/dynarray projects/import-googletest-1.8.1/contrib/libc++/src/experimental/filesystem/ projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/IndirectCallSiteVisitor.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GCs.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeBuiltinSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/TypeBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/OrderedInstructions.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterHandler.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DbgValueHistoryCalculator.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachinePassRegistry.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeBuiltinSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeEnumSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Demangle/Compiler.h projects/import-googletest-1.8.1/contrib/llvm/lib/Demangle/StringView.h projects/import-googletest-1.8.1/contrib/llvm/lib/Demangle/Utility.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUIntrinsics.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPULaneDominator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPULaneDominator.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonGatherPacketize.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormatsV4.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsicsV3.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsicsV4.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV4.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/InstPrinter/Nios2InstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/InstPrinter/Nios2InstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2AsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2AsmBackend.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2BaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2ELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2FixupKinds.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2MCAsmInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2MCAsmInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2MCExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2MCExpr.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2MCTargetDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2MCTargetDesc.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/MCTargetDesc/Nios2TargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2AsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2CallingConv.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2FrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2FrameLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2ISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2ISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2ISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2InstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2InstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2InstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2InstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2MCInstLower.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2MachineFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2MachineFunction.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2RegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2RegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2RegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2Schedule.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2Subtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2Subtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2TargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2TargetMachine.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2TargetObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2TargetObjectFile.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/Nios2TargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Nios2/TargetInfo/Nios2TargetInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcTargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyStoreResults.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/OrderedInstructions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/OSLog.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/PseudoConstantAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNios2.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/LoopHint.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/ClangCheckers.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerOptInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerRegistry.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/FormatStringParsing.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/OSLog.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/PseudoConstantAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/Nios2.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/Nios2.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/Arch/ projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/RISCV.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/RISCV.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/CodeGenOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/PCHContainerOperations.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/cuda/ projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ClangCheckers.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ClangSACheckers.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SelectorExtras.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UninitializedObjectChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerRegistry.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SMTConstraintManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Inclusions/CMakeLists.txt projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/GdbIndex.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/GdbIndex.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/include/lld/Core/TODO.txt projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Broadcaster.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Event.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Listener.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/RegisterValue.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Scalar.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/State.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/Predicate.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeBreakpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/common/SoftwareBreakpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/GoASTContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/JavaASTContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/OCamlASTContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Either.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/FastDemangle.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Range.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/SafeMachO.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Broadcaster.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Event.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Listener.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/RegisterValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Scalar.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/State.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/NativeBreakpointList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/SoftwareBreakpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Architecture/PPC64/CMakeLists.txt projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoAST.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoLexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Go/gen_go_ast.py projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/PPC64/CMakeLists.txt projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoFormatterFunctions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoFormatterFunctions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoLanguage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Go/GoLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaFormatterFunctions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaFormatterFunctions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaLanguage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/Java/JavaLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/OCaml/OCamlLanguage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/OCaml/OCamlLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Go/GoLanguageRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/Java/JavaLanguageRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Go/OperatingSystemGo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserGo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserGo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserJava.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserJava.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/GoASTContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/JavaASTContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/OCamlASTContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/FastDemangle.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Range.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Context.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Context.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/DispatchStage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/DispatchStage.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/DispatchStatistics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/DispatchStatistics.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/ExecuteStage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/ExecuteStage.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/FetchStage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/FetchStage.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/HWEventListener.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/HWEventListener.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/HardwareUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/HardwareUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/InstrBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/InstrBuilder.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Instruction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Instruction.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/InstructionInfoView.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/InstructionInfoView.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/InstructionTables.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/InstructionTables.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/LSUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/LSUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Pipeline.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Pipeline.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RegisterFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RegisterFile.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RegisterFileStatistics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RegisterFileStatistics.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/ResourcePressureView.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/ResourcePressureView.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RetireControlUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RetireControlUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RetireControlUnitStatistics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RetireControlUnitStatistics.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RetireStage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/RetireStage.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Scheduler.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Scheduler.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/SchedulerStatistics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/SchedulerStatistics.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/SourceMgr.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Stage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Stage.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/SummaryView.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/SummaryView.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Support.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/Support.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/TimelineView.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/TimelineView.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/View.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/View.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/Object.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/Object.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/Analyze.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/Analyze.h projects/import-googletest-1.8.1/stand/efi/loader/arch/i386/efimd.c projects/import-googletest-1.8.1/sys/contrib/xz-embedded/freebsd/xz_malloc.c projects/import-googletest-1.8.1/sys/dev/drm/ projects/import-googletest-1.8.1/sys/dev/drm2/i915/ projects/import-googletest-1.8.1/sys/dev/drm2/radeon/ projects/import-googletest-1.8.1/sys/dev/usb/controller/xhci_mv.c projects/import-googletest-1.8.1/sys/sys/seq.h Modified: projects/import-googletest-1.8.1/MAINTAINERS (contents, props changed) projects/import-googletest-1.8.1/ObsoleteFiles.inc projects/import-googletest-1.8.1/UPDATING projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c projects/import-googletest-1.8.1/cddl/contrib/opensolaris/tools/ctf/cvt/dwarf.c projects/import-googletest-1.8.1/contrib/compiler-rt/LICENSE.TXT projects/import-googletest-1.8.1/contrib/compiler-rt/include/sanitizer/allocator_interface.h projects/import-googletest-1.8.1/contrib/compiler-rt/include/sanitizer/common_interface_defs.h projects/import-googletest-1.8.1/contrib/compiler-rt/include/sanitizer/hwasan_interface.h projects/import-googletest-1.8.1/contrib/compiler-rt/include/sanitizer/netbsd_syscall_hooks.h projects/import-googletest-1.8.1/contrib/compiler-rt/include/xray/xray_log_interface.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_allocator.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_errors.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_errors.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_flags.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_fuchsia.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_globals.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_globals_win.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_internal.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_linux.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_malloc_linux.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_malloc_mac.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_malloc_win.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_new_delete.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_posix.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_report.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_rtems.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_rtl.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_thread.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_win.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/asan/asan_win_dll_thunk.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/arm/addsf3.S projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/arm/aeabi_cdcmp.S projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/arm/aeabi_cfcmp.S projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/clzdi2.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/cpu_model.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/ctzdi2.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/divdc3.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/divdf3.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/divsc3.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/divsf3.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/divtc3.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/emutls.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/fp_lib.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/gcc_personality_v0.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/int_lib.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/int_math.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/int_types.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/int_util.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/int_util.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/os_version_check.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/builtins/ppc/divtc3.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/cfi/cfi.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/cfi/cfi_blacklist.txt projects/import-googletest-1.8.1/contrib/compiler-rt/lib/dfsan/dfsan.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/esan/esan_interceptors.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/esan/esan_shadow.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/esan/esan_sideline.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerCommand.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerCorpus.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerDefs.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerDriver.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerExtFunctionsWeak.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerFlags.def projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerIO.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerIO.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerIOPosix.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerIOWindows.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerInternal.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerLoop.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerMutate.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerMutate.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerOptions.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerTracePC.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerTracePC.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerUtil.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerUtilFuchsia.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_allocator.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_allocator.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_dynamic_shadow.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_flags.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_flags.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_interceptors.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_interface_internal.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_linux.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_mapping.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_new_delete.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_poisoning.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_poisoning.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_report.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_report.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_thread.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/hwasan/hwasan_thread.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/interception/interception.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/interception/interception_linux.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/interception/interception_win.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/lsan/lsan_allocator.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/lsan/lsan_allocator.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/lsan/lsan_common_mac.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/msan/msan.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/msan/msan_allocator.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/msan/msan_interceptors.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/msan/msan_linux.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/profile/GCDAProfiling.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/profile/InstrProfData.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/profile/InstrProfilingPlatformLinux.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/profile/InstrProfilingPlatformOther.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/profile/InstrProfilingValue.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/profile/WindowsMMap.c projects/import-googletest-1.8.1/contrib/compiler-rt/lib/profile/WindowsMMap.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/safestack/safestack.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_bytemap.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_combined.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_internal.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_secondary.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_size_class_map.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_atomic_clang_x86.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_libcdep.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_coverage_win_sections.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_file.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_flags.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_fuchsia.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_libc.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_mac.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_openbsd.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_solaris.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix_libcdep.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_bsd.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_common.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_mac.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_rtems.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_solaris.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stackdepot.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_sparc.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_fuchsia.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_syscall_generic.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_aarch64.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_arm.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_syscall_linux_x86_64.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_syscalls_netbsd.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_termination.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_thread_registry.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win_defs.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt projects/import-googletest-1.8.1/contrib/compiler-rt/lib/scudo/scudo_allocator.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/scudo/scudo_allocator.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/scudo/scudo_malloc.cpp projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_debugging.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_flags.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_flags.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_libdispatch_mac.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_platform.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_platform_mac.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_report.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_aarch64.S projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_amd64.S projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_rtl_thread.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/tsan/rtl/tsan_suppressions.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/ubsan/ubsan_checks.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/ubsan/ubsan_flags.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/ubsan/ubsan_handlers.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/ubsan/ubsan_handlers.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/ubsan/ubsan_interface.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/ubsan_minimal/ubsan_minimal_handlers.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_allocator.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_basic_logging.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_buffer_queue.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_buffer_queue.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_defs.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_fdr_log_records.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_fdr_logging.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_function_call_trie.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_init.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_interface.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_profile_collector.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_profile_collector.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_profiling.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_profiling_flags.inc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_segmented_array.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_trampoline_x86_64.S projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_tsc.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_utils.cc projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_utils.h projects/import-googletest-1.8.1/contrib/compiler-rt/lib/xray/xray_x86_64.cc projects/import-googletest-1.8.1/contrib/libc++/LICENSE.TXT projects/import-googletest-1.8.1/contrib/libc++/include/__bit_reference projects/import-googletest-1.8.1/contrib/libc++/include/__config projects/import-googletest-1.8.1/contrib/libc++/include/__debug projects/import-googletest-1.8.1/contrib/libc++/include/__functional_base projects/import-googletest-1.8.1/contrib/libc++/include/__hash_table projects/import-googletest-1.8.1/contrib/libc++/include/__libcpp_version projects/import-googletest-1.8.1/contrib/libc++/include/__locale projects/import-googletest-1.8.1/contrib/libc++/include/__mutex_base projects/import-googletest-1.8.1/contrib/libc++/include/__node_handle projects/import-googletest-1.8.1/contrib/libc++/include/__sso_allocator projects/import-googletest-1.8.1/contrib/libc++/include/__string projects/import-googletest-1.8.1/contrib/libc++/include/__threading_support projects/import-googletest-1.8.1/contrib/libc++/include/__tree projects/import-googletest-1.8.1/contrib/libc++/include/__tuple projects/import-googletest-1.8.1/contrib/libc++/include/algorithm projects/import-googletest-1.8.1/contrib/libc++/include/any projects/import-googletest-1.8.1/contrib/libc++/include/array projects/import-googletest-1.8.1/contrib/libc++/include/atomic projects/import-googletest-1.8.1/contrib/libc++/include/bitset projects/import-googletest-1.8.1/contrib/libc++/include/charconv projects/import-googletest-1.8.1/contrib/libc++/include/chrono projects/import-googletest-1.8.1/contrib/libc++/include/cmath projects/import-googletest-1.8.1/contrib/libc++/include/complex projects/import-googletest-1.8.1/contrib/libc++/include/cstddef projects/import-googletest-1.8.1/contrib/libc++/include/deque projects/import-googletest-1.8.1/contrib/libc++/include/exception projects/import-googletest-1.8.1/contrib/libc++/include/experimental/any projects/import-googletest-1.8.1/contrib/libc++/include/experimental/chrono projects/import-googletest-1.8.1/contrib/libc++/include/experimental/coroutine projects/import-googletest-1.8.1/contrib/libc++/include/experimental/memory_resource projects/import-googletest-1.8.1/contrib/libc++/include/experimental/numeric projects/import-googletest-1.8.1/contrib/libc++/include/experimental/optional projects/import-googletest-1.8.1/contrib/libc++/include/experimental/ratio projects/import-googletest-1.8.1/contrib/libc++/include/experimental/string_view projects/import-googletest-1.8.1/contrib/libc++/include/experimental/system_error projects/import-googletest-1.8.1/contrib/libc++/include/experimental/tuple projects/import-googletest-1.8.1/contrib/libc++/include/filesystem projects/import-googletest-1.8.1/contrib/libc++/include/forward_list projects/import-googletest-1.8.1/contrib/libc++/include/fstream projects/import-googletest-1.8.1/contrib/libc++/include/functional projects/import-googletest-1.8.1/contrib/libc++/include/future projects/import-googletest-1.8.1/contrib/libc++/include/iomanip projects/import-googletest-1.8.1/contrib/libc++/include/iosfwd projects/import-googletest-1.8.1/contrib/libc++/include/istream projects/import-googletest-1.8.1/contrib/libc++/include/iterator projects/import-googletest-1.8.1/contrib/libc++/include/limits projects/import-googletest-1.8.1/contrib/libc++/include/list projects/import-googletest-1.8.1/contrib/libc++/include/locale projects/import-googletest-1.8.1/contrib/libc++/include/map projects/import-googletest-1.8.1/contrib/libc++/include/memory projects/import-googletest-1.8.1/contrib/libc++/include/module.modulemap projects/import-googletest-1.8.1/contrib/libc++/include/mutex projects/import-googletest-1.8.1/contrib/libc++/include/new projects/import-googletest-1.8.1/contrib/libc++/include/numeric projects/import-googletest-1.8.1/contrib/libc++/include/optional projects/import-googletest-1.8.1/contrib/libc++/include/ostream projects/import-googletest-1.8.1/contrib/libc++/include/random projects/import-googletest-1.8.1/contrib/libc++/include/regex projects/import-googletest-1.8.1/contrib/libc++/include/scoped_allocator projects/import-googletest-1.8.1/contrib/libc++/include/set projects/import-googletest-1.8.1/contrib/libc++/include/shared_mutex projects/import-googletest-1.8.1/contrib/libc++/include/span projects/import-googletest-1.8.1/contrib/libc++/include/sstream projects/import-googletest-1.8.1/contrib/libc++/include/stddef.h projects/import-googletest-1.8.1/contrib/libc++/include/stdexcept projects/import-googletest-1.8.1/contrib/libc++/include/streambuf projects/import-googletest-1.8.1/contrib/libc++/include/string projects/import-googletest-1.8.1/contrib/libc++/include/string_view projects/import-googletest-1.8.1/contrib/libc++/include/thread projects/import-googletest-1.8.1/contrib/libc++/include/tuple projects/import-googletest-1.8.1/contrib/libc++/include/type_traits projects/import-googletest-1.8.1/contrib/libc++/include/typeinfo projects/import-googletest-1.8.1/contrib/libc++/include/unordered_map projects/import-googletest-1.8.1/contrib/libc++/include/unordered_set projects/import-googletest-1.8.1/contrib/libc++/include/utility projects/import-googletest-1.8.1/contrib/libc++/include/valarray projects/import-googletest-1.8.1/contrib/libc++/include/variant projects/import-googletest-1.8.1/contrib/libc++/include/vector projects/import-googletest-1.8.1/contrib/libc++/include/version projects/import-googletest-1.8.1/contrib/libc++/src/experimental/memory_resource.cpp projects/import-googletest-1.8.1/contrib/libc++/src/filesystem/filesystem_common.h projects/import-googletest-1.8.1/contrib/libc++/src/filesystem/operations.cpp projects/import-googletest-1.8.1/contrib/libc++/src/future.cpp projects/import-googletest-1.8.1/contrib/libc++/src/iostream.cpp projects/import-googletest-1.8.1/contrib/libc++/src/new.cpp projects/import-googletest-1.8.1/contrib/libc++/src/support/runtime/exception_fallback.ipp projects/import-googletest-1.8.1/contrib/libc++/src/support/runtime/exception_glibcxx.ipp projects/import-googletest-1.8.1/contrib/libc++/src/support/runtime/exception_libcxxrt.ipp projects/import-googletest-1.8.1/contrib/libc++/src/support/runtime/exception_msvc.ipp projects/import-googletest-1.8.1/contrib/libc++/src/thread.cpp projects/import-googletest-1.8.1/contrib/llvm/FREEBSD-Xlist projects/import-googletest-1.8.1/contrib/llvm/LICENSE.TXT projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/Core.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/DebugInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/ExecutionEngine.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/OrcBindings.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/TargetMachine.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/Transforms/Scalar.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/Types.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm-c/lto.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/APFloat.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/APInt.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/Any.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/BitVector.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/DenseMap.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/DenseSet.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/GraphTraits.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/Hashing.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/ImmutableList.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/IntervalMap.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/Optional.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/PointerIntPair.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/PointerSumType.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/PostOrderIterator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/STLExtras.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/SmallBitVector.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/SmallVector.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/SparseBitVector.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/StringExtras.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/Triple.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ADT/iterator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/AliasAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/BasicAliasAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/BlockFrequencyInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/CFG.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/CFGPrinter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/CGSCCPassManager.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/CaptureTracking.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/CmpInstAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/DemandedBits.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/DependenceAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/DivergenceAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/GlobalsModRef.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/InlineCost.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/InstructionSimplify.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/IteratedDominanceFrontier.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/LoopAccessAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/LoopInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/LoopInfoImpl.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/MemoryDependenceAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/MemoryLocation.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/MemorySSA.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/MemorySSAUpdater.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/MustExecute.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/ObjCARCAliasAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/ObjCARCAnalysisUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/ObjCARCInstKind.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/Passes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/PhiValues.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/ProfileSummaryInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/ScopedNoAliasAA.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/SparsePropagation.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/SyntheticCountsUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/TargetLibraryInfo.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/TypeBasedAliasAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/TypeMetadataUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/ValueTracking.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Analysis/VectorUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/Dwarf.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/Dwarf.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/ELF.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/MachO.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/Wasm.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/BinaryFormat/WasmRelocs.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Bitcode/BitcodeReader.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/CommandFlags.inc projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/DwarfStringPoolEntry.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/FunctionLoweringInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GCMetadata.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GCMetadataPrinter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GCStrategy.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/Combiner.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/CombinerInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/ConstantFoldingMIRBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/GISelWorkList.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/GlobalISel/Utils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/ISDOpcodes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/LinkAllAsmWriterComponents.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/LinkAllCodegenComponents.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/LiveIntervals.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/LivePhysRegs.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/LiveRegUnits.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MIRYamlMapping.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineBasicBlock.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineFunction.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineInstr.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineInstrBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineModuleInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineModuleInfoImpls.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineOutliner.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachinePassRegistry.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/Passes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/PreISelIntrinsicLowering.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/RegAllocRegistry.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/RegisterUsageInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/ScheduleDAG.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/ScheduleDAGInstrs.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/SchedulerRegistry.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/SelectionDAG.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/SelectionDAGISel.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/SlotIndexes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/StackMaps.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/TargetFrameLowering.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/TargetInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/TargetLowering.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/TargetPassConfig.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/TargetRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/TargetSubtargetInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/CodeGen/WasmEHFuncInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/CVRecord.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeView.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewError.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/CodeViewRegisters.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugFrameDataSubsection.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/RecordSerialization.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDumper.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeStreamMerger.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DIContext.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugFrame.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugPubTable.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRnglists.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDie.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFGdbIndex.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFListTable.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFObject.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFSection.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFUnitIndex.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/MSF/MSFError.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/ConcreteSymbolEnumerator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIADataStream.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumDebugStreams.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumInjectedSources.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumLineNumbers.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumSectionContribs.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumSourceFiles.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAEnumTables.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIAError.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/DIA/DIASession.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/GenericError.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBDataStream.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBSession.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiStream.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiStreamBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/GlobalsStream.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/InfoStreamBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeCompilandSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumModules.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeEnumTypes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeExeSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/PDBFileBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/RawError.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/RawTypes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/TpiHashing.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBExtras.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolAnnotation.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolBlock.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompiland.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompilandDetails.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolCompilandEnv.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolCustom.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolData.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolExe.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolFunc.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugEnd.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolFuncDebugStart.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolLabel.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolPublicSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolThunk.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeArray.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeCustom.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeDimension.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFriend.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionArg.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeFunctionSig.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeManaged.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypePointer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolUnknown.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBSymbolUsingNamespace.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Demangle/Demangle.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/JITEventListener.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/JITSymbol.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/CompileUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/Core.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/ExecutionUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/IRCompileLayer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/Layer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/Legacy.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/NullResolver.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/ObjectTransformLayer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcABISupport.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Attributes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Attributes.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/BasicBlock.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/CFG.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/CallSite.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/CallingConv.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Constant.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Constants.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/DIBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/DataLayout.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/DebugInfoFlags.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/DebugInfoMetadata.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/DebugLoc.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/DiagnosticInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/DomTreeUpdater.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Dominators.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Function.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/GlobalValue.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IRBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IRPrintingPasses.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/InstVisitor.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/InstrTypes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Instruction.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Instruction.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Instructions.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicInst.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Intrinsics.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicsAArch64.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicsAMDGPU.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicsHexagon.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicsPowerPC.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicsWebAssembly.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/IntrinsicsX86.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/LLVMContext.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/LegacyPassManager.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/LegacyPassManagers.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Metadata.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Module.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/ModuleSummaryIndex.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Operator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/PassManager.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/PassManagerInternal.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/PatternMatch.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/RuntimeLibcalls.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/IR/Value.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/InitializePasses.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/LTO/Config.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/LTO/LTO.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/LTO/legacy/LTOCodeGenerator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/LTO/legacy/ThinLTOCodeGenerator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/LinkAllPasses.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCAsmInfoWasm.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCAsmMacro.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCAssembler.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCCodeView.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCContext.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCDwarf.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCELFObjectWriter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCExpr.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCInst.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCInstrAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCInstrDesc.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCObjectStreamer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCParser/AsmLexer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCParser/MCAsmLexer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCParser/MCAsmParser.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCParser/MCTargetAsmParser.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCSchedule.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCSection.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCStreamer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCSymbolWasm.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCWasmObjectWriter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCWin64EH.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/MC/MCWinEH.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/COFF.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/ELF.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/ELFObjectFile.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/ELFTypes.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/Error.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/MachO.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/ObjectFile.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/RelocVisitor.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/Wasm.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Object/WasmTraits.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ObjectYAML/COFFYAML.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ObjectYAML/ELFYAML.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ObjectYAML/WasmYAML.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Option/OptTable.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Pass.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Passes/PassBuilder.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ProfileData/GCOV.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ProfileData/InstrProf.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ProfileData/InstrProfReader.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ProfileData/SampleProf.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ProfileData/SampleProfReader.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/ProfileData/SampleProfWriter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/AArch64TargetParser.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/AMDGPUMetadata.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/ARMTargetParser.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/ARMWinEH.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Allocator.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/BinaryStreamArray.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/BinaryStreamReader.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Chrono.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/CodeGen.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/CommandLine.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Compiler.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Compression.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Debug.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/DebugCounter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Error.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/ErrorHandling.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/FileOutputBuffer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/FileSystem.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/FormatVariadicDetails.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/GenericDomTree.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/GenericDomTreeConstruction.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/GraphWriter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/JSON.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/LowLevelTypeImpl.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Path.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/ScopedPrinter.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/TargetOpcodes.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/TargetParser.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Threading.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Timer.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/Win64EH.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/WithColor.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/X86DisassemblerDecoderCommon.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/X86TargetParser.def projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/YAMLTraits.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/raw_ostream.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Support/type_traits.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/TableGen/StringMatcher.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/CodeGenCWrappers.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/GenericOpcodes.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/Target.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/TargetInstrPredicate.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/TargetLoweringObjectFile.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/TargetMachine.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/TargetOptions.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/TargetSchedule.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Target/TargetSelectionDAG.td projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Testing/Support/SupportHelpers.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/IPO.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/IPO/FunctionAttrs.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/IPO/FunctionImport.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/IPO/SampleProfile.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Instrumentation.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Instrumentation/PGOInstrumentation.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/GVN.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/JumpThreading.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/LoopPassManager.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Scalar/SCCP.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/BasicBlockUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/BuildLibCalls.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/CodeExtractor.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/FunctionImportUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/LoopRotationUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/ModuleUtils.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/PredicateInfo.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Utils/UnrollLoop.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Vectorize.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Vectorize/LoopVectorizationLegality.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/Trace.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/XRayRecord.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/XRay/YAMLXRayRecord.h projects/import-googletest-1.8.1/contrib/llvm/include/llvm/module.modulemap projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/AliasAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/AliasAnalysisEvaluator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/AliasSetTracker.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/Analysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/BlockFrequencyInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/BlockFrequencyInfoImpl.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/BranchProbabilityInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CFG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CFGPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CFLGraph.h projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CGSCCPassManager.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CallGraph.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CallGraphSCCPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CaptureTracking.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/CmpInstAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ConstantFolding.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/DemandedBits.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/DependenceAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/DivergenceAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/EHPersonalities.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/GlobalsModRef.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/IndirectCallPromotionAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/InlineCost.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/IteratedDominanceFrontier.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/LazyCallGraph.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/LazyValueInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/Lint.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/Loads.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/LoopAccessAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/LoopAnalysisManager.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/LoopInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/LoopPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/MemDepPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/MemoryDependenceAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/MemoryLocation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/MemorySSA.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/MemorySSAUpdater.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/MustExecute.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ObjCARCAliasAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ObjCARCInstKind.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/OrderedBasicBlock.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/PhiValues.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ProfileSummaryInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/RegionPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ScalarEvolutionAliasAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ScopedNoAliasAA.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/SyntheticCountsUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/TargetLibraryInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/TypeMetadataUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Analysis/VectorUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/AsmParser/LLLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/AsmParser/LLParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/AsmParser/LLParser.h projects/import-googletest-1.8.1/contrib/llvm/lib/AsmParser/LLToken.h projects/import-googletest-1.8.1/contrib/llvm/lib/BinaryFormat/Dwarf.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/BinaryFormat/Magic.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/BinaryFormat/Wasm.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h projects/import-googletest-1.8.1/contrib/llvm/lib/Bitcode/Reader/ValueList.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Bitcode/Writer/ValueEnumerator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/Analysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/AddressPool.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterDwarf.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfFile.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfStringPool.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/EHStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/ErlangGCPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/OcamlGCPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/WinCFGuard.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AsmPrinter/WinException.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/AtomicExpandPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/BreakFalseDeps.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/BuiltinGCs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/CFIInstrInserter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/CalcSpillWeights.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/CodeGen.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/DFAPacketizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/EarlyIfConversion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ExpandMemCmp.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ExpandPostRAPseudos.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GCMetadata.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GCRootLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/CallLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/Combiner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/LegalityPredicates.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalISel/Utils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/GlobalMerge.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/IfConversion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ImplicitNullChecks.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LLVMTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LatencyPriorityQueue.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LiveDebugValues.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LiveDebugVariables.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LiveDebugVariables.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LivePhysRegs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/LocalStackSlotAllocation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MIRCanonicalizerPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MIRParser/MILexer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MIRParser/MILexer.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MIRParser/MIParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MIRParser/MIRParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MIRPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineBlockPlacement.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineCSE.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineCombiner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineCopyPropagation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineFunctionPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineInstrBundle.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineModuleInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineModuleInfoImpls.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineOperand.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineOutliner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachinePipeliner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineScheduler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineSink.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineTraceMetrics.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/MacroFusion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/OptimizePHIs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/PHIElimination.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/PostRASchedulerList.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/PrologEpilogInserter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/PseudoSourceValue.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ReachingDefAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/RegAllocFast.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/RegUsageInfoCollector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/RegisterPressure.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/RegisterUsageInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SafeStack.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SafeStackColoring.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ScheduleDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/ScoreboardHazardRecognizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/SDNodeDbgValue.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGFast.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/ScheduleDAGVLIW.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SlotIndexes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/SplitKit.h projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/StackMaps.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/StackProtector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/StackSlotColoring.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/TargetFrameLoweringImpl.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/TargetInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/TargetLoweringBase.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/TargetOptionsImpl.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/TargetPassConfig.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/VirtRegMap.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/WasmEHPrepare.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/CodeGen/WinEHPrepare.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/CodeViewError.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/DebugFrameDataSubsection.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/EnumTables.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/SymbolDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/SymbolRecordMapping.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/TypeIndex.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugAddr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugAranges.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugPubTable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugRnglists.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFGdbIndex.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFListTable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFUnitIndex.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/MSF/MSFError.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIADataStream.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumDebugStreams.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumInjectedSources.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumLineNumbers.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumSectionContribs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumSourceFiles.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumSymbols.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAEnumTables.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIAError.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIASectionContrib.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIASourceFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/DIA/DIATable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/GenericError.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/DbiModuleDescriptorBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/DbiStream.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/DbiStreamBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/GSIStreamBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/GlobalsStream.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/InfoStreamBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeCompilandSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeEnumModules.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeEnumTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeExeSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/PDBFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/PDBFileBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/RawError.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/TpiHashing.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/Native/TpiStream.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDB.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBExtras.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBInterfaceAnchors.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolAnnotation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolBlock.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCompiland.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCompilandDetails.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCompilandEnv.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolCustom.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolData.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolExe.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolFunc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolFuncDebugEnd.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolFuncDebugStart.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolLabel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolPublicSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolThunk.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeArray.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeBaseClass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeBuiltin.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeCustom.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeDimension.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeEnum.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeFriend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeFunctionArg.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeFunctionSig.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeManaged.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypePointer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeTypedef.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeUDT.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeVTable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolTypeVTableShape.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolUnknown.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/PDB/PDBSymbolUsingNamespace.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/DebugInfo/Symbolize/Symbolize.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Demangle/ItaniumDemangle.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Demangle/MicrosoftDemangle.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/GDBRegistrationListener.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Interpreter/Execution.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/Core.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/IRCompileLayer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/IRTransformLayer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/IndirectionUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/Layer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/Legacy.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/NullResolver.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/ObjectTransformLayer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/OrcABISupport.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/OrcCBindings.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/PerfJITEvents/PerfJITEventListener.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/JITSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCOFF.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldCheckerImpl.h projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldMachO.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFThumb.h projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldCOFFX86_64.h projects/import-googletest-1.8.1/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/RuntimeDyldMachOARM.h projects/import-googletest-1.8.1/contrib/llvm/lib/FuzzMutate/IRMutator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/FuzzMutate/RandomIRBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/AsmWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Attributes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/AutoUpgrade.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/BasicBlock.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/ConstantFold.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Constants.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/ConstantsContext.h projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Core.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/DIBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/DataLayout.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/DebugInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/DebugInfoMetadata.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/DebugLoc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/DiagnosticInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/DomTreeUpdater.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Dominators.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Function.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Globals.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/IRBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/IRPrintingPasses.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Instruction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Instructions.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/IntrinsicInst.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/LLVMContext.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/LLVMContextImpl.h projects/import-googletest-1.8.1/contrib/llvm/lib/IR/LegacyPassManager.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/MDBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Metadata.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Module.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/ModuleSummaryIndex.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/SafepointIRVerifier.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Type.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Value.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/IR/Verifier.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/LTO/LTO.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/LTO/LTOBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/LTO/LTOCodeGenerator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/LTO/LTOModule.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/LTO/UpdateCompilerUsed.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Linker/IRMover.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/ConstantPools.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/ELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCAsmInfoCOFF.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCAsmInfoWasm.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCAsmStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCAssembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCCodeView.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCContext.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCDwarf.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCELFObjectTargetWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCFragment.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCInst.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCInstrAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCInstrDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCMachOStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCNullStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCObjectFileInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCParser/AsmLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCParser/AsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCParser/DarwinAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCParser/ELFAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCParser/MCAsmLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCParser/MCAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCSection.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCSectionELF.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCWasmStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MCWin64EH.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/MachObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/WasmObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/ArchiveWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/Binary.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/ELF.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/ELFObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/Error.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/MachOObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/ModuleSymbolTable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/Object.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/ObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/WasmObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Object/WindowsResource.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ObjectYAML/COFFYAML.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ObjectYAML/ELFYAML.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ObjectYAML/WasmYAML.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Option/OptTable.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Passes/PassBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Passes/PassRegistry.def projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/GCOV.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/InstrProf.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/InstrProfReader.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/ProfileSummaryBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/SampleProf.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/SampleProfReader.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ProfileData/SampleProfWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/APInt.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/BinaryStreamError.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/COM.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/CachePruning.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/CodeGenCoverage.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/CommandLine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Compression.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/DebugCounter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Error.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/FileOutputBuffer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/FoldingSet.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/FormatVariadic.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Hashing.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Host.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/JSON.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Locale.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/LockFileManager.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Path.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Process.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/RandomNumberGenerator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Signals.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/SourceMgr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/StringSaver.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/TargetParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/TargetRegistry.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Timer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Triple.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Unix/Path.inc projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Unix/Signals.inc projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Unix/Threading.inc projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Windows/Path.inc projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Windows/Process.inc projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Windows/Program.inc projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Windows/Threading.inc projects/import-googletest-1.8.1/contrib/llvm/lib/Support/Windows/WindowsSupport.h projects/import-googletest-1.8.1/contrib/llvm/lib/Support/WithColor.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/YAMLTraits.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Support/raw_ostream.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/TableGen/Main.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/TableGen/Record.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/TableGen/TGLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/TableGen/TGLexer.h projects/import-googletest-1.8.1/contrib/llvm/lib/TableGen/TGParser.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64A57FPLoadBalancing.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64CallLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64CallLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64CallingConvention.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64FastISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64FrameLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64InstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64MachineFunctionInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64MacroFusion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64RegisterBankInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64SchedExynosM1.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64SchedExynosM3.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64Schedule.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64Subtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64SystemOperands.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/Disassembler/AArch64ExternalSymbolizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AddressingModes.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64TargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/SVEInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPU.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAliasAnalysis.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAlwaysInlinePass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAnnotateKernelFeatures.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAnnotateUniformValues.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUCodeGenPrepare.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUGISel.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUGenRegisterBankInfo.def projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUInline.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUIntrinsicInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUIntrinsicInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPULibFunc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUMacroFusion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUPTNote.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUPerfHintAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterBanks.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPURegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetObjectFile.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AMDGPUUnifyDivergentExitNodes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/BUFInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/DSInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/FLATInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/GCNILPSched.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/GCNIterativeScheduler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/GCNMinRegStrategy.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/GCNProcessors.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/InstPrinter/AMDGPUInstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/MIMGInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/R600EmitClauseMarkers.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/R600ISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/R600InstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/R600InstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/R600Instructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/R600MachineScheduler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIAnnotateControlFlow.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIDefines.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIFixWWMLiveness.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIFormMemoryClauses.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIFrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIInsertSkips.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIIntrinsics.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SILoadStoreOptimizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SILowerControlFlow.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SILowerI1Copies.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SMInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/SOPInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/Utils/AMDKernelCodeTInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/VOP1Instructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/VOP2Instructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/VOP3Instructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/VOP3PInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/VOPCInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AMDGPU/VOPInstructions.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARC/ARCTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARC/InstPrinter/ARCInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARM.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMCallLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMCallLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMCodeGenPrepare.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMConstantIslandPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMExpandPseudoInsts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMFrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMFrameLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMMacroFusion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMMacroFusion.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMParallelDSP.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMSubtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/ARMTargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/InstPrinter/ARMInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAddressingModes.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMBaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/Thumb2InstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/ARM/Thumb2SizeReduction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AVRExpandPseudoInsts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AVRISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AVRISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AVRInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AVRRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AVRRegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AVRTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BPF.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BPFAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BPFRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/BPFTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/BPF/MCTargetDesc/BPFMCAsmInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/Hexagon.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/Hexagon.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonBitTracker.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonConstPropagation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepArch.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepArch.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepIICScalar.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepITypes.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepITypes.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepMappings.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepOperands.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonDepTimingClasses.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonEarlyIfConv.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonGenInsert.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonHardwareLoops.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonISelLoweringHVX.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsics.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonIntrinsicsV5.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonMachineScheduler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonPatterns.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonPseudo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonSchedule.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV60.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV62.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonScheduleV65.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonSplitConst32AndConst64.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonStoreWidening.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonSubtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/HexagonVLIWPacketizer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonBaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCDuplexInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/RDFDeadCode.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/RDFGraph.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Hexagon/RDFLiveness.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Lanai/LanaiISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Lanai/LanaiInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Lanai/LanaiInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Lanai/LanaiMemAluCombiner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Lanai/LanaiTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/InstPrinter/MSP430InstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCAsmInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430ISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430ISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430InstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430InstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430MCInstLower.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430RegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/MSP430/MSP430TargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsABIInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsBaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MicroMips32r6InstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MicroMipsInstrFPU.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MicroMipsInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MicroMipsInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MicroMipsSizeReduction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips16HardFloat.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips16ISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips16InstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips32r6InstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips32r6InstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsAsmPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsBranchExpansion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsCCState.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsCallLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsCallLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsCondMov.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsFastISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsInstrFPU.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsInstructionSelector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsLegalizerInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsLegalizerInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsMCInstLower.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsMSAInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsRegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsSchedule.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsScheduleGeneric.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsSubtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/MipsTargetObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXTargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTX.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTX.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXAllocaHoisting.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXPrologEpilogPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/NVPTX/NVVMReflect.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/InstPrinter/PPCInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/P9InstrResources.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPC.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCCallingConv.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCExpandISEL.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCFastISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCFrameLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCHazardRecognizers.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrAltivec.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrHTM.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrQPX.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrSPE.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCInstrVSX.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCRegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCSchedule.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCSchedule440.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleA2.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleE500mc.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleE5500.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleG3.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleG4Plus.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleG5.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleP7.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleP8.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCScheduleP9.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/InstPrinter/RISCVInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/InstPrinter/RISCVInstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCV.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCV.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVFrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrFormatsC.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrInfoA.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrInfoC.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrInfoD.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrInfoF.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVInstrInfoM.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVMergeBaseOffset.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/RISCV/RISCVTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/InstPrinter/SparcInstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/LeonFeatures.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/Sparc.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcInstr64Bit.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcInstrAliases.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcSubtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcSubtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/Sparc/SparcTargetMachine.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZElimCompare.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZHazardRecognizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZInstrFP.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZInstrVector.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZOperators.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZSchedule.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ13.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ14.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ196.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZSelectionDAGInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/TargetLoweringObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/TargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/TargetMachineC.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyFixupKinds.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyWasmObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/README.txt projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssembly.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssembly.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCFGSort.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCallIndirectFixup.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyExceptionInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyExplicitLocals.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFixFunctionBitcasts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFixIrreducibleControlFlow.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyFrameLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISD.def projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrAtomics.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrCall.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrConv.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrExceptRef.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrFloat.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrFormats.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInteger.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrSIMD.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLateEHPrepare.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerBrUnless.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeLiveIntervals.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyOptimizeReturned.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyPeephole.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegColoring.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyReplacePhysRegs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblySetP2AlignOperands.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/Disassembler/X86DisassemblerDecoder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/InstPrinter/X86ATTInstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/InstPrinter/X86IntelInstPrinter.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/MCTargetDesc/X86TargetStreamer.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFTargetStreamer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/ShadowCallStack.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/Utils/X86ShuffleDecode.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86AsmPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86AvoidStoreForwardingBlocks.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86CallFrameOptimization.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86CallLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86CallLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86CmovConversion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86DomainReassignment.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86FixupBWInsts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86FixupLEAs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86FlagsCopyLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86Instr3DNow.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrAVX512.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrArithmetic.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrCMovSetCC.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrCompiler.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrControl.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrExtension.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrFMA.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrFPStack.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrMMX.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrShiftRotate.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrVecCompiler.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstrXOP.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InstructionSelector.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86InterleavedAccess.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86IntrinsicsInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86LegalizerInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86MCInstLower.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86MacroFusion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86MacroFusion.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86OptimizeLEAs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86PfmCounters.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86RegisterBankInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86RegisterInfo.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86RetpolineThunks.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SchedBroadwell.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SchedHaswell.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SchedPredicates.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SchedSandyBridge.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SchedSkylakeClient.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SchedSkylakeServer.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86Schedule.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ScheduleAtom.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ScheduleBtVer2.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ScheduleSLM.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ScheduleZnver1.td projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SelectionDAGInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86ShuffleDecodeConstantPool.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86Subtarget.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86TargetMachine.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86TargetTransformInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/X86/X86WinEHState.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/XCore/XCoreFrameLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/XCore/XCoreISelDAGToDAG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/XCore/XCoreISelLowering.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/XCore/XCoreLowerThreadLocal.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Target/XCore/XCoreRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/lib/Target/XCore/XCoreTargetMachine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombineInternal.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Coroutines/CoroElide.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Coroutines/CoroFrame.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Coroutines/CoroSplit.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Coroutines/Coroutines.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/AlwaysInliner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/ArgumentPromotion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/CalledValuePropagation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/ConstantMerge.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/ExtractGV.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/FunctionImport.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/GlobalDCE.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/GlobalOpt.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/Inliner.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/LoopExtractor.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/LowerTypeTests.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/MergeFunctions.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/PartialInlining.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/PruneEH.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/SCCP.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/SampleProfile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/SyntheticCountsPropagation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineInternal.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/CFGMST.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/CGProfile.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/EfficiencySanitizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/Instrumentation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/ObjCARC/ARCRuntimeEntryPoints.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/ObjCARC/DependencyAnalysis.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/ObjCARC/ObjCARC.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCContract.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/ObjCARC/ObjCARCOpts.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/ADCE.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/BDCE.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/ConstantProp.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/DCE.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/DivRemPairs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/EarlyCSE.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/GVN.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/GVNHoist.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/GVNSink.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/GuardWidening.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/IndVarSimplify.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopDistribute.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopIdiomRecognize.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopInstSimplify.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopInterchange.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopPassManager.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopPredication.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopRotation.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopSink.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LoopVersioningLICM.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/LowerGuardIntrinsic.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/MergeICmps.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/MergedLoadStoreMotion.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/PartiallyInlineLibCalls.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/SROA.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/Scalar.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/Scalarizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/Sink.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/SpeculateAroundPHIs.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/StraightLineStrengthReduce.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/StructurizeCFG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/AddDiscriminators.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/BreakCriticalEdges.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/BuildLibCalls.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/CallPromotionUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/CloneModule.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/CtorUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/DemoteRegToStack.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/EscapeEnumerator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/Evaluator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/FlattenCFG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/FunctionComparator.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/FunctionImportUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/ImportedFunctionsInliningStatistics.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/InlineFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LibCallsShrinkWrap.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LoopRotationUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LoopSimplify.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LoopUnrollAndJam.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LoopUnrollPeel.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/LowerSwitch.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/ModuleUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/SplitModule.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Utils/Utils.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/VPlan.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/VPlan.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/VPlanHCFGBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/VPlanHCFGTransforms.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/VPlanValue.h projects/import-googletest-1.8.1/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/InstrumentationMap.cpp projects/import-googletest-1.8.1/contrib/llvm/lib/XRay/Trace.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/bugpoint/CrashDebugger.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/bugpoint/ExecutionDriver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/bugpoint/OptimizerDriver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/bugpoint/ToolRunner.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/bugpoint/ToolRunner.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/FREEBSD-Xlist projects/import-googletest-1.8.1/contrib/llvm/tools/clang/LICENSE.TXT projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang-c/Index.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTStructuralEquivalence.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/BaseSubobject.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/Comment.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/CommentDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/CommentVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/EvaluatedExprVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ExprOpenMP.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/GlobalDecl.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/Mangle.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/ODRHash.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/RawCommentList.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/StmtDataCollectors.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/StmtObjC.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Parser.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/LiveVariables.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisDeclContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/CallGraph.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/CloneDetection.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/ConstructionContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/AlignedAllocation.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/AllDiagnostics.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAArch64.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAMDGPU.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsHexagon.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsWebAssembly.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86_64.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Cuda.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DebugInfoOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCrossTUKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Features.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/FileSystemStatCache.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensions.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/OpenCLOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/PlistSupport.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/X86Target.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/XRayInstr.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Basic/arm_neon_incl.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/CodeGen/CGFunctionInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/CodeGen/SwiftCallingConv.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/CrossTU/CrossTUDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/CrossTU/CrossTranslationUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/Action.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/Distro.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/DriverDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Driver/Types.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Format/Format.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/FrontendAction.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/FrontendDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/PCHContainerOperations.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/PrecompiledPreamble.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Index/IndexDataConsumer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Index/IndexSymbol.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Index/IndexingAction.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Index/USRGeneration.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/CodeCompletionHandler.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/DirectoryLookup.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/LexDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/TokenConcatenation.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Parse/ParseDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/ParsedAttr.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Sema/SemaDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Serialization/ContinuousRangeMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Serialization/GlobalModuleIndex.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Serialization/SerializationDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/CheckerBase.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/RangedConstraintManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Regions.def projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTSolver.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/AllTUsExecution.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/ArgumentsAdjusters.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabasePluginRegistry.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/DiagnosticsYaml.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/Execution.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringDiagnostic.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/StandaloneExecution.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/include/clang/module.modulemap projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransAutoreleasePool.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransGCAttrs.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransGCCalls.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransProtectedScope.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransUnbridgedCasts.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/TransformActions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/APValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ASTStructuralEquivalence.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/DeclOpenMP.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ExternalASTMerger.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/Linkage.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/Mangle.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/OpenMPClause.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/ParentMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/SelectorLocationsKind.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/StmtObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/StmtOpenMP.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/CloneDetection.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/Consumed.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/ProgramPoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Attributes.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Builtins.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Cuda.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/FileSystemStatCache.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/AArch64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/AArch64.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/AMDGPU.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/AMDGPU.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/ARM.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/Hexagon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/Mips.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/NVPTX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/OSTargets.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/OSTargets.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/PPC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/PPC.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/SPIR.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/Sparc.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/WebAssembly.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/WebAssembly.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/X86.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Targets/X86.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGNonTrivialStruct.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CGValue.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenABITypes.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/ConstantEmitter.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/SwiftCallingConv.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/CrossTU/CrossTranslationUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/Action.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/Distro.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/Job.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/AArch64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/AArch64.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/ARM.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/ARM.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/X86.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/BareMetal.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/CommonArgs.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Cuda.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Cuda.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Fuchsia.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/HIP.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/HIP.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hexagon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hexagon.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Linux.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Linux.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSVC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSVC.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Minix.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/MipsLinux.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/PS4CPU.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/Solaris.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/WebAssembly.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/WebAssembly.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/Types.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Driver/XRayArgs.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/Format.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/FormatToken.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/PrecompiledPreamble.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/Rewrite/FrontendActions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_runtime_wrapper.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/adxintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512pfintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512vbmi2intrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512vbmiintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512vbmivlintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512vlbwintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/avx512vlvbmi2intrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/bmiintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/cuda_wrappers/new projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/float.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/intrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/lzcntintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/opencl-c.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Headers/vecintrin.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/IndexBody.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/IndexDecl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/IndexSymbol.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/IndexTypeSourceInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/IndexingAction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/IndexingContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/SimpleFormatContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Lex/TokenConcatenation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/ParsedAttr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaCUDA.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AllocationState.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GCDAntipatternChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/InterCheckerAPI.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAutoreleaseWriteChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RunLoopAutoreleaseLeakChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TraversalChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Checker.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/LoopWidening.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/WorkList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/AllTUsExecution.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Core/Diagnostic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Core/Lookup.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Core/Replacement.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Execution.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Refactoring/ASTSelection.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Extract/Extract.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Rename/USRFinder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/StandaloneExecution.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/tools/driver/cc1gen_reproducer_main.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/ClangOptionDocEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/ClangSACheckersEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Chunks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Chunks.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Config.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/DLL.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/DLL.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Driver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Driver.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/DriverUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/ICF.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/InputFiles.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/InputFiles.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/LTO.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/MapFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/MarkLive.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/MinGW.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/MinGW.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Options.td projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/PDB.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/PDB.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/SymbolTable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/SymbolTable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Symbols.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Symbols.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Writer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/COFF/Writer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/Common/Args.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/Common/ErrorHandler.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/Common/Strings.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/Common/TargetOptionsCommandFlags.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/AArch64ErrataFix.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/AArch64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/AMDGPU.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/ARM.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/AVR.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/Hexagon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/Mips.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/PPC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/PPC64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/SPARCV9.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/X86.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Arch/X86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/CMakeLists.txt projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/CallGraphSort.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Config.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Driver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Driver.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/DriverUtils.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/EhFrame.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/ICF.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/InputFiles.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/InputFiles.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/InputSection.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/InputSection.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/LTO.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/LTO.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/LinkerScript.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/LinkerScript.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/MapFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/MarkLive.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Options.td projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/OutputSections.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/OutputSections.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Relocations.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Relocations.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/ScriptLexer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/ScriptLexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/ScriptParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/SymbolTable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/SymbolTable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Symbols.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Symbols.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/SyntheticSections.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Target.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Target.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Thunks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ELF/Writer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/FREEBSD-Xlist projects/import-googletest-1.8.1/contrib/llvm/tools/lld/LICENSE.TXT projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/NewLLD.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/README.txt projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/Readers.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/ReleaseNotes.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/WebAssembly.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/conf.py projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/index.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/ld.lld.1 projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/open_projects.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lld/docs/windows_support.rst projects/import-googletest-1.8.1/contrib/llvm/tools/lld/include/lld/Common/Args.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/include/lld/Common/ErrorHandler.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/include/lld/Common/LLVM.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/include/lld/Common/Strings.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/include/lld/Common/TargetOptionsCommandFlags.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/include/lld/Common/Threads.h projects/import-googletest-1.8.1/contrib/llvm/tools/lld/lib/Driver/DarwinLdDriver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/ArchHandler_x86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachOLinkingContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lld/tools/lld/lld.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/FREEBSD-Xlist projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/LLDB.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBAddress.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBBreakpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBCommandInterpreter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBCommandReturnObject.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBDebugger.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBDefines.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBExpressionOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBFileSpec.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBFrame.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBMemoryRegionInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBMemoryRegionInfoList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBModule.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBProcess.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBStructuredData.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBSymbolContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBTarget.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBThread.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBThreadPlan.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/API/SBVariablesOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointID.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointIDList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocation.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationCollection.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointLocationList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointName.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolver.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverAddress.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverFileLine.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverFileRegex.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointResolverName.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSite.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointSiteList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Stoppoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/StoppointLocation.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Watchpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/WatchpointList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Breakpoint/WatchpointOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Address.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/AddressRange.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolver.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolverFileLine.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/AddressResolverName.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Architecture.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ClangForward.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Communication.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Debugger.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Disassembler.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/DumpDataExtractor.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/EmulateInstruction.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/FileLineResolver.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/FileSpecList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/FormatEntity.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/IOHandler.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/LoadedModuleInfoList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Mangled.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/MappedHash.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Module.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ModuleList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ModuleSpec.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Opcode.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/PluginInterface.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/PluginManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/RangeMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/STLUtils.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/SearchFilter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Section.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/SourceManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/StreamAsynchronousIO.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/StreamBuffer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/StreamFile.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/StructuredDataImpl.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeDenseMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeDenseSet.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeSTLMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeSTLVector.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ThreadSafeValue.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/UniqueCStringMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/UserSettingsController.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/Value.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObject.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectCast.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectChild.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResult.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultCast.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultChild.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectConstResultImpl.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectDynamicValue.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectMemory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectRegister.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectSyntheticFilter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Core/ValueObjectVariable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DataVisualization.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/DumpValueObjectOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatCache.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatClasses.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormatManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormattersContainer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/FormattersHelpers.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/LanguageCategory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/StringPrinter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeCategoryMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeFormat.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSynthetic.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeValidator.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/DataFormatters/ValueObjectPrinter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/DWARFExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/Expression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/ExpressionVariable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/FunctionCaller.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/IRExecutionUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/IRMemoryMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/LLVMUserExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/Materializer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/REPL.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/UserExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Expression/UtilityFunction.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/Debug.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/Editline.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/File.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/FileSystem.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/HostInfoBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/HostNativeThreadBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/MonitoringProcessLauncher.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/PipeBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/ProcessRunLock.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/Socket.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/SocketAddress.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/StringConvert.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/Symbols.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/TaskPool.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/XML.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeBreakpointList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeProcessProtocol.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeRegisterContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/posix/HostProcessPosix.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Host/posix/PipePosix.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Initialization/SystemInitializer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Initialization/SystemInitializerCommon.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Initialization/SystemLifetimeManager.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandAlias.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandCompletions.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandHistory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandInterpreter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObject.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObjectMultiword.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandObjectRegexCommand.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandOptionValidators.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandReturnObject.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionArgParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupBoolean.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupFile.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupFormat.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupOutputFile.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupPlatform.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupString.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupUInt64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupUUID.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupValueObjectDisplay.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupVariable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionGroupWatchpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValue.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueArgs.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueArray.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueBoolean.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueChar.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueDictionary.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueEnumeration.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFileSpecList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFormat.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueFormatEntity.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValuePathMappings.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueProperties.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueRegex.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueSInt64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueString.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueUInt64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/OptionValueUUID.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/Options.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/Property.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/Block.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTImporter.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangUtil.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/CompileUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerType.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/DebugMacros.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/Function.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/LineTable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectContainer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/ObjectFile.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolContextScope.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolFile.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolVendor.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/Symtab.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeSystem.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindPlan.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindTable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/CPPLanguageRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/DynamicLoader.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ExecutionContextScope.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntimeStopInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/Language.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/LanguageRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/Memory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/MemoryHistory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/MemoryRegionInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ObjCLanguageRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/OperatingSystem.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/PathMappingList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/Platform.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/Process.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ProcessLaunchInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ProcessStructReader.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/QueueItem.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/RegisterContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/SectionLoadHistory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/SectionLoadList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/StackFrame.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/StackFrameList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/StackID.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/StopInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/Target.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/TargetList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlan.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunction.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallUserExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanPython.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanRunToAddress.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanShouldStopHere.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepInRange.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepInstruction.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOut.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverBreakpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOverRange.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepRange.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepThrough.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepUntil.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanTracer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/UnixSignals.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Target/Unwind.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/ArchSpec.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Baton.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/CompletionRequest.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Connection.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/ConstString.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/DataBufferHeap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/DataBufferLLVM.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/DataEncoder.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/DataExtractor.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/FileSpec.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Iterable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/LLDBAssert.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Log.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/RegularExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/SelectHelper.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/SharingPtr.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Status.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Stream.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StreamCallback.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StreamGDBRemote.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StreamString.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StreamTee.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StringExtractor.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StringExtractorGDBRemote.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StringLexer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StringList.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/StructuredData.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/Timer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/UUID.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/UserID.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/Utility/VMRange.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/lldb-defines.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/lldb-forward.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/lldb-private-forward.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/lldb-private-types.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/lldb-types.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/include/lldb/module.modulemap projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBAddress.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBAttachInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBBreakpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBBreakpointName.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBBreakpointOptionCommon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBBroadcaster.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBCommandInterpreter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBCommandReturnObject.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBCompileUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBData.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBDebugger.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBDeclaration.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBError.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBEvent.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBExpressionOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBFileSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBFileSpecList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBFrame.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBHostOS.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBLaunchInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBLineEntry.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBListener.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBMemoryRegionInfoList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBModule.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBModuleSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBPlatform.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBProcess.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBProcessInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBQueue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBSection.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBSourceManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBStream.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBStringList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBStructuredData.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBSymbolContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBSymbolContextList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTarget.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBThread.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBThreadPlan.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBType.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTypeCategory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTypeEnumMember.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTypeFilter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTypeFormat.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTypeNameSpecifier.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTypeSummary.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBTypeSynthetic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBValueList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SBVariablesOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SystemInitializerFull.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/API/SystemInitializerFull.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/Breakpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointID.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointIDList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationCollection.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointLocationList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointName.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverAddress.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileLine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverFileRegex.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointResolverName.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSite.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/BreakpointSiteList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/Stoppoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/StoppointCallbackContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/StoppointLocation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/Watchpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/WatchpointList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Breakpoint/WatchpointOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandCompletions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectApropos.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectApropos.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectBreakpointCommand.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectBugreport.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectBugreport.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectCommands.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectDisassemble.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectGUI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectGUI.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectHelp.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectMemory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectMultiword.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlatform.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectPlugin.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectQuit.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectRegister.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectSettings.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectSource.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectType.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectVersion.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectVersion.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpoint.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Commands/CommandObjectWatchpointCommand.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Address.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/AddressRange.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/AddressResolverFileLine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/AddressResolverName.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Communication.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Debugger.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Disassembler.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/DumpDataExtractor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/DumpRegisterValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/DynamicLoader.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/EmulateInstruction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/FileLineResolver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/FileSpecList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/FormatEntity.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/IOHandler.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Mangled.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Module.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ModuleList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Opcode.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/PluginManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/SearchFilter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Section.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/SourceManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/StreamAsynchronousIO.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/StreamFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/UserSettingsController.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/Value.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObject.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectCast.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectChild.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResult.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultChild.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectConstResultImpl.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectDynamicValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectMemory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectRegister.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectSyntheticFilter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Core/ValueObjectVariable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/CXXFunctionPointer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/DataVisualization.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/DumpValueObjectOptions.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/FormatCache.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/FormatClasses.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/FormatManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/FormattersHelpers.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/LanguageCategory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/StringPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/TypeCategoryMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/TypeFormat.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/TypeSummary.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/TypeSynthetic.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/TypeValidator.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/ValueObjectPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/DataFormatters/VectorType.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/DWARFExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/ExpressionSourceCode.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/FunctionCaller.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/IRDynamicChecks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/IRExecutionUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/IRInterpreter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/IRMemoryMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/LLVMUserExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/Materializer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/REPL.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Expression/UtilityFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/Editline.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/File.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/FileCache.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/FileSystem.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/Host.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/HostInfoBase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/HostNativeThreadBase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/HostThread.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/MainLoop.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/MonitoringProcessLauncher.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/NativeProcessProtocol.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/NativeRegisterContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/NativeThreadProtocol.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/ProcessRunLock.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/PseudoTerminal.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/SocketAddress.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/StringConvert.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/TaskPool.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/common/XML.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/freebsd/HostInfoFreeBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/netbsd/Host.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/netbsd/HostInfoNetBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/openbsd/Host.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/posix/FileSystem.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/posix/HostInfoPosix.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/posix/HostProcessPosix.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/posix/PipePosix.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Host/posix/ProcessLauncherPosixFork.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Initialization/SystemLifetimeManager.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/CommandAlias.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/CommandObject.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectRegexCommand.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/CommandObjectScript.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/CommandReturnObject.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionArgParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupArchitecture.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupBoolean.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupFormat.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupOutputFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupPlatform.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUInt64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupUUID.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupValueObjectDisplay.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupVariable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionGroupWatchpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArch.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArgs.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueArray.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueBoolean.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueChar.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueDictionary.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueEnumeration.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFileSpecLIst.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFormat.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueFormatEntity.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueLanguage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValuePathMappings.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueProperties.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueRegex.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueSInt64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueUInt64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/OptionValueUUID.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/Options.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Interpreter/Property.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Architecture/Arm/ArchitectureArm.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/DynamicLoaderHexagonDYLD.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/HexagonDYLDRendezvous.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/AuxVector.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Static/DynamicLoaderStatic.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionHelper.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionVariable.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangFunctionCaller.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangHost.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangUtilityFunction.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM/EmulationStateARM.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/ARM64/EmulateInstructionARM64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Instruction/PPC64/EmulateInstructionPPC64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/JITLoader/GDB/JITLoaderGDB.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/BlockPointer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusNameParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxx.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxBitset.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxInitializerList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibCxxVector.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/LibStdcpp.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/CF.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/Cocoa.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSArray.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSDictionary.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSError.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSException.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSIndexPath.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSSet.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/ObjCLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Language/ObjCPlusPlus/ObjCPlusPlusLanguage.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCClassDescriptorV2.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV1.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTrampolineHandler.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleThreadPlanStepThroughObjCTrampoline.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptExpressionOpts.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptx86ABIFixups.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/MemoryHistory/asan/MemoryHistoryASan.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ELFHeader.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Platform/FreeBSD/PlatformFreeBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Platform/NetBSD/PlatformNetBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Platform/OpenBSD/PlatformOpenBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeProcessDarwin.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Darwin/NativeProcessDarwin.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/FreeBSDThread.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessFreeBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/ProcessMonitor.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIX.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_arm64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_powerpc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_x86.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/NativeProcessNetBSD.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/NativeRegisterContextNetBSD_x86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/NetBSD/NativeThreadNetBSD.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/POSIX/ProcessPOSIXLog.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ARMUtils.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/FreeBSDSignals.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/GDBRemoteSignals.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryThread.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/HistoryUnwind.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/LinuxSignals.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/MipsLinuxSignals.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NetBSDSignals.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/NetBSDSignals.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_arm64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_i386.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDarwin_x86_64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDummy.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextDummy.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextFreeBSD_powerpc.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextHistory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMacOSXFrameBackchain.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_arm.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_i386.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMach_x86_64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextMemory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_arm64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_powerpc.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_ppc64le.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_s390x.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextPOSIX_x86.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextThreadMemory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContext_x86.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_arm.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_arm64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_i386.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_mips.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_mips64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_ppc64le.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterInfos_s390x.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/StopInfoMachException.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/ThreadMemory.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindLLDB.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/UnwindMacOSXFrameBackchain.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/ProcessElfCore.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_arm64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_powerpc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_ppc64le.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_s390x.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_x86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteClientBase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunication.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServer.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerCommon.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpTypes.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/MinidumpTypes.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ProcessMinidump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ProcessMinidump.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_32.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/RegisterContextMinidump_x86_64.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ThreadMinidump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/Process/minidump/ThreadMinidump.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/None/ScriptInterpreterNone.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/StructuredData/DarwinLog/StructuredDataDarwinLog.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAbbreviationDeclaration.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFAttribute.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDIE.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDataExtractor.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugRanges.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDefines.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFFormValue.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/HashedNameToDIE.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/LogChannelDWARF.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwo.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwoDwp.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwp.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDwp.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/UniqueDWARFASTType.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/PDBLocationToDWARFExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/PDB/SymbolFilePDB.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/ArmUnwindInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/Block.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/ClangASTContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/ClangASTImporter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/ClangUtil.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/CompactUnwindInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/CompileUnit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/CompilerType.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/Function.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/LineEntry.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/Symbol.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/SymbolContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/SymbolFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/SymbolVendor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/Type.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/TypeList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/TypeMap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/TypeSystem.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/UnwindPlan.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ABI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/CPPLanguageRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ExecutionContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/InstrumentationRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/JITLoader.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/Language.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/LanguageRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/Memory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/MemoryHistory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ModuleCache.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ObjCLanguageRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/OperatingSystem.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/PathMappingList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/Platform.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/Process.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ProcessInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ProcessLaunchInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/Queue.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/QueueItem.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/RegisterContext.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/RegisterNumber.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/SectionLoadHistory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/SectionLoadList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/StackFrame.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/StackFrameList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/StackID.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/StopInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/SystemRuntime.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/Target.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/TargetList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/Thread.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlan.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanBase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallOnFunctionExit.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallUserExpression.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanPython.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanRunToAddress.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanShouldStopHere.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInRange.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepInstruction.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverBreakpoint.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepRange.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepThrough.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepUntil.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadPlanTracer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/ThreadSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/UnixSignals.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Target/UnwindAssembly.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/ArchSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/CompletionRequest.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/ConstString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/DataBufferHeap.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/DataBufferLLVM.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/DataEncoder.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/DataExtractor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/FileSpec.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/JSON.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/LLDBAssert.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Log.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Logging.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/SelectHelper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Status.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Stream.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/StreamGDBRemote.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/StreamString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/StringExtractor.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/StringExtractorGDBRemote.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/StringList.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/StructuredData.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/TildeExpressionResolver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/Timer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/UUID.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/VASprintf.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/source/Utility/VMRange.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/driver/Driver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/driver/Driver.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/driver/Platform.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgSet.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValConsume.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValOptionLong.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdArgValThreadGrp.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdBase.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdBreak.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdData.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbSet.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbSet.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbShow.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdGdbShow.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdCmdTarget.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmdFactory.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnBase.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebugSessionInfo.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLLDBDebuggerHandleEvents.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnLog.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnResources.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnResources.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MICmnStreamStdin.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIDataTypes.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverMain.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIDriverMgr.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilDebug.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilDebug.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilFileStd.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilMapIdToVariant.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilString.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-server/SystemInitializerLLGS.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-server/SystemInitializerLLGS.h projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-server/lldb-gdbserver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-server/lldb-platform.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/tools/lldb-server/lldb-server.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/lli/lli.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-ar/llvm-ar.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/CodeCoverage.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/CoverageExporter.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/CoverageExporterJson.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/CoverageExporterJson.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/CoverageViewOptions.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/SourceCoverageView.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/SourceCoverageViewHTML.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cov/TestingSupport.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-diff/DifferenceEngine.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-dwarfdump/Statistics.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-lto/llvm-lto.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-lto2/llvm-lto2.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mc/llvm-mc.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/CodeRegion.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/CodeRegion.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/PipelinePrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/PipelinePrinter.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-mca/llvm-mca.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-nm/llvm-nm.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/ObjcopyOpts.td projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/StripOpts.td projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/llvm-objcopy.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objcopy/llvm-objcopy.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objdump/COFFDump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objdump/ELFDump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objdump/MachODump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-objdump/llvm-objdump.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/DumpOutputStyle.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/InputFile.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/InputFile.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/MinimalTypeDumper.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PdbYaml.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PdbYaml.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyClassDefinitionDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyCompilandDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyCompilandDumper.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyEnumDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyFunctionDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyTypeDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyTypeDumper.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/PrettyTypedefDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/YAMLOutputStyle.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/YAMLOutputStyle.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-pdbutil/llvm-pdbutil.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-profdata/llvm-profdata.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/ARMWinEHPrinter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/ARMWinEHPrinter.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/MachODumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/ObjDumper.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/WasmDumper.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/llvm-readobj.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-readobj/llvm-readobj.h projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-rtdyld/llvm-rtdyld.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-stress/llvm-stress.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-xray/xray-account.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-xray/xray-converter.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-xray/xray-graph.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/llvm-xray/xray-stacks.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/opt/Debugify.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/opt/NewPMDriver.cpp projects/import-googletest-1.8.1/contrib/llvm/tools/opt/opt.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/AsmMatcherEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CTagsEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenInstruction.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenInstruction.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenIntrinsics.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenRegisters.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenSchedule.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/CodeGenTarget.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/DAGISelMatcher.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/DAGISelMatcher.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/DAGISelMatcherGen.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/FastISelEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/InfoByHwMode.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/InfoByHwMode.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/InstrDocsEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/InstrInfoEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/IntrinsicEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/PredicateExpander.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/PredicateExpander.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/SearchableTableEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/TableGen.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/TableGenBackends.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/X86ModRMFilters.h projects/import-googletest-1.8.1/contrib/llvm/utils/TableGen/X86RecognizableInstr.cpp projects/import-googletest-1.8.1/contrib/ofed/libcxgb4/dev.c projects/import-googletest-1.8.1/contrib/openpam/CREDITS projects/import-googletest-1.8.1/contrib/openpam/HISTORY projects/import-googletest-1.8.1/contrib/openpam/LICENSE projects/import-googletest-1.8.1/contrib/openpam/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/RELNOTES projects/import-googletest-1.8.1/contrib/openpam/aclocal.m4 projects/import-googletest-1.8.1/contrib/openpam/bin/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/bin/openpam_dump_policy/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/bin/pamtest/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/bin/pamtest/pamtest.1 projects/import-googletest-1.8.1/contrib/openpam/bin/su/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/bin/su/su.1 projects/import-googletest-1.8.1/contrib/openpam/compile projects/import-googletest-1.8.1/contrib/openpam/config.h.in projects/import-googletest-1.8.1/contrib/openpam/config.sub projects/import-googletest-1.8.1/contrib/openpam/configure projects/import-googletest-1.8.1/contrib/openpam/configure.ac projects/import-googletest-1.8.1/contrib/openpam/depcomp projects/import-googletest-1.8.1/contrib/openpam/doc/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/doc/man/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_borrow_cred.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_free_data.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_free_envlist.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_get_feature.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_get_option.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_log.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_nullconv.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_readline.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_readlinev.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_readword.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_restore_cred.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_set_feature.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_set_option.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_straddch.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_subst.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/openpam_ttyconv.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam.conf.5 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_acct_mgmt.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_authenticate.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_chauthtok.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_close_session.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_conv.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_end.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_error.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_get_authtok.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_get_data.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_get_item.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_get_user.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_getenv.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_getenvlist.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_info.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_open_session.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_prompt.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_putenv.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_set_data.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_set_item.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_setcred.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_setenv.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_sm_acct_mgmt.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_sm_authenticate.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_sm_chauthtok.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_sm_close_session.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_sm_open_session.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_sm_setcred.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_start.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_strerror.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_verror.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_vinfo.3 projects/import-googletest-1.8.1/contrib/openpam/doc/man/pam_vprompt.3 projects/import-googletest-1.8.1/contrib/openpam/include/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/include/security/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/include/security/openpam_version.h projects/import-googletest-1.8.1/contrib/openpam/install-sh projects/import-googletest-1.8.1/contrib/openpam/lib/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/lib/libpam/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/lib/libpam/pam_getenv.c projects/import-googletest-1.8.1/contrib/openpam/misc/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/missing projects/import-googletest-1.8.1/contrib/openpam/modules/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/modules/pam_deny/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/modules/pam_permit/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/modules/pam_return/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/modules/pam_unix/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/t/Makefile.am projects/import-googletest-1.8.1/contrib/openpam/t/Makefile.in projects/import-googletest-1.8.1/contrib/openpam/test-driver projects/import-googletest-1.8.1/crypto/openssl/CHANGES projects/import-googletest-1.8.1/crypto/openssl/CONTRIBUTING projects/import-googletest-1.8.1/crypto/openssl/Configure projects/import-googletest-1.8.1/crypto/openssl/INSTALL projects/import-googletest-1.8.1/crypto/openssl/LICENSE projects/import-googletest-1.8.1/crypto/openssl/NEWS projects/import-googletest-1.8.1/crypto/openssl/README projects/import-googletest-1.8.1/crypto/openssl/apps/apps.c projects/import-googletest-1.8.1/crypto/openssl/apps/ct_log_list.cnf projects/import-googletest-1.8.1/crypto/openssl/apps/dh1024.pem projects/import-googletest-1.8.1/crypto/openssl/apps/dh2048.pem projects/import-googletest-1.8.1/crypto/openssl/apps/dh4096.pem projects/import-googletest-1.8.1/crypto/openssl/apps/ocsp.c projects/import-googletest-1.8.1/crypto/openssl/apps/openssl.cnf projects/import-googletest-1.8.1/crypto/openssl/apps/pkcs12.c projects/import-googletest-1.8.1/crypto/openssl/apps/rehash.c projects/import-googletest-1.8.1/crypto/openssl/apps/s_cb.c projects/import-googletest-1.8.1/crypto/openssl/apps/s_client.c projects/import-googletest-1.8.1/crypto/openssl/apps/s_server.c projects/import-googletest-1.8.1/crypto/openssl/apps/speed.c projects/import-googletest-1.8.1/crypto/openssl/apps/verify.c projects/import-googletest-1.8.1/crypto/openssl/config projects/import-googletest-1.8.1/crypto/openssl/crypto/aes/asm/aes-x86_64.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/aes/asm/aesni-x86_64.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/aes/asm/aesv8-armx.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/aes/asm/bsaes-x86_64.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/aes/asm/vpaes-armv8.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/aes/asm/vpaes-x86_64.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/armcap.c projects/import-googletest-1.8.1/crypto/openssl/crypto/asn1/a_digest.c projects/import-googletest-1.8.1/crypto/openssl/crypto/asn1/a_sign.c projects/import-googletest-1.8.1/crypto/openssl/crypto/asn1/a_verify.c projects/import-googletest-1.8.1/crypto/openssl/crypto/asn1/ameth_lib.c projects/import-googletest-1.8.1/crypto/openssl/crypto/asn1/charmap.h projects/import-googletest-1.8.1/crypto/openssl/crypto/asn1/charmap.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/asn1/d2i_pu.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bio/b_addr.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bio/bss_file.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bio/bss_mem.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/asm/armv8-mont.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/asm/ia64.S projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/asm/mips.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/asm/rsaz-avx2.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/asm/sparcv8plus.S projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_ctx.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_depr.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_div.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_exp.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_lib.c projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_prime.h projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_prime.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/bn/bn_shift.c projects/import-googletest-1.8.1/crypto/openssl/crypto/chacha/asm/chacha-armv8.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/cms/cms_kari.c projects/import-googletest-1.8.1/crypto/openssl/crypto/cms/cms_pwri.c projects/import-googletest-1.8.1/crypto/openssl/crypto/conf/conf_def.c projects/import-googletest-1.8.1/crypto/openssl/crypto/conf/conf_def.h projects/import-googletest-1.8.1/crypto/openssl/crypto/conf/conf_lib.c projects/import-googletest-1.8.1/crypto/openssl/crypto/conf/conf_mod.c projects/import-googletest-1.8.1/crypto/openssl/crypto/conf/conf_sap.c projects/import-googletest-1.8.1/crypto/openssl/crypto/conf/conf_ssl.c projects/import-googletest-1.8.1/crypto/openssl/crypto/conf/keysets.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/cryptlib.c projects/import-googletest-1.8.1/crypto/openssl/crypto/des/asm/des_enc.m4 projects/import-googletest-1.8.1/crypto/openssl/crypto/dso/dso_dlfcn.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/asm/ecp_nistz256-armv8.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/curve25519.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/curve448/eddsa.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/curve448/point_448.h projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ec2_smpl.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ec_ameth.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ec_err.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ec_lcl.h projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecp_mont.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecp_nist.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecp_nistp224.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecp_nistp256.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecp_nistp521.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecp_nistz256.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecp_smpl.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ec/ecx_meth.c projects/import-googletest-1.8.1/crypto/openssl/crypto/engine/README projects/import-googletest-1.8.1/crypto/openssl/crypto/engine/eng_devcrypto.c projects/import-googletest-1.8.1/crypto/openssl/crypto/engine/eng_lib.c projects/import-googletest-1.8.1/crypto/openssl/crypto/err/err.c projects/import-googletest-1.8.1/crypto/openssl/crypto/err/openssl.txt projects/import-googletest-1.8.1/crypto/openssl/crypto/evp/evp_enc.c projects/import-googletest-1.8.1/crypto/openssl/crypto/evp/evp_err.c projects/import-googletest-1.8.1/crypto/openssl/crypto/evp/p_lib.c projects/import-googletest-1.8.1/crypto/openssl/crypto/include/internal/bn_int.h projects/import-googletest-1.8.1/crypto/openssl/crypto/init.c projects/import-googletest-1.8.1/crypto/openssl/crypto/modes/asm/ghash-x86_64.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/objects/obj_dat.h projects/import-googletest-1.8.1/crypto/openssl/crypto/objects/obj_dat.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/objects/obj_xref.h projects/import-googletest-1.8.1/crypto/openssl/crypto/objects/objects.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/objects/objxref.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/pem/pem_info.c projects/import-googletest-1.8.1/crypto/openssl/crypto/perlasm/x86_64-xlate.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/poly1305/asm/poly1305-armv8.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/ppc_arch.h projects/import-googletest-1.8.1/crypto/openssl/crypto/ppccap.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ppccpuid.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/rand/rand_unix.c projects/import-googletest-1.8.1/crypto/openssl/crypto/rsa/rsa_ameth.c projects/import-googletest-1.8.1/crypto/openssl/crypto/rsa/rsa_oaep.c projects/import-googletest-1.8.1/crypto/openssl/crypto/rsa/rsa_ossl.c projects/import-googletest-1.8.1/crypto/openssl/crypto/rsa/rsa_pk1.c projects/import-googletest-1.8.1/crypto/openssl/crypto/rsa/rsa_ssl.c projects/import-googletest-1.8.1/crypto/openssl/crypto/rsa/rsa_x931g.c projects/import-googletest-1.8.1/crypto/openssl/crypto/sha/asm/keccak1600-armv8.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/sha/asm/sha512-armv8.pl projects/import-googletest-1.8.1/crypto/openssl/crypto/srp/srp_lib.c projects/import-googletest-1.8.1/crypto/openssl/crypto/srp/srp_vfy.c projects/import-googletest-1.8.1/crypto/openssl/crypto/ui/ui_openssl.c projects/import-googletest-1.8.1/crypto/openssl/crypto/uid.c projects/import-googletest-1.8.1/crypto/openssl/crypto/x509/x509_vfy.c projects/import-googletest-1.8.1/crypto/openssl/crypto/x509/x_crl.c projects/import-googletest-1.8.1/crypto/openssl/crypto/x509/x_pubkey.c projects/import-googletest-1.8.1/crypto/openssl/crypto/x509/x_x509.c projects/import-googletest-1.8.1/crypto/openssl/doc/HOWTO/certificates.txt projects/import-googletest-1.8.1/crypto/openssl/doc/HOWTO/proxy_certificates.txt projects/import-googletest-1.8.1/crypto/openssl/doc/fingerprints.txt projects/import-googletest-1.8.1/crypto/openssl/doc/man1/ca.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/ciphers.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/cms.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/dgst.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/ec.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/enc.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/genpkey.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/ocsp.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/pkcs12.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/pkcs8.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/req.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/s_client.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/s_server.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/smime.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/storeutl.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/verify.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man1/x509.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/ASN1_INTEGER_get_int64.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/ASYNC_WAIT_CTX_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/ASYNC_start_job.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/BIO_new_CMS.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/BN_generate_prime.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/BN_rand.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/BN_security_bits.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/BUF_MEM_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/CMS_get0_type.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/CONF_modules_load_file.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/CRYPTO_get_ex_new_index.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/CTLOG_STORE_get0_log_by_id.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/DH_size.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/DTLS_get_data_mtu.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/DTLS_set_timer_cb.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/DTLSv1_listen.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EC_GROUP_copy.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_DigestInit.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_DigestSignInit.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_DigestVerifyInit.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_EncryptInit.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_CTX_ctrl.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_CTX_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_asn1_get_count.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_decrypt.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_derive.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_encrypt.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_get_default_digest_nid.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_keygen.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_print_private.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_sign.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_verify.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_PKEY_verify_recover.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/EVP_SignInit.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/HMAC.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OPENSSL_init_crypto.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OPENSSL_malloc.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OPENSSL_secure_malloc.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OSSL_STORE_INFO.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OSSL_STORE_LOADER.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OSSL_STORE_SEARCH.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OSSL_STORE_expect.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/OSSL_STORE_open.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/PEM_read_bio_ex.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/PEM_write_bio_CMS_stream.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/PEM_write_bio_PKCS7_stream.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/PKCS12_parse.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/PKCS7_sign.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/PKCS7_sign_add_signer.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/RAND_bytes.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/RIPEMD160_Init.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/RSA_get0_key.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/RSA_padding_add_PKCS1_type_1.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/RSA_size.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CIPHER_get_name.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_COMP_add_compression_method.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CONF_CTX_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CONF_CTX_set1_prefix.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CONF_CTX_set_flags.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CONF_CTX_set_ssl_ctx.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CONF_cmd.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CONF_cmd_argv.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_add1_chain_cert.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_config.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_dane_enable.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_get0_param.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set0_CA_list.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set1_curves.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set1_verify_cert_store.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_ctlog_list_file.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_default_passwd_cb.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_info_callback.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_mode.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_msg_callback.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_num_tickets.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_options.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_record_padding_callback.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_security_level.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_session_ticket_cb.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_split_send_fragment.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_ssl_version.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_status_cb.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_CTX_set_tlsext_ticket_key_cb.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_free.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_get0_cipher.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_get0_hostname.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_get0_id_context.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_get_protocol_version.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_has_ticket.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_is_resumable.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_SESSION_set1_id.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_export_keying_material.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_extension_supported.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_get_all_async_fds.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_get_error.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_get_version.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_key_update.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_read.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_read_early_data.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_set1_host.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_shutdown.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_want.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/SSL_write.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/UI_create_method.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/UI_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_NAME_ENTRY_get_object.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_STORE_CTX_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_STORE_CTX_set_verify_cb.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_STORE_new.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_STORE_set_verify_cb_func.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_VERIFY_PARAM_set_flags.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_get0_signature.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_get_serialNumber.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_get_subject_name.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/X509_sign.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/d2i_PrivateKey.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/i2d_CMS_bio_stream.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man3/i2d_PKCS7_bio_stream.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man5/config.pod projects/import-googletest-1.8.1/crypto/openssl/doc/man7/ct.pod projects/import-googletest-1.8.1/crypto/openssl/e_os.h projects/import-googletest-1.8.1/crypto/openssl/engines/e_dasync.c projects/import-googletest-1.8.1/crypto/openssl/include/internal/conf.h projects/import-googletest-1.8.1/crypto/openssl/include/internal/constant_time_locl.h projects/import-googletest-1.8.1/crypto/openssl/include/internal/cryptlib.h projects/import-googletest-1.8.1/crypto/openssl/include/internal/sockets.h projects/import-googletest-1.8.1/crypto/openssl/include/internal/thread_once.h projects/import-googletest-1.8.1/crypto/openssl/include/internal/tsan_assist.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/crypto.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/e_os2.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/ecerr.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/evp.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/evperr.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/lhash.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/obj_mac.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/opensslv.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/safestack.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/ssl.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/sslerr.h projects/import-googletest-1.8.1/crypto/openssl/include/openssl/x509_vfy.h projects/import-googletest-1.8.1/crypto/openssl/ssl/record/rec_layer_d1.c projects/import-googletest-1.8.1/crypto/openssl/ssl/record/rec_layer_s3.c projects/import-googletest-1.8.1/crypto/openssl/ssl/s3_enc.c projects/import-googletest-1.8.1/crypto/openssl/ssl/s3_lib.c projects/import-googletest-1.8.1/crypto/openssl/ssl/ssl_ciph.c projects/import-googletest-1.8.1/crypto/openssl/ssl/ssl_err.c projects/import-googletest-1.8.1/crypto/openssl/ssl/ssl_init.c projects/import-googletest-1.8.1/crypto/openssl/ssl/ssl_lib.c projects/import-googletest-1.8.1/crypto/openssl/ssl/ssl_locl.h projects/import-googletest-1.8.1/crypto/openssl/ssl/statem/extensions.c projects/import-googletest-1.8.1/crypto/openssl/ssl/statem/statem.c projects/import-googletest-1.8.1/crypto/openssl/ssl/statem/statem_clnt.c projects/import-googletest-1.8.1/crypto/openssl/ssl/statem/statem_lib.c projects/import-googletest-1.8.1/crypto/openssl/ssl/statem/statem_locl.h projects/import-googletest-1.8.1/crypto/openssl/ssl/statem/statem_srvr.c projects/import-googletest-1.8.1/crypto/openssl/ssl/t1_enc.c projects/import-googletest-1.8.1/crypto/openssl/ssl/t1_lib.c projects/import-googletest-1.8.1/crypto/openssl/ssl/tls13_enc.c projects/import-googletest-1.8.1/etc/mtree/BSD.debug.dist projects/import-googletest-1.8.1/etc/mtree/BSD.include.dist projects/import-googletest-1.8.1/etc/mtree/BSD.usr.dist projects/import-googletest-1.8.1/include/Makefile projects/import-googletest-1.8.1/lib/Makefile projects/import-googletest-1.8.1/lib/clang/freebsd_cc_version.h projects/import-googletest-1.8.1/lib/clang/headers/Makefile projects/import-googletest-1.8.1/lib/clang/include/clang/Basic/Version.inc projects/import-googletest-1.8.1/lib/clang/include/clang/Config/config.h projects/import-googletest-1.8.1/lib/clang/include/lld/Common/Version.inc projects/import-googletest-1.8.1/lib/clang/include/llvm/Config/config.h projects/import-googletest-1.8.1/lib/clang/include/llvm/Config/llvm-config.h projects/import-googletest-1.8.1/lib/clang/include/llvm/Support/VCSRevision.h projects/import-googletest-1.8.1/lib/clang/libclang/Makefile projects/import-googletest-1.8.1/lib/clang/liblldb/Makefile projects/import-googletest-1.8.1/lib/clang/libllvm/Makefile projects/import-googletest-1.8.1/lib/clang/libllvmminimal/Makefile projects/import-googletest-1.8.1/lib/libc++/Makefile projects/import-googletest-1.8.1/lib/libc/net/sctp_sys_calls.c projects/import-googletest-1.8.1/lib/libc/sys/poll.2 projects/import-googletest-1.8.1/lib/libc/sys/procctl.2 projects/import-googletest-1.8.1/lib/libclang_rt/Makefile.inc projects/import-googletest-1.8.1/lib/libclang_rt/asan/Makefile projects/import-googletest-1.8.1/lib/libclang_rt/asan_dynamic/Makefile projects/import-googletest-1.8.1/lib/libclang_rt/msan/Makefile projects/import-googletest-1.8.1/lib/libclang_rt/safestack/Makefile projects/import-googletest-1.8.1/lib/libclang_rt/stats/Makefile projects/import-googletest-1.8.1/lib/libclang_rt/tsan/Makefile projects/import-googletest-1.8.1/lib/libclang_rt/ubsan_standalone/Makefile projects/import-googletest-1.8.1/lib/libifconfig/Makefile projects/import-googletest-1.8.1/lib/libmt/mtlib.c projects/import-googletest-1.8.1/sbin/Makefile projects/import-googletest-1.8.1/sbin/camcontrol/camcontrol.c projects/import-googletest-1.8.1/sbin/fsck_ffs/fsck.h projects/import-googletest-1.8.1/sbin/fsck_ffs/globs.c projects/import-googletest-1.8.1/sbin/fsck_ffs/inode.c projects/import-googletest-1.8.1/sbin/fsck_ffs/pass1.c projects/import-googletest-1.8.1/sbin/fsck_ffs/setup.c projects/import-googletest-1.8.1/sbin/fsdb/fsdb.c projects/import-googletest-1.8.1/sbin/ifconfig/Makefile projects/import-googletest-1.8.1/sbin/ifconfig/af_inet.c projects/import-googletest-1.8.1/sbin/ifconfig/af_inet6.c projects/import-googletest-1.8.1/sbin/ifconfig/ifconfig.c projects/import-googletest-1.8.1/sbin/ifconfig/ifgroup.c projects/import-googletest-1.8.1/sbin/ipfw/ipfw.8 projects/import-googletest-1.8.1/sbin/nvmecontrol/nc_util.c projects/import-googletest-1.8.1/sbin/tunefs/tunefs.c projects/import-googletest-1.8.1/secure/lib/libcrypto/Makefile.inc projects/import-googletest-1.8.1/secure/lib/libcrypto/Makefile.man projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/aesv8-armx.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/armv8-mont.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/chacha-armv8.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/ecp_nistz256-armv8.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/keccak1600-armv8.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/poly1305-armv8.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/sha256-armv8.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/sha512-armv8.S projects/import-googletest-1.8.1/secure/lib/libcrypto/aarch64/vpaes-armv8.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/aes-x86_64.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/aesni-x86_64.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/bsaes-x86_64.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/ecp_nistz256-x86_64.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/ghash-x86_64.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/rsaz-avx2.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/vpaes-x86_64.S projects/import-googletest-1.8.1/secure/lib/libcrypto/amd64/x86_64-mont5.S projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ADMISSIONS.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_INTEGER_get_int64.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_ITEM_lookup.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_STRING_TABLE_add.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_TIME_set.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_TYPE_get.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASYNC_WAIT_CTX_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ASYNC_start_job.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BF_encrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_ADDR.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_ADDRINFO.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_connect.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_ctrl.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_f_base64.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_f_md.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_f_null.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_find_type.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_get_data.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_get_ex_new_index.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_new_CMS.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_parse_hostserv.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_printf.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_push.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_read.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_accept.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_bio.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_connect.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_fd.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_file.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_mem.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_null.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_s_socket.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_set_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BIO_should_retry.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_CTX_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_CTX_start.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_add.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_add_word.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_bn2bin.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_cmp.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_copy.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_generate_prime.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_num_bytes.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_rand.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_security_bits.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_set_bit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_swap.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BN_zero.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/BUF_MEM_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_add0_cert.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_add1_signer.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_compress.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_decrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_encrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_final.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_get0_type.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_sign.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_sign_receipt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_uncompress.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_verify.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CMS_verify_receipt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CONF_modules_free.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CRYPTO_THREAD_run_once.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CRYPTO_get_ex_new_index.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CTLOG_STORE_get0_log_by_id.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CTLOG_STORE_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CTLOG_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/CT_POLICY_EVAL_CTX_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DEFINE_STACK_OF.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DES_random_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_generate_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_get0_pqg.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_get_1024_160.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_new_by_nid.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_set_method.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DH_size.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_do_sign.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_generate_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_get0_pqg.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_set_method.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_sign.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DSA_size.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DTLS_get_data_mtu.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DTLS_set_timer_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/DTLSv1_listen.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ECDSA_SIG_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ECPKParameters_print.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EC_GFp_simple_method.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EC_GROUP_copy.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EC_GROUP_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EC_KEY_get_enc_flags.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EC_KEY_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EC_POINT_add.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EC_POINT_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ENGINE_add.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_clear_error.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_error_string.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_get_error.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_load_strings.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_print_errors.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_put_error.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_remove_state.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/ERR_set_mark.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_CIPHER_CTX_get_cipher_data.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_CIPHER_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_DigestSignInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_EncodeInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_MD_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_ASN1_METHOD.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_set1_pbe_pass.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_hkdf_md.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_rsa_pss_keygen_md.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_scrypt_N.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_CTX_set_tls1_prf_md.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_asn1_get_count.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_derive.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest_nid.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_meth_get_count.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_sign.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_verify.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_SealInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_SignInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_aes.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_aria.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_bf_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_blake2b512.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_camellia.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_cast5_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_chacha20.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_des.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_desx_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_idea_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_md2.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_md4.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_md5.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_mdc2.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_rc2_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_rc4.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_rc5_32_12_16_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_ripemd160.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_seed_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_sha1.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_sha224.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_sha3_224.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_sm3.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_sm4_cbc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/EVP_whirlpool.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/HMAC.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/MD5.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/MDC2_Init.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OCSP_REQUEST_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OCSP_cert_to_id.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OCSP_request_add1_nonce.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OCSP_resp_find_status.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OCSP_response_status.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OCSP_sendreq_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_LH_COMPFUNC.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_LH_stats.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_config.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_fork_prepare.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_init_crypto.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_init_ssl.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_instrument_bus.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_malloc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OPENSSL_secure_malloc.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OSSL_STORE_INFO.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OSSL_STORE_LOADER.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OSSL_STORE_SEARCH.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OSSL_STORE_expect.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OSSL_STORE_open.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PEM_bytes_read_bio.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PEM_read.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PEM_read_CMS.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PEM_read_bio_PrivateKey.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PEM_read_bio_ex.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS12_create.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS12_newpass.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS12_parse.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS5_PBKDF2_HMAC.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS7_sign.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/PKCS7_verify.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_DRBG_generate.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_DRBG_get0_master.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_DRBG_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_DRBG_reseed.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_DRBG_set_callbacks.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_DRBG_set_ex_data.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_add.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_bytes.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_cleanup.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_egd.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_load_file.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RC4_set_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RIPEMD160_Init.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_check_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_generate_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_get0_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_print.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_set_method.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_sign.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/RSA_size.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SCT_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SCT_print.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SCT_validate.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SHA256_Init.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SMIME_read_CMS.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SMIME_write_CMS.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CIPHER_get_name.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_COMP_add_compression_method.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CONF_CTX_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CONF_CTX_set1_prefix.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CONF_CTX_set_flags.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CONF_CTX_set_ssl_ctx.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CONF_cmd.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CONF_cmd_argv.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_add1_chain_cert.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_add_extra_chain_cert.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_add_session.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_config.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_ctrl.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_dane_enable.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_flush_sessions.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_free.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_get0_param.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_get_verify_mode.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_has_client_custom_ext.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_load_verify_locations.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_sess_number.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_sess_set_cache_size.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_sess_set_get_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_sessions.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set0_CA_list.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set1_curves.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set1_sigalgs.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set1_verify_cert_store.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_alpn_select_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_cert_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_cert_store.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_cert_verify_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_cipher_list.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_client_cert_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_client_hello_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_ct_validation_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_ctlog_list_file.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_default_passwd_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_ex_data.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_generate_session_id.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_info_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_keylog_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_max_cert_list.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_min_proto_version.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_mode.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_msg_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_num_tickets.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_options.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_psk_client_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_quiet_shutdown.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_read_ahead.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_record_padding_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_security_level.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_session_cache_mode.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_session_id_context.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_session_ticket_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_split_send_fragment.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_ssl_version.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_stateless_cookie_generate_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_timeout.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_servername_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_status_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_ticket_key_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_tlsext_use_srtp.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_tmp_dh_callback.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_set_verify.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_use_certificate.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_use_psk_identity_hint.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_CTX_use_serverinfo.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_free.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get0_cipher.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get0_hostname.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get0_id_context.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get0_peer.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get_compress_id.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get_ex_data.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get_protocol_version.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_get_time.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_has_ticket.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_is_resumable.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_print.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_SESSION_set1_id.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_accept.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_alert_type_string.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_alloc_buffers.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_check_chain.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_clear.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_connect.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_do_handshake.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_export_keying_material.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_extension_supported.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_free.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get0_peer_scts.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_SSL_CTX.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_all_async_fds.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_ciphers.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_client_random.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_current_cipher.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_default_timeout.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_error.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_extms_support.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_fd.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_peer_cert_chain.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_peer_certificate.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_peer_signature_nid.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_peer_tmp_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_psk_identity.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_rbio.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_session.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_shared_sigalgs.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_verify_result.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_get_version.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_in_init.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_key_update.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_library_init.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_load_client_CA_file.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_pending.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_read.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_read_early_data.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_rstate_string.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_session_reused.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_set1_host.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_set_bio.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_set_connect_state.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_set_fd.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_set_session.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_set_shutdown.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_set_verify_result.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_shutdown.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_state_string.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_want.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/SSL_write.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/UI_STRING.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/UI_UTIL_read_pw.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/UI_create_method.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/UI_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509V3_get_d2i.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_ALGOR_dup.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_CRL_get0_by_serial.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_EXTENSION_set_object.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_LOOKUP_hash_dir.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_LOOKUP_meth_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_NAME_get0_der.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_PUBKEY_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_SIG_get0.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_STORE_add_cert.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_STORE_get0_param.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_STORE_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_check_ca.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_check_host.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_check_issued.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_check_private_key.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_cmp_time.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_digest.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_dup.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get0_notBefore.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get0_signature.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get0_uids.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get_extension_flags.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get_pubkey.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get_serialNumber.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get_subject_name.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_get_version.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_new.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_sign.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509_verify_cert.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/X509v3_get_ext_by_NID.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/d2i_DHparams.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey_bio.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/d2i_PrivateKey.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/d2i_SSL_SESSION.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/d2i_X509.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/i2d_re_X509_tbs.3 projects/import-googletest-1.8.1/secure/lib/libcrypto/man/o2i_SCT_LIST.3 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/CA.pl.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/asn1parse.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/ca.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/ciphers.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/cms.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/crl.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/dgst.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/dhparam.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/dsa.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/dsaparam.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/ec.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/ecparam.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/enc.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/engine.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/errstr.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/gendsa.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/genpkey.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/genrsa.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/list.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/nseq.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/ocsp.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/openssl.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/passwd.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/pkcs12.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/pkcs7.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/pkcs8.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/pkey.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/pkeyparam.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/pkeyutl.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/prime.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/rand.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/req.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/rsa.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/rsautl.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/s_client.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/s_server.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/s_time.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/sess_id.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/smime.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/speed.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/spkac.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/srp.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/storeutl.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/ts.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/tsget.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/verify.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/version.1 projects/import-googletest-1.8.1/secure/usr.bin/openssl/man/x509.1 projects/import-googletest-1.8.1/share/man/man4/Makefile projects/import-googletest-1.8.1/share/man/man4/geom_uzip.4 projects/import-googletest-1.8.1/share/man/man4/isp.4 projects/import-googletest-1.8.1/share/man/man4/rights.4 projects/import-googletest-1.8.1/share/mk/bsd.libnames.mk projects/import-googletest-1.8.1/share/mk/src.libnames.mk projects/import-googletest-1.8.1/share/mk/src.opts.mk projects/import-googletest-1.8.1/stand/common/boot.c projects/import-googletest-1.8.1/stand/common/bootstrap.h projects/import-googletest-1.8.1/stand/common/interp_forth.c projects/import-googletest-1.8.1/stand/common/interp_simple.c projects/import-googletest-1.8.1/stand/common/load_elf.c projects/import-googletest-1.8.1/stand/common/load_elf_obj.c projects/import-googletest-1.8.1/stand/common/module.c projects/import-googletest-1.8.1/stand/efi/loader/arch/arm/exec.c projects/import-googletest-1.8.1/stand/efi/loader/arch/i386/Makefile.inc projects/import-googletest-1.8.1/stand/efi/loader/arch/i386/elf32_freebsd.c projects/import-googletest-1.8.1/stand/ficl/Makefile.depend projects/import-googletest-1.8.1/stand/ficl/ficl.h projects/import-googletest-1.8.1/stand/ficl/fileaccess.c projects/import-googletest-1.8.1/stand/ficl32/Makefile.depend projects/import-googletest-1.8.1/stand/i386/loader/Makefile.depend projects/import-googletest-1.8.1/stand/liblua/Makefile projects/import-googletest-1.8.1/stand/liblua/lstd.c projects/import-googletest-1.8.1/stand/libsa/Makefile projects/import-googletest-1.8.1/stand/libsa/Makefile.depend projects/import-googletest-1.8.1/stand/libsa32/Makefile.depend projects/import-googletest-1.8.1/stand/loader.mk projects/import-googletest-1.8.1/sys/amd64/amd64/elf_machdep.c projects/import-googletest-1.8.1/sys/amd64/cloudabi32/cloudabi32_sysvec.c projects/import-googletest-1.8.1/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/import-googletest-1.8.1/sys/amd64/linux/linux_sysvec.c projects/import-googletest-1.8.1/sys/amd64/linux32/linux32_sysvec.c projects/import-googletest-1.8.1/sys/amd64/vmm/intel/vmx.c projects/import-googletest-1.8.1/sys/arm/arm/elf_machdep.c projects/import-googletest-1.8.1/sys/arm/cloudabi32/cloudabi32_sysvec.c projects/import-googletest-1.8.1/sys/arm/mv/files.arm7 projects/import-googletest-1.8.1/sys/arm/mv/files.mv projects/import-googletest-1.8.1/sys/arm64/arm64/elf32_machdep.c projects/import-googletest-1.8.1/sys/arm64/arm64/elf_machdep.c projects/import-googletest-1.8.1/sys/arm64/arm64/mp_machdep.c projects/import-googletest-1.8.1/sys/arm64/cloudabi32/cloudabi32_sysvec.c projects/import-googletest-1.8.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c projects/import-googletest-1.8.1/sys/arm64/conf/GENERIC projects/import-googletest-1.8.1/sys/arm64/linux/linux_sysvec.c projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk3328_cru.c projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk3399_cru.c projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk_clk_armclk.c projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk_clk_armclk.h projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk_clk_composite.c projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk_clk_composite.h projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk_clk_pll.c projects/import-googletest-1.8.1/sys/arm64/rockchip/clk/rk_clk_pll.h projects/import-googletest-1.8.1/sys/arm64/rockchip/rk805.c projects/import-googletest-1.8.1/sys/arm64/rockchip/rk805reg.h projects/import-googletest-1.8.1/sys/arm64/rockchip/rk_pinctrl.c projects/import-googletest-1.8.1/sys/cam/ctl/ctl.c projects/import-googletest-1.8.1/sys/cam/ctl/ctl_backend_block.c projects/import-googletest-1.8.1/sys/cam/ctl/ctl_backend_ramdisk.c projects/import-googletest-1.8.1/sys/cam/ctl/ctl_frontend_ioctl.c projects/import-googletest-1.8.1/sys/cam/ctl/ctl_io.h projects/import-googletest-1.8.1/sys/cam/ctl/ctl_private.h projects/import-googletest-1.8.1/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/import-googletest-1.8.1/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/import-googletest-1.8.1/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/import-googletest-1.8.1/sys/compat/ia32/ia32_sysvec.c projects/import-googletest-1.8.1/sys/compat/linuxkpi/common/include/linux/types.h projects/import-googletest-1.8.1/sys/conf/NOTES projects/import-googletest-1.8.1/sys/conf/files projects/import-googletest-1.8.1/sys/conf/files.arm64 projects/import-googletest-1.8.1/sys/conf/files.powerpc projects/import-googletest-1.8.1/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c projects/import-googletest-1.8.1/sys/contrib/xz-embedded/freebsd/xz_config.h projects/import-googletest-1.8.1/sys/crypto/chacha20/chacha.c projects/import-googletest-1.8.1/sys/crypto/chacha20/chacha.h projects/import-googletest-1.8.1/sys/dev/asmc/asmc.c projects/import-googletest-1.8.1/sys/dev/asmc/asmcvar.h projects/import-googletest-1.8.1/sys/dev/ath/ath_hal/ah.h projects/import-googletest-1.8.1/sys/dev/cxgb/cxgb_adapter.h projects/import-googletest-1.8.1/sys/dev/cxgb/cxgb_main.c projects/import-googletest-1.8.1/sys/dev/cxgbe/t4_main.c projects/import-googletest-1.8.1/sys/dev/cxgbe/t4_vf.c projects/import-googletest-1.8.1/sys/dev/fdt/fdt_slicer.c projects/import-googletest-1.8.1/sys/dev/flash/at45d.c projects/import-googletest-1.8.1/sys/dev/flash/mx25l.c projects/import-googletest-1.8.1/sys/dev/isp/isp_pci.c projects/import-googletest-1.8.1/sys/dev/ixgbe/if_ix.c projects/import-googletest-1.8.1/sys/dev/mmc/host/dwmmc_rockchip.c projects/import-googletest-1.8.1/sys/dev/nvme/nvme_ctrlr.c projects/import-googletest-1.8.1/sys/dev/nvme/nvme_ns.c projects/import-googletest-1.8.1/sys/dev/nvme/nvme_private.h projects/import-googletest-1.8.1/sys/dev/nvme/nvme_qpair.c projects/import-googletest-1.8.1/sys/dev/nvme/nvme_test.c projects/import-googletest-1.8.1/sys/dev/random/fortuna.c projects/import-googletest-1.8.1/sys/dev/random/hash.c projects/import-googletest-1.8.1/sys/dev/random/hash.h projects/import-googletest-1.8.1/sys/dev/rtwn/rtl8192c/r92c_init.c projects/import-googletest-1.8.1/sys/dev/rtwn/rtl8192c/r92c_reg.h projects/import-googletest-1.8.1/sys/dev/rtwn/rtl8192c/r92c_tx.c projects/import-googletest-1.8.1/sys/dev/rtwn/rtl8192c/usb/r92cu_init.c projects/import-googletest-1.8.1/sys/dev/spibus/spibus.c projects/import-googletest-1.8.1/sys/dev/syscons/scterm-dumb.c (contents, props changed) projects/import-googletest-1.8.1/sys/dev/syscons/scterm-sc.c (contents, props changed) projects/import-googletest-1.8.1/sys/fs/ext2fs/ext2_alloc.c projects/import-googletest-1.8.1/sys/fs/ext2fs/ext2_csum.c projects/import-googletest-1.8.1/sys/fs/ext2fs/ext2_extern.h projects/import-googletest-1.8.1/sys/fs/ext2fs/ext2_inode_cnv.c projects/import-googletest-1.8.1/sys/fs/ext2fs/ext2_vfsops.c projects/import-googletest-1.8.1/sys/fs/ext2fs/ext2fs.h projects/import-googletest-1.8.1/sys/fs/nfs/nfs_var.h projects/import-googletest-1.8.1/sys/fs/nfsserver/nfs_nfsdkrpc.c projects/import-googletest-1.8.1/sys/fs/nfsserver/nfs_nfsdport.c projects/import-googletest-1.8.1/sys/fs/nfsserver/nfs_nfsdserv.c projects/import-googletest-1.8.1/sys/fs/nfsserver/nfs_nfsdsocket.c projects/import-googletest-1.8.1/sys/geom/concat/g_concat.c projects/import-googletest-1.8.1/sys/geom/uzip/g_uzip.c projects/import-googletest-1.8.1/sys/geom/uzip/g_uzip_lzma.c projects/import-googletest-1.8.1/sys/i386/cloudabi32/cloudabi32_sysvec.c projects/import-googletest-1.8.1/sys/i386/i386/elf_machdep.c projects/import-googletest-1.8.1/sys/i386/i386/pmap.c projects/import-googletest-1.8.1/sys/i386/include/pmap_nopae.h projects/import-googletest-1.8.1/sys/i386/include/pmap_pae.h projects/import-googletest-1.8.1/sys/i386/linux/linux_sysvec.c projects/import-googletest-1.8.1/sys/kern/imgact_aout.c projects/import-googletest-1.8.1/sys/kern/imgact_elf.c projects/import-googletest-1.8.1/sys/kern/init_main.c projects/import-googletest-1.8.1/sys/kern/kern_descrip.c projects/import-googletest-1.8.1/sys/kern/subr_bus.c projects/import-googletest-1.8.1/sys/kern/subr_vmem.c projects/import-googletest-1.8.1/sys/kern/uipc_shm.c projects/import-googletest-1.8.1/sys/kern/uipc_socket.c projects/import-googletest-1.8.1/sys/mips/conf/ALFA_HORNET_UB projects/import-googletest-1.8.1/sys/mips/conf/AP121 projects/import-googletest-1.8.1/sys/mips/conf/AP135 projects/import-googletest-1.8.1/sys/mips/conf/AP143 projects/import-googletest-1.8.1/sys/mips/conf/AP91 projects/import-googletest-1.8.1/sys/mips/conf/AP93 projects/import-googletest-1.8.1/sys/mips/conf/AP94 projects/import-googletest-1.8.1/sys/mips/conf/AP96 projects/import-googletest-1.8.1/sys/mips/conf/BCM projects/import-googletest-1.8.1/sys/mips/conf/CARAMBOLA2 projects/import-googletest-1.8.1/sys/mips/conf/DB120 projects/import-googletest-1.8.1/sys/mips/conf/DIR-655A1 projects/import-googletest-1.8.1/sys/mips/conf/DIR-825B1 projects/import-googletest-1.8.1/sys/mips/conf/ENH200 projects/import-googletest-1.8.1/sys/mips/conf/MT7620A_FDT projects/import-googletest-1.8.1/sys/mips/conf/MT7620N_FDT projects/import-googletest-1.8.1/sys/mips/conf/MT7621_FDT projects/import-googletest-1.8.1/sys/mips/conf/MT7628_FDT projects/import-googletest-1.8.1/sys/mips/conf/ONIONOMEGA projects/import-googletest-1.8.1/sys/mips/conf/PB47 projects/import-googletest-1.8.1/sys/mips/conf/PB92 projects/import-googletest-1.8.1/sys/mips/conf/PICOSTATION_M2HP projects/import-googletest-1.8.1/sys/mips/conf/ROCKET_M2HP projects/import-googletest-1.8.1/sys/mips/conf/ROUTERSTATION projects/import-googletest-1.8.1/sys/mips/conf/ROUTERSTATION_MFS projects/import-googletest-1.8.1/sys/mips/conf/RSPRO projects/import-googletest-1.8.1/sys/mips/conf/RSPRO_MFS projects/import-googletest-1.8.1/sys/mips/conf/RSPRO_STANDALONE projects/import-googletest-1.8.1/sys/mips/conf/RT3050_FDT projects/import-googletest-1.8.1/sys/mips/conf/RT3352_FDT projects/import-googletest-1.8.1/sys/mips/conf/RT3883_FDT projects/import-googletest-1.8.1/sys/mips/conf/RT5350_FDT projects/import-googletest-1.8.1/sys/mips/conf/TL-ARCHERC7V2 projects/import-googletest-1.8.1/sys/mips/conf/TL-WDR4300 projects/import-googletest-1.8.1/sys/mips/conf/TL-WR1043NDv2 projects/import-googletest-1.8.1/sys/mips/conf/TL-WR740Nv4 projects/import-googletest-1.8.1/sys/mips/conf/TP-MR3040 projects/import-googletest-1.8.1/sys/mips/conf/TP-WN1043ND projects/import-googletest-1.8.1/sys/mips/conf/WZR-300HP projects/import-googletest-1.8.1/sys/mips/conf/WZR-HPAG300H projects/import-googletest-1.8.1/sys/mips/conf/std.XLP projects/import-googletest-1.8.1/sys/mips/mips/elf_machdep.c projects/import-googletest-1.8.1/sys/mips/mips/freebsd32_machdep.c projects/import-googletest-1.8.1/sys/modules/Makefile projects/import-googletest-1.8.1/sys/modules/geom/geom_uzip/Makefile projects/import-googletest-1.8.1/sys/net/if_bridge.c projects/import-googletest-1.8.1/sys/netinet/sctp_pcb.c projects/import-googletest-1.8.1/sys/netinet/sctp_usrreq.c projects/import-googletest-1.8.1/sys/netinet/tcp_subr.c projects/import-googletest-1.8.1/sys/netpfil/pf/pf_norm.c projects/import-googletest-1.8.1/sys/opencrypto/cbc_mac.c projects/import-googletest-1.8.1/sys/powerpc/booke/locore.S projects/import-googletest-1.8.1/sys/powerpc/booke/trap_subr.S projects/import-googletest-1.8.1/sys/powerpc/mpc85xx/platform_mpc85xx.c projects/import-googletest-1.8.1/sys/powerpc/powernv/opal.h projects/import-googletest-1.8.1/sys/powerpc/powernv/opal_dev.c projects/import-googletest-1.8.1/sys/powerpc/powernv/opal_i2c.c projects/import-googletest-1.8.1/sys/powerpc/powernv/opal_sensor.c projects/import-googletest-1.8.1/sys/powerpc/powerpc/elf32_machdep.c projects/import-googletest-1.8.1/sys/powerpc/powerpc/elf64_machdep.c projects/import-googletest-1.8.1/sys/powerpc/powerpc/intr_machdep.c projects/import-googletest-1.8.1/sys/powerpc/powerpc/machdep.c projects/import-googletest-1.8.1/sys/riscv/riscv/elf_machdep.c projects/import-googletest-1.8.1/sys/sparc64/sparc64/elf_machdep.c projects/import-googletest-1.8.1/sys/sys/capsicum.h projects/import-googletest-1.8.1/sys/sys/filedesc.h projects/import-googletest-1.8.1/sys/sys/interrupt.h projects/import-googletest-1.8.1/sys/sys/param.h projects/import-googletest-1.8.1/sys/sys/slicer.h projects/import-googletest-1.8.1/sys/sys/sysent.h projects/import-googletest-1.8.1/sys/ufs/ffs/ffs_alloc.c projects/import-googletest-1.8.1/sys/ufs/ffs/ffs_vnops.c projects/import-googletest-1.8.1/sys/ufs/ffs/fs.h projects/import-googletest-1.8.1/sys/vm/vm_kern.c projects/import-googletest-1.8.1/sys/vm/vm_phys.c projects/import-googletest-1.8.1/sys/vm/vnode_pager.c projects/import-googletest-1.8.1/tests/sys/Makefile projects/import-googletest-1.8.1/tests/sys/netipsec/tunnel/utils.subr projects/import-googletest-1.8.1/tests/sys/netpfil/pf/Makefile projects/import-googletest-1.8.1/tests/sys/netpfil/pf/anchor.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/forward.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/fragmentation.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/names.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/nat.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/pass_block.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/pfsync.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/rdr.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/route_to.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/set_skip.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/set_tos.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/synproxy.sh projects/import-googletest-1.8.1/tests/sys/netpfil/pf/utils.subr projects/import-googletest-1.8.1/tools/build/mk/OptionalObsoleteFiles.inc projects/import-googletest-1.8.1/tools/tools/crypto/cryptocheck.c projects/import-googletest-1.8.1/tools/tools/netmap/pkt-gen.c projects/import-googletest-1.8.1/usr.bin/clang/lld/Makefile projects/import-googletest-1.8.1/usr.bin/clang/lldb/Makefile projects/import-googletest-1.8.1/usr.bin/clang/llvm-cov/Makefile projects/import-googletest-1.8.1/usr.bin/clang/llvm-mca/Makefile projects/import-googletest-1.8.1/usr.bin/clang/llvm-objcopy/Makefile projects/import-googletest-1.8.1/usr.bin/clang/llvm-pdbutil/Makefile projects/import-googletest-1.8.1/usr.bin/clang/llvm-tblgen/Makefile projects/import-googletest-1.8.1/usr.bin/cmp/cmp.c projects/import-googletest-1.8.1/usr.bin/cmp/regular.c projects/import-googletest-1.8.1/usr.bin/cmp/special.c projects/import-googletest-1.8.1/usr.bin/cmp/tests/cmp_test2.sh projects/import-googletest-1.8.1/usr.bin/mt/mt.1 projects/import-googletest-1.8.1/usr.bin/netstat/inet.c projects/import-googletest-1.8.1/usr.bin/patch/common.h projects/import-googletest-1.8.1/usr.bin/patch/patch.c projects/import-googletest-1.8.1/usr.bin/patch/pch.c projects/import-googletest-1.8.1/usr.bin/proccontrol/Makefile projects/import-googletest-1.8.1/usr.bin/truss/syscalls.c projects/import-googletest-1.8.1/usr.sbin/kldxref/Makefile projects/import-googletest-1.8.1/usr.sbin/kldxref/ef_powerpc.c projects/import-googletest-1.8.1/usr.sbin/makefs/ffs.c projects/import-googletest-1.8.1/usr.sbin/rtsold/rtsold.c projects/import-googletest-1.8.1/usr.sbin/syslogd/syslogd.c projects/import-googletest-1.8.1/usr.sbin/sysrc/sysrc.8 projects/import-googletest-1.8.1/usr.sbin/wlandebug/Makefile Directory Properties: projects/import-googletest-1.8.1/ (props changed) projects/import-googletest-1.8.1/cddl/ (props changed) projects/import-googletest-1.8.1/cddl/contrib/opensolaris/ (props changed) projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/import-googletest-1.8.1/contrib/compiler-rt/ (props changed) projects/import-googletest-1.8.1/contrib/compiler-rt/lib/fuzzer/ (props changed) projects/import-googletest-1.8.1/contrib/elftoolchain/ (props changed) projects/import-googletest-1.8.1/contrib/ipfilter/ (props changed) projects/import-googletest-1.8.1/contrib/libarchive/ (props changed) projects/import-googletest-1.8.1/contrib/libc++/ (props changed) projects/import-googletest-1.8.1/contrib/llvm/ (props changed) projects/import-googletest-1.8.1/contrib/llvm/tools/clang/ (props changed) projects/import-googletest-1.8.1/contrib/llvm/tools/lld/ (props changed) projects/import-googletest-1.8.1/contrib/llvm/tools/lldb/ (props changed) projects/import-googletest-1.8.1/contrib/netbsd-tests/ (props changed) projects/import-googletest-1.8.1/contrib/openpam/ (props changed) projects/import-googletest-1.8.1/crypto/openssh/ (props changed) projects/import-googletest-1.8.1/crypto/openssl/ (props changed) projects/import-googletest-1.8.1/sys/cddl/contrib/opensolaris/ (props changed) projects/import-googletest-1.8.1/sys/contrib/dev/acpica/ (props changed) projects/import-googletest-1.8.1/sys/contrib/ipfilter/ (props changed) projects/import-googletest-1.8.1/sys/contrib/xz-embedded/ (props changed) projects/import-googletest-1.8.1/sys/dev/syscons/sctermvar.h (props changed) projects/import-googletest-1.8.1/usr.sbin/bhyve/pci_xhci.c (props changed) projects/import-googletest-1.8.1/usr.sbin/bhyve/usb_mouse.c (props changed) Modified: projects/import-googletest-1.8.1/MAINTAINERS ============================================================================== --- projects/import-googletest-1.8.1/MAINTAINERS Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/MAINTAINERS Tue Mar 5 01:00:38 2019 (r344787) @@ -106,7 +106,12 @@ usr.sbin/bsdconfig dteske Pre-commit phabricator revie usr.sbin/dpv dteske Pre-commit review requested. Keep in sync with libdpv. usr.sbin/pkg pkg@ Please coordinate behavior or flag changes with pkg team. usr.sbin/sysrc dteske Pre-commit phabricator review requested. Keep in sync with bsdconfig(8) sysrc.subr. -vmm(4) tychon, jhb Pre-commit review requested. +vmm(4) tychon, jhb Pre-commit review requested via #bhyve + phabricator group. +libvmmapi tychon, jhb Pre-commit review requested via #bhyve + phabricator group. +usr.sbin/bhyve* tychon, jhb Pre-commit review requested via #bhyve + phabricator group. autofs(5) trasz Pre-commit review recommended. iscsi(4) trasz Pre-commit review recommended. rctl(8) trasz Pre-commit review recommended. Modified: projects/import-googletest-1.8.1/ObsoleteFiles.inc ============================================================================== --- projects/import-googletest-1.8.1/ObsoleteFiles.inc Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/ObsoleteFiles.inc Tue Mar 5 01:00:38 2019 (r344787) @@ -38,6 +38,163 @@ # xargs -n1 | sort | uniq -d; # done +# 20190304: new libc++ import which bumps version from 7.0.1 to 8.0.0. +OLD_FILES+=usr/include/c++/v1/experimental/dynarray +# 20190304: new clang import which bumps version from 7.0.1 to 8.0.0. +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/allocator_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/asan_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/common_interface_defs.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/coverage_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/dfsan_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/esan_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/hwasan_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/linux_syscall_hooks.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/lsan_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/msan_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/netbsd_syscall_hooks.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/scudo_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/tsan_interface.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sanitizer/tsan_interface_atomic.h +OLD_DIRS+=usr/lib/clang/7.0.1/include/sanitizer +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_builtin_vars.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_cmath.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_complex_builtins.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_device_functions.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_intrinsics.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_libdevice_declares.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_math_forward_declares.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__clang_cuda_runtime_wrapper.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__stddef_max_align_t.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__wmmintrin_aes.h +OLD_FILES+=usr/lib/clang/7.0.1/include/__wmmintrin_pclmul.h +OLD_FILES+=usr/lib/clang/7.0.1/include/adxintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/altivec.h +OLD_FILES+=usr/lib/clang/7.0.1/include/ammintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/arm64intr.h +OLD_FILES+=usr/lib/clang/7.0.1/include/arm_acle.h +OLD_FILES+=usr/lib/clang/7.0.1/include/arm_fp16.h +OLD_FILES+=usr/lib/clang/7.0.1/include/arm_neon.h +OLD_FILES+=usr/lib/clang/7.0.1/include/armintr.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx2intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512bitalgintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512bwintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512cdintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512dqintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512erintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512fintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512ifmaintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512ifmavlintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512pfintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vbmi2intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vbmiintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vbmivlintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vlbitalgintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vlbwintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vlcdintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vldqintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vlintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vlvbmi2intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vlvnniintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vnniintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vpopcntdqintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avx512vpopcntdqvlintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/avxintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/bmi2intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/bmiintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/cetintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/cldemoteintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/clflushoptintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/clwbintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/clzerointrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/cpuid.h +OLD_FILES+=usr/lib/clang/7.0.1/include/emmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/f16cintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/fma4intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/fmaintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/fxsrintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/gfniintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/htmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/htmxlintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/ia32intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/immintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/invpcidintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/lwpintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/lzcntintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/mm3dnow.h +OLD_FILES+=usr/lib/clang/7.0.1/include/mm_malloc.h +OLD_FILES+=usr/lib/clang/7.0.1/include/mmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/module.modulemap +OLD_FILES+=usr/lib/clang/7.0.1/include/movdirintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/msa.h +OLD_FILES+=usr/lib/clang/7.0.1/include/mwaitxintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/nmmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/opencl-c.h +OLD_FILES+=usr/lib/clang/7.0.1/include/pconfigintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/pkuintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/pmmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/popcntintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/prfchwintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/ptwriteintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/rdseedintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/rtmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/s390intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/sgxintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/shaintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/smmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/tbmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/tmmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/vadefs.h +OLD_FILES+=usr/lib/clang/7.0.1/include/vaesintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/vecintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/vpclmulqdqintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/waitpkgintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/wbnoinvdintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/wmmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/x86intrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/xmmintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/xopintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/xsavecintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/xsaveintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/xsaveoptintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/xsavesintrin.h +OLD_FILES+=usr/lib/clang/7.0.1/include/xtestintrin.h +OLD_DIRS+=usr/lib/clang/7.0.1/include +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan-i386.so +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan-preinit-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan-preinit-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan-x86_64.so +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan_cxx-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.asan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.msan-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.msan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.profile-arm.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.profile-armhf.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.profile-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.profile-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.safestack-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.safestack-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.stats-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.stats-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.stats_client-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.stats_client-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.tsan-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.ubsan_minimal-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.ubsan_standalone-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a +OLD_FILES+=usr/lib/clang/7.0.1/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a +OLD_DIRS+=usr/lib/clang/7.0.1/lib/freebsd +OLD_DIRS+=usr/lib/clang/7.0.1/lib +OLD_DIRS+=usr/lib/clang/7.0.1 +# 20190227: rename seq.h to seqc.h +OLD_FILES+=usr/include/sys/seq.h +# 20190222: libifconfig made INTERNALLIB +OLD_FILES+=usr/lib/libprivateifconfig.a +OLD_FILES+=usr/lib/libprivateifconfig_p.a # 20190131: pfil(9) changed OLD_FILES+=usr/share/man/man9/pfil_hook_get.9 OLD_FILES+=usr/share/man/man9/pfil_rlock.9 Modified: projects/import-googletest-1.8.1/UPDATING ============================================================================== --- projects/import-googletest-1.8.1/UPDATING Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/UPDATING Tue Mar 5 01:00:38 2019 (r344787) @@ -31,6 +31,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW: disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20190304: + Clang, llvm, lld, lldb, compiler-rt and libc++ have been upgraded to + 8.0.0. Please see the 20141231 entry below for information about + prerequisites and upgrading, if you are not already using clang 3.5.0 + or higher. + 20190219: drm and drm2 have been removed from the tree. Please see https://wiki.freebsd.org/Graphics for the latest information on Modified: projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Tue Mar 5 01:00:38 2019 (r344787) @@ -32,7 +32,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 11, 2018 +.Dd February 15, 2018 .Dt ZFS 8 .Os .Sh NAME @@ -184,7 +184,7 @@ .Ar bookmark .Nm .Cm send -.Op Fl DLPRcenpv +.Op Fl DLPRVcenpv .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Nm @@ -194,7 +194,7 @@ .Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot .Nm .Cm send -.Op Fl Penv +.Op Fl PVenv .Fl t Ar receive_resume_token .Nm .Cm receive Ns | Ns Cm recv @@ -2607,7 +2607,7 @@ feature. .It Xo .Nm .Cm send -.Op Fl DLPRcenpv +.Op Fl DLPRVcenpv .Op Fl i Ar snapshot | Fl I Ar snapshot .Ar snapshot .Xc @@ -2753,6 +2753,8 @@ Print machine-parsable verbose information about the s .It Fl v, -verbose Print verbose information about the stream package generated. This information includes a per-second report of how much data has been sent. +.It Fl V +Set the process title to a per-second report of how much data has been sent. .El .Pp The format of the stream is committed. You will be able to receive your streams Modified: projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Tue Mar 5 01:00:38 2019 (r344787) @@ -3813,7 +3813,7 @@ zfs_do_send(int argc, char **argv) }; /* check options */ - while ((c = getopt_long(argc, argv, ":i:I:RbDpvnPLet:c", long_options, + while ((c = getopt_long(argc, argv, ":i:I:RbDpVvnPLet:c", long_options, NULL)) != -1) { switch (c) { case 'i': @@ -3837,6 +3837,10 @@ zfs_do_send(int argc, char **argv) flags.parsable = B_TRUE; flags.verbose = B_TRUE; break; + case 'V': + flags.progress = B_TRUE; + flags.progressastitle = B_TRUE; + break; case 'v': if (flags.verbose) extraverbose = B_TRUE; @@ -5812,8 +5816,13 @@ zfs_do_holds(int argc, char **argv) #define CHECK_SPINNER 30 #define SPINNER_TIME 3 /* seconds */ -#define MOUNT_TIME 5 /* seconds */ +#define MOUNT_TIME 1 /* seconds */ +typedef struct get_all_state { + boolean_t ga_verbose; + get_all_cb_t *ga_cbp; +} get_all_state_t; + static int get_one_dataset(zfs_handle_t *zhp, void *data) { @@ -5821,10 +5830,10 @@ get_one_dataset(zfs_handle_t *zhp, void *data) static int spinval = 0; static int spincheck = 0; static time_t last_spin_time = (time_t)0; - get_all_cb_t *cbp = data; + get_all_state_t *state = data; zfs_type_t type = zfs_get_type(zhp); - if (cbp->cb_verbose) { + if (state->ga_verbose) { if (--spincheck < 0) { time_t now = time(NULL); if (last_spin_time + SPINNER_TIME < now) { @@ -5850,26 +5859,24 @@ get_one_dataset(zfs_handle_t *zhp, void *data) zfs_close(zhp); return (0); } - libzfs_add_handle(cbp, zhp); - assert(cbp->cb_used <= cbp->cb_alloc); + libzfs_add_handle(state->ga_cbp, zhp); + assert(state->ga_cbp->cb_used <= state->ga_cbp->cb_alloc); return (0); } static void -get_all_datasets(zfs_handle_t ***dslist, size_t *count, boolean_t verbose) +get_all_datasets(get_all_cb_t *cbp, boolean_t verbose) { - get_all_cb_t cb = { 0 }; - cb.cb_verbose = verbose; - cb.cb_getone = get_one_dataset; + get_all_state_t state = { + .ga_verbose = verbose, + .ga_cbp = cbp + }; if (verbose) set_progress_header(gettext("Reading ZFS config")); - (void) zfs_iter_root(g_zfs, get_one_dataset, &cb); + (void) zfs_iter_root(g_zfs, get_one_dataset, &state); - *dslist = cb.cb_handles; - *count = cb.cb_used; - if (verbose) finish_progress(gettext("done.")); } @@ -5879,9 +5886,20 @@ get_all_datasets(zfs_handle_t ***dslist, size_t *count * similar, we have a common function with an extra parameter to determine which * mode we are using. */ -#define OP_SHARE 0x1 -#define OP_MOUNT 0x2 +typedef enum { OP_SHARE, OP_MOUNT } share_mount_op_t; +typedef struct share_mount_state { + share_mount_op_t sm_op; + boolean_t sm_verbose; + int sm_flags; + char *sm_options; + char *sm_proto; /* only valid for OP_SHARE */ + pthread_mutex_t sm_lock; /* protects the remaining fields */ + uint_t sm_total; /* number of filesystems to process */ + uint_t sm_done; /* number of filesystems processed */ + int sm_status; /* -1 if any of the share/mount operations failed */ +} share_mount_state_t; + /* * Share or mount a dataset. */ @@ -6101,9 +6119,6 @@ report_mount_progress(int current, int total) time_t now = time(NULL); char info[32]; - /* report 1..n instead of 0..n-1 */ - ++current; - /* display header if we're here for the first time */ if (current == 1) { set_progress_header(gettext("Mounting ZFS filesystems")); @@ -6122,6 +6137,29 @@ report_mount_progress(int current, int total) update_progress(info); } +/* + * zfs_foreach_mountpoint() callback that mounts or shares on filesystem and + * updates the progress meter + */ +static int +share_mount_one_cb(zfs_handle_t *zhp, void *arg) +{ + share_mount_state_t *sms = arg; + int ret; + + ret = share_mount_one(zhp, sms->sm_op, sms->sm_flags, sms->sm_proto, + B_FALSE, sms->sm_options); + + pthread_mutex_lock(&sms->sm_lock); + if (ret != 0) + sms->sm_status = ret; + sms->sm_done++; + if (sms->sm_verbose) + report_mount_progress(sms->sm_done, sms->sm_total); + pthread_mutex_unlock(&sms->sm_lock); + return (ret); +} + static void append_options(char *mntopts, char *newopts) { @@ -6194,8 +6232,6 @@ share_mount(int op, int argc, char **argv) /* check number of arguments */ if (do_all) { - zfs_handle_t **dslist = NULL; - size_t i, count = 0; char *protocol = NULL; if (op == OP_SHARE && argc > 0) { @@ -6216,35 +6252,48 @@ share_mount(int op, int argc, char **argv) } start_progress_timer(); - get_all_datasets(&dslist, &count, verbose); + get_all_cb_t cb = { 0 }; + get_all_datasets(&cb, verbose); - if (count == 0) + if (cb.cb_used == 0) { + if (options != NULL) + free(options); return (0); + } - qsort(dslist, count, sizeof (void *), libzfs_dataset_cmp); #ifdef illumos - sa_init_selective_arg_t sharearg; - sharearg.zhandle_arr = dslist; - sharearg.zhandle_len = count; - if ((ret = zfs_init_libshare_arg(zfs_get_handle(dslist[0]), - SA_INIT_SHARE_API_SELECTIVE, &sharearg)) != SA_OK) { - (void) fprintf(stderr, - gettext("Could not initialize libshare, %d"), ret); - return (ret); + if (op == OP_SHARE) { + sa_init_selective_arg_t sharearg; + sharearg.zhandle_arr = cb.cb_handles; + sharearg.zhandle_len = cb.cb_used; + if ((ret = zfs_init_libshare_arg(g_zfs, + SA_INIT_SHARE_API_SELECTIVE, &sharearg)) != SA_OK) { + (void) fprintf(stderr, gettext( + "Could not initialize libshare, %d"), ret); + return (ret); + } } #endif + share_mount_state_t share_mount_state = { 0 }; + share_mount_state.sm_op = op; + share_mount_state.sm_verbose = verbose; + share_mount_state.sm_flags = flags; + share_mount_state.sm_options = options; + share_mount_state.sm_proto = protocol; + share_mount_state.sm_total = cb.cb_used; + pthread_mutex_init(&share_mount_state.sm_lock, NULL); - for (i = 0; i < count; i++) { - if (verbose) - report_mount_progress(i, count); + /* + * libshare isn't mt-safe, so only do the operation in parallel + * if we're mounting. + */ + zfs_foreach_mountpoint(g_zfs, cb.cb_handles, cb.cb_used, + share_mount_one_cb, &share_mount_state, op == OP_MOUNT); + ret = share_mount_state.sm_status; - if (share_mount_one(dslist[i], op, flags, protocol, - B_FALSE, options) != 0) - ret = 1; - zfs_close(dslist[i]); - } - - free(dslist); + for (int i = 0; i < cb.cb_used; i++) + zfs_close(cb.cb_handles[i]); + free(cb.cb_handles); } else if (argc == 0) { struct mnttab entry; Modified: projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Tue Mar 5 01:00:38 2019 (r344787) @@ -579,12 +579,12 @@ typedef struct get_all_cb { zfs_handle_t **cb_handles; size_t cb_alloc; size_t cb_used; - boolean_t cb_verbose; - int (*cb_getone)(zfs_handle_t *, void *); } get_all_cb_t; +void zfs_foreach_mountpoint(libzfs_handle_t *, zfs_handle_t **, size_t, + zfs_iter_f, void*, boolean_t); + void libzfs_add_handle(get_all_cb_t *, zfs_handle_t *); -int libzfs_dataset_cmp(const void *, const void *); /* * Functions to create and destroy datasets. @@ -651,6 +651,9 @@ typedef struct sendflags { /* compressed WRITE records are permitted */ boolean_t compress; + + /* show progress as process title(ie. -V) */ + boolean_t progressastitle; } sendflags_t; typedef boolean_t (snapfilter_cb_t)(zfs_handle_t *, void *); Modified: projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c ============================================================================== --- projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c Tue Mar 5 01:00:38 2019 (r344787) @@ -799,6 +799,7 @@ libzfs_mnttab_cache_compare(const void *arg1, const vo void libzfs_mnttab_init(libzfs_handle_t *hdl) { + pthread_mutex_init(&hdl->libzfs_mnttab_cache_lock, NULL); assert(avl_numnodes(&hdl->libzfs_mnttab_cache) == 0); avl_create(&hdl->libzfs_mnttab_cache, libzfs_mnttab_cache_compare, sizeof (mnttab_node_t), offsetof(mnttab_node_t, mtn_node)); @@ -839,6 +840,7 @@ libzfs_mnttab_fini(libzfs_handle_t *hdl) free(mtn); } avl_destroy(&hdl->libzfs_mnttab_cache); + (void) pthread_mutex_destroy(&hdl->libzfs_mnttab_cache_lock); } void @@ -853,6 +855,7 @@ libzfs_mnttab_find(libzfs_handle_t *hdl, const char *f { mnttab_node_t find; mnttab_node_t *mtn; + int ret = ENOENT; if (!hdl->libzfs_mnttab_enable) { struct mnttab srch = { 0 }; @@ -868,6 +871,7 @@ libzfs_mnttab_find(libzfs_handle_t *hdl, const char *f return (ENOENT); } + pthread_mutex_lock(&hdl->libzfs_mnttab_cache_lock); if (avl_numnodes(&hdl->libzfs_mnttab_cache) == 0) libzfs_mnttab_update(hdl); @@ -875,9 +879,10 @@ libzfs_mnttab_find(libzfs_handle_t *hdl, const char *f mtn = avl_find(&hdl->libzfs_mnttab_cache, &find, NULL); if (mtn) { *entry = mtn->mtn_mt; - return (0); + ret = 0; } - return (ENOENT); + pthread_mutex_unlock(&hdl->libzfs_mnttab_cache_lock); + return (ret); } void @@ -886,15 +891,17 @@ libzfs_mnttab_add(libzfs_handle_t *hdl, const char *sp { mnttab_node_t *mtn; - if (avl_numnodes(&hdl->libzfs_mnttab_cache) == 0) - return; - mtn = zfs_alloc(hdl, sizeof (mnttab_node_t)); - mtn->mtn_mt.mnt_special = zfs_strdup(hdl, special); - mtn->mtn_mt.mnt_mountp = zfs_strdup(hdl, mountp); - mtn->mtn_mt.mnt_fstype = zfs_strdup(hdl, MNTTYPE_ZFS); - mtn->mtn_mt.mnt_mntopts = zfs_strdup(hdl, mntopts); - avl_add(&hdl->libzfs_mnttab_cache, mtn); -} + pthread_mutex_lock(&hdl->libzfs_mnttab_cache_lock); + if (avl_numnodes(&hdl->libzfs_mnttab_cache) == 0) { + mtn = zfs_alloc(hdl, sizeof (mnttab_node_t)); + mtn->mtn_mt.mnt_special = zfs_strdup(hdl, special); + mtn->mtn_mt.mnt_mountp = zfs_strdup(hdl, mountp); + mtn->mtn_mt.mnt_fstype = zfs_strdup(hdl, MNTTYPE_ZFS); + mtn->mtn_mt.mnt_mntopts = zfs_strdup(hdl, mntopts); + avl_add(&hdl->libzfs_mnttab_cache, mtn); + } + pthread_mutex_unlock(&hdl->libzfs_mnttab_cache_lock); +} void libzfs_mnttab_remove(libzfs_handle_t *hdl, const char *fsname) @@ -902,6 +909,7 @@ libzfs_mnttab_remove(libzfs_handle_t *hdl, const char mnttab_node_t find; mnttab_node_t *ret; + pthread_mutex_lock(&hdl->libzfs_mnttab_cache_lock); find.mtn_mt.mnt_special = (char *)fsname; if ((ret = avl_find(&hdl->libzfs_mnttab_cache, (void *)&find, NULL)) != NULL) { @@ -912,6 +920,7 @@ libzfs_mnttab_remove(libzfs_handle_t *hdl, const char free(ret->mtn_mt.mnt_mntopts); free(ret); } + pthread_mutex_unlock(&hdl->libzfs_mnttab_cache_lock); } int Modified: projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h ============================================================================== --- projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h Tue Mar 5 01:00:38 2019 (r344787) @@ -22,7 +22,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2011 Pawel Jakub Dawidek. All rights reserved. - * Copyright (c) 2011, 2016 by Delphix. All rights reserved. + * Copyright (c) 2011, 2017 by Delphix. All rights reserved. * Copyright (c) 2013 Martin Matuska . All rights reserved. */ @@ -73,6 +73,13 @@ struct libzfs_handle { int libzfs_storeerr; /* stuff error messages into buffer */ void *libzfs_sharehdl; /* libshare handle */ boolean_t libzfs_mnttab_enable; + /* + * We need a lock to handle the case where parallel mount + * threads are populating the mnttab cache simultaneously. The + * lock only protects the integrity of the avl tree, and does + * not protect the contents of the mnttab entries themselves. + */ + pthread_mutex_t libzfs_mnttab_cache_lock; avl_tree_t libzfs_mnttab_cache; int libzfs_pool_iter; libzfs_fru_t **libzfs_fru_hash; Modified: projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c ============================================================================== --- projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c Tue Mar 5 00:27:54 2019 (r344786) +++ projects/import-googletest-1.8.1/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c Tue Mar 5 01:00:38 2019 (r344787) @@ -26,6 +26,7 @@ * Copyright 2016 Igor Kozhukhov * Copyright 2017 Joyent, Inc. * Copyright 2017 RackTop Systems. + * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. */ /* @@ -34,25 +35,25 @@ * they are used by mount and unmount and when changing a filesystem's * mountpoint. * - * zfs_is_mounted() - * zfs_mount() - * zfs_unmount() - * zfs_unmountall() + * zfs_is_mounted() + * zfs_mount() + * zfs_unmount() + * zfs_unmountall() * * This file also contains the functions used to manage sharing filesystems via * NFS and iSCSI: * - * zfs_is_shared() - * zfs_share() - * zfs_unshare() + * zfs_is_shared() + * zfs_share() + * zfs_unshare() * - * zfs_is_shared_nfs() - * zfs_is_shared_smb() - * zfs_share_proto() - * zfs_shareall(); - * zfs_unshare_nfs() - * zfs_unshare_smb() - * zfs_unshareall_nfs() + * zfs_is_shared_nfs() + * zfs_is_shared_smb() + * zfs_share_proto() + * zfs_shareall(); + * zfs_unshare_nfs() + * zfs_unshare_smb() + * zfs_unshareall_nfs() * zfs_unshareall_smb() * zfs_unshareall() * zfs_unshareall_bypath() @@ -60,8 +61,8 @@ * The following functions are available for pool consumers, and will * mount/unmount and share/unshare all datasets within pool: * - * zpool_enable_datasets() - * zpool_disable_datasets() + * zpool_enable_datasets() + * zpool_disable_datasets() */ #include @@ -83,10 +84,14 @@ #include #include "libzfs_impl.h" +#include #include #define MAXISALEN 257 /* based on sysinfo(2) man page */ +static int mount_tp_nthr = 512; /* tpool threads for multi-threaded mounting */ + +static void zfs_mount_task(void *); static int zfs_share_proto(zfs_handle_t *, zfs_share_proto_t *); zfs_share_type_t zfs_is_shared_proto(zfs_handle_t *, char **, zfs_share_proto_t); @@ -1134,25 +1139,32 @@ remove_mountpoint(zfs_handle_t *zhp) } } +/* + * Add the given zfs handle to the cb_handles array, dynamically reallocating + * the array if it is out of space + */ void libzfs_add_handle(get_all_cb_t *cbp, zfs_handle_t *zhp) { if (cbp->cb_alloc == cbp->cb_used) { size_t newsz; - void *ptr; + zfs_handle_t **newhandles; - newsz = cbp->cb_alloc ? cbp->cb_alloc * 2 : 64; - ptr = zfs_realloc(zhp->zfs_hdl, - cbp->cb_handles, cbp->cb_alloc * sizeof (void *), - newsz * sizeof (void *)); - cbp->cb_handles = ptr; + newsz = cbp->cb_alloc != 0 ? cbp->cb_alloc * 2 : 64; + newhandles = zfs_realloc(zhp->zfs_hdl, + cbp->cb_handles, cbp->cb_alloc * sizeof (zfs_handle_t *), + newsz * sizeof (zfs_handle_t *)); + cbp->cb_handles = newhandles; cbp->cb_alloc = newsz; } cbp->cb_handles[cbp->cb_used++] = zhp; } +/* + * Recursive helper function used during file system enumeration + */ static int -mount_cb(zfs_handle_t *zhp, void *data) +zfs_iter_cb(zfs_handle_t *zhp, void *data) { get_all_cb_t *cbp = data; @@ -1178,104 +1190,362 @@ mount_cb(zfs_handle_t *zhp, void *data) } libzfs_add_handle(cbp, zhp); - if (zfs_iter_filesystems(zhp, mount_cb, cbp) != 0) { + if (zfs_iter_filesystems(zhp, zfs_iter_cb, cbp) != 0) { zfs_close(zhp); return (-1); } return (0); } -int -libzfs_dataset_cmp(const void *a, const void *b) +/* + * Sort comparator that compares two mountpoint paths. We sort these paths so + * that subdirectories immediately follow their parents. This means that we + * effectively treat the '/' character as the lowest value non-nul char. + * Since filesystems from non-global zones can have the same mountpoint + * as other filesystems, the comparator sorts global zone filesystems to + * the top of the list. This means that the global zone will traverse the + * filesystem list in the correct order and can stop when it sees the + * first zoned filesystem. In a non-global zone, only the delegated + * filesystems are seen. + * + * An example sorted list using this comparator would look like: + * + * /foo + * /foo/bar + * /foo/bar/baz + * /foo/baz + * /foo.bar + * /foo (NGZ1) + * /foo (NGZ2) + * + * The mount code depend on this ordering to deterministically iterate + * over filesystems in order to spawn parallel mount tasks. + */ +static int +mountpoint_cmp(const void *arga, const void *argb) { - zfs_handle_t **za = (zfs_handle_t **)a; - zfs_handle_t **zb = (zfs_handle_t **)b; + zfs_handle_t *const *zap = arga; + zfs_handle_t *za = *zap; + zfs_handle_t *const *zbp = argb; + zfs_handle_t *zb = *zbp; char mounta[MAXPATHLEN]; char mountb[MAXPATHLEN]; + const char *a = mounta; + const char *b = mountb; boolean_t gota, gotb; + uint64_t zoneda, zonedb; - if ((gota = (zfs_get_type(*za) == ZFS_TYPE_FILESYSTEM)) != 0) - verify(zfs_prop_get(*za, ZFS_PROP_MOUNTPOINT, mounta, + zoneda = zfs_prop_get_int(za, ZFS_PROP_ZONED); + zonedb = zfs_prop_get_int(zb, ZFS_PROP_ZONED); + if (zoneda && !zonedb) + return (1); + if (!zoneda && zonedb) + return (-1); + gota = (zfs_get_type(za) == ZFS_TYPE_FILESYSTEM); + if (gota) + verify(zfs_prop_get(za, ZFS_PROP_MOUNTPOINT, mounta, sizeof (mounta), NULL, NULL, 0, B_FALSE) == 0); - if ((gotb = (zfs_get_type(*zb) == ZFS_TYPE_FILESYSTEM)) != 0) - verify(zfs_prop_get(*zb, ZFS_PROP_MOUNTPOINT, mountb, + gotb = (zfs_get_type(zb) == ZFS_TYPE_FILESYSTEM); + if (gotb) + verify(zfs_prop_get(zb, ZFS_PROP_MOUNTPOINT, mountb, sizeof (mountb), NULL, NULL, 0, B_FALSE) == 0); - if (gota && gotb) - return (strcmp(mounta, mountb)); + if (gota && gotb) { + while (*a != '\0' && (*a == *b)) { + a++; + b++; + } + if (*a == *b) + return (0); + if (*a == '\0') + return (-1); + if (*b == '\0') + return (1); + if (*a == '/') + return (-1); + if (*b == '/') + return (1); + return (*a < *b ? -1 : *a > *b); + } if (gota) return (-1); if (gotb) return (1); - return (strcmp(zfs_get_name(a), zfs_get_name(b))); + /* + * If neither filesystem has a mountpoint, revert to sorting by + * datset name. + */ + return (strcmp(zfs_get_name(za), zfs_get_name(zb))); } /* + * Reutrn true if path2 is a child of path1 + */ +static boolean_t +libzfs_path_contains(const char *path1, const char *path2) +{ + return (strstr(path2, path1) == path2 && path2[strlen(path1)] == '/'); +} + + +static int +non_descendant_idx(zfs_handle_t **handles, size_t num_handles, int idx) +{ + char parent[ZFS_MAXPROPLEN]; + char child[ZFS_MAXPROPLEN]; + int i; + + verify(zfs_prop_get(handles[idx], ZFS_PROP_MOUNTPOINT, parent, + sizeof (parent), NULL, NULL, 0, B_FALSE) == 0); + + for (i = idx + 1; i < num_handles; i++) { + verify(zfs_prop_get(handles[i], ZFS_PROP_MOUNTPOINT, child, + sizeof (child), NULL, NULL, 0, B_FALSE) == 0); + if (!libzfs_path_contains(parent, child)) + break; + } + return (i); +} + +typedef struct mnt_param { + libzfs_handle_t *mnt_hdl; + tpool_t *mnt_tp; + zfs_handle_t **mnt_zhps; /* filesystems to mount */ + size_t mnt_num_handles; + int mnt_idx; /* Index of selected entry to mount */ + zfs_iter_f mnt_func; + void *mnt_data; +} mnt_param_t; + +/* + * Allocate and populate the parameter struct for mount function, and + * schedule mounting of the entry selected by idx. + */ +static void +zfs_dispatch_mount(libzfs_handle_t *hdl, zfs_handle_t **handles, + size_t num_handles, int idx, zfs_iter_f func, void *data, tpool_t *tp) +{ + mnt_param_t *mnt_param = zfs_alloc(hdl, sizeof (mnt_param_t)); + + mnt_param->mnt_hdl = hdl; + mnt_param->mnt_tp = tp; + mnt_param->mnt_zhps = handles; + mnt_param->mnt_num_handles = num_handles; + mnt_param->mnt_idx = idx; + mnt_param->mnt_func = func; + mnt_param->mnt_data = data; + + (void) tpool_dispatch(tp, zfs_mount_task, (void*)mnt_param); +} + +/* + * This is the structure used to keep state of mounting or sharing operations + * during a call to zpool_enable_datasets(). + */ +typedef struct mount_state { + /* + * ms_mntstatus is set to -1 if any mount fails. While multiple threads + * could update this variable concurrently, no synchronization is + * needed as it's only ever set to -1. + */ + int ms_mntstatus; + int ms_mntflags; + const char *ms_mntopts; +} mount_state_t; + +static int +zfs_mount_one(zfs_handle_t *zhp, void *arg) +{ + mount_state_t *ms = arg; + int ret = 0; + + if (zfs_mount(zhp, ms->ms_mntopts, ms->ms_mntflags) != 0) + ret = ms->ms_mntstatus = -1; + return (ret); +} + +static int +zfs_share_one(zfs_handle_t *zhp, void *arg) +{ + mount_state_t *ms = arg; + int ret = 0; + + if (zfs_share(zhp) != 0) + ret = ms->ms_mntstatus = -1; + return (ret); +} + +/* + * Thread pool function to mount one file system. On completion, it finds and + * schedules its children to be mounted. This depends on the sorting done in + * zfs_foreach_mountpoint(). Note that the degenerate case (chain of entries + * each descending from the previous) will have no parallelism since we always + * have to wait for the parent to finish mounting before we can schedule + * its children. + */ +static void +zfs_mount_task(void *arg) +{ + mnt_param_t *mp = arg; + int idx = mp->mnt_idx; + zfs_handle_t **handles = mp->mnt_zhps; + size_t num_handles = mp->mnt_num_handles; + char mountpoint[ZFS_MAXPROPLEN]; + + verify(zfs_prop_get(handles[idx], ZFS_PROP_MOUNTPOINT, mountpoint, + sizeof (mountpoint), NULL, NULL, 0, B_FALSE) == 0); + + if (mp->mnt_func(handles[idx], mp->mnt_data) != 0) + return; + + /* + * We dispatch tasks to mount filesystems with mountpoints underneath + * this one. We do this by dispatching the next filesystem with a + * descendant mountpoint of the one we just mounted, then skip all of + * its descendants, dispatch the next descendant mountpoint, and so on. + * The non_descendant_idx() function skips over filesystems that are + * descendants of the filesystem we just dispatched. + */ + for (int i = idx + 1; i < num_handles; + i = non_descendant_idx(handles, num_handles, i)) { + char child[ZFS_MAXPROPLEN]; + verify(zfs_prop_get(handles[i], ZFS_PROP_MOUNTPOINT, + child, sizeof (child), NULL, NULL, 0, B_FALSE) == 0); + + if (!libzfs_path_contains(mountpoint, child)) + break; /* not a descendant, return */ + zfs_dispatch_mount(mp->mnt_hdl, handles, num_handles, i, + mp->mnt_func, mp->mnt_data, mp->mnt_tp); + } + free(mp); +} + +/* + * Issue the func callback for each ZFS handle contained in the handles + * array. This function is used to mount all datasets, and so this function + * guarantees that filesystems for parent mountpoints are called before their + * children. As such, before issuing any callbacks, we first sort the array + * of handles by mountpoint. + * + * Callbacks are issued in one of two ways: + * + * 1. Sequentially: If the parallel argument is B_FALSE or the ZFS_SERIAL_MOUNT + * environment variable is set, then we issue callbacks sequentially. + * + * 2. In parallel: If the parallel argument is B_TRUE and the ZFS_SERIAL_MOUNT + * environment variable is not set, then we use a tpool to dispatch threads + * to mount filesystems in parallel. This function dispatches tasks to mount + * the filesystems at the top-level mountpoints, and these tasks in turn + * are responsible for recursively mounting filesystems in their children + * mountpoints. + */ +void +zfs_foreach_mountpoint(libzfs_handle_t *hdl, zfs_handle_t **handles, + size_t num_handles, zfs_iter_f func, void *data, boolean_t parallel) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Tue Mar 5 03:27:35 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 027F7150DA16 for ; Tue, 5 Mar 2019 03:27:35 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A37887334E; Tue, 5 Mar 2019 03:27:34 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 93586E1BF; Tue, 5 Mar 2019 03:27:34 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x253RYW6068768; Tue, 5 Mar 2019 03:27:34 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x253RWCe068758; Tue, 5 Mar 2019 03:27:32 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903050327.x253RWCe068758@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 5 Mar 2019 03:27:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344789 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344789 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A37887334E X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.973,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2019 03:27:35 -0000 Author: asomers Date: Tue Mar 5 03:27:32 2019 New Revision: 344789 URL: https://svnweb.freebsd.org/changeset/base/344789 Log: fuse(4): combine some common code in the tests Sponsored by: The FreeBSD Foundation Modified: projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/create.cc projects/fuse2/tests/sys/fs/fuse/getattr.cc projects/fuse2/tests/sys/fs/fuse/lookup.cc projects/fuse2/tests/sys/fs/fuse/mknod.cc projects/fuse2/tests/sys/fs/fuse/mockfs.cc projects/fuse2/tests/sys/fs/fuse/mockfs.hh projects/fuse2/tests/sys/fs/fuse/open.cc projects/fuse2/tests/sys/fs/fuse/readlink.cc projects/fuse2/tests/sys/fs/fuse/setattr.cc projects/fuse2/tests/sys/fs/fuse/symlink.cc Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Tue Mar 5 03:27:32 2019 (r344789) @@ -7,6 +7,7 @@ TESTSDIR= ${TESTSBASE}/sys/fs/fuse ATF_TESTS_CXX+= create ATF_TESTS_CXX+= getattr ATF_TESTS_CXX+= lookup +#ATF_TESTS_CXX+= mkdir ATF_TESTS_CXX+= mknod ATF_TESTS_CXX+= open ATF_TESTS_CXX+= readlink @@ -27,6 +28,11 @@ SRCS.lookup+= getmntopts.c SRCS.lookup+= lookup.cc SRCS.lookup+= mockfs.cc SRCS.lookup+= utils.cc + +#SRCS.mkdir+= getmntopts.c +#SRCS.mkdir+= mockfs.cc +#SRCS.mkdir+= mkdir.cc +#SRCS.mkdir+= utils.cc SRCS.mknod+= getmntopts.c SRCS.mknod+= mockfs.cc Modified: projects/fuse2/tests/sys/fs/fuse/create.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/create.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/create.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -51,17 +51,7 @@ TEST_F(Create, DISABLED_attr_cache) uint64_t ino = 42; int fd; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -104,17 +94,7 @@ TEST_F(Create, eexist) const char RELPATH[] = "some_file.txt"; mode_t mode = 0755; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -124,11 +104,7 @@ TEST_F(Create, eexist) (0 == strcmp(RELPATH, name))); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -EEXIST; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(EEXIST))); EXPECT_NE(0, open(FULLPATH, O_CREAT | O_EXCL, mode)); EXPECT_EQ(EEXIST, errno); } @@ -146,17 +122,7 @@ TEST_F(Create, DISABLED_Enosys) uint64_t ino = 42; int fd; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -166,11 +132,7 @@ TEST_F(Create, DISABLED_Enosys) (0 == strcmp(RELPATH, name))); }, Eq(true)), _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOSYS; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(ENOSYS))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -235,13 +197,7 @@ TEST_F(Create, DISABLED_entry_cache_negative) int fd; /* create will first do a LOOKUP, adding a negative cache entry */ - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { /* nodeid means ENOENT and cache it */ out->body.entry.nodeid = 0; out->header.unique = in->header.unique; @@ -304,13 +260,7 @@ TEST_F(Create, DISABLED_entry_cache_negative_purge) int fd; /* create will first do a LOOKUP, adding a negative cache entry */ - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).Times(1) + EXPECT_LOOKUP(RELPATH).Times(1) .WillOnce(Invoke([=](auto in, auto out) { /* nodeid means ENOENT and cache it */ out->body.entry.nodeid = 0; @@ -355,13 +305,7 @@ TEST_F(Create, DISABLED_entry_cache_negative_purge) ASSERT_LE(0, fd) << strerror(errno); /* Finally, a subsequent lookup should query the daemon */ - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).Times(1) + EXPECT_LOOKUP(RELPATH).Times(1) .WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; @@ -384,17 +328,7 @@ TEST_F(Create, eperm) const char RELPATH[] = "some_file.txt"; mode_t mode = 0755; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -404,11 +338,7 @@ TEST_F(Create, eperm) (0 == strcmp(RELPATH, name))); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -EPERM; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(EPERM))); EXPECT_NE(0, open(FULLPATH, O_CREAT | O_EXCL, mode)); EXPECT_EQ(EPERM, errno); } @@ -421,17 +351,7 @@ TEST_F(Create, ok) uint64_t ino = 42; int fd; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { Modified: projects/fuse2/tests/sys/fs/fuse/getattr.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/getattr.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/getattr.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -47,13 +47,7 @@ TEST_F(Getattr, DISABLED_attr_cache) const uint64_t generation = 13; struct stat sb; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillRepeatedly(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -97,13 +91,7 @@ TEST_F(Getattr, attr_cache_timeout) */ long timeout_ns = 250'000'000; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillRepeatedly(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.entry_valid = UINT64_MAX; @@ -139,13 +127,7 @@ TEST_F(Getattr, enoent) struct stat sb; const uint64_t ino = 42; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = 0100644; @@ -158,11 +140,7 @@ TEST_F(Getattr, enoent) in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_NE(0, stat(FULLPATH, &sb)); EXPECT_EQ(ENOENT, errno); } @@ -175,13 +153,7 @@ TEST_F(Getattr, ok) const uint64_t generation = 13; struct stat sb; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Modified: projects/fuse2/tests/sys/fs/fuse/lookup.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/lookup.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/lookup.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -50,13 +50,7 @@ TEST_F(Lookup, DISABLED_attr_cache) const uint64_t ino = 42; struct stat sb; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.nodeid = ino; @@ -121,13 +115,7 @@ TEST_F(Lookup, attr_cache_timeout) */ long timeout_ns = 250'000'000; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillRepeatedly(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.nodeid = ino; @@ -157,17 +145,11 @@ TEST_F(Lookup, attr_cache_timeout) TEST_F(Lookup, enoent) { - EXPECT_CALL(*m_mock, process( - ResultOf([](auto in) { - return (in->header.opcode == FUSE_LOOKUP); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); - EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); + const char FULLPATH[] = "mountpoint/does_not_exist"; + const char RELPATH[] = "does_not_exist"; + + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_NE(0, access(FULLPATH, F_OK)); EXPECT_EQ(ENOENT, errno); } @@ -180,13 +162,7 @@ TEST_F(Lookup, entry_cache) const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.entry_valid = UINT64_MAX; @@ -205,12 +181,7 @@ TEST_F(Lookup, entry_cache) /* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236226 */ TEST_F(Lookup, DISABLED_entry_cache_negative) { - EXPECT_CALL(*m_mock, process( - ResultOf([](auto in) { - return (in->header.opcode == FUSE_LOOKUP); - }, Eq(true)), - _) - ).Times(1) + EXPECT_LOOKUP("does_not_exist").Times(1) .WillOnce(Invoke([](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; @@ -227,18 +198,15 @@ TEST_F(Lookup, DISABLED_entry_cache_negative) /* Negative entry caches should timeout, too */ TEST_F(Lookup, entry_cache_negative_timeout) { + const char *RELPATH = "does_not_exist"; + const char *FULLPATH = "mountpoint/does_not_exist"; /* * The timeout should be longer than the longest plausible time the * daemon would take to complete a write(2) to /dev/fuse, but no longer. */ long timeout_ns = 250'000'000; - EXPECT_CALL(*m_mock, process( - ResultOf([](auto in) { - return (in->header.opcode == FUSE_LOOKUP); - }, Eq(true)), - _) - ).Times(2) + EXPECT_LOOKUP(RELPATH).Times(2) .WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; @@ -246,13 +214,13 @@ TEST_F(Lookup, entry_cache_negative_timeout) out->body.entry.entry_valid_nsec = timeout_ns; SET_OUT_HEADER_LEN(out, entry); })); - EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); + EXPECT_NE(0, access(FULLPATH, F_OK)); EXPECT_EQ(ENOENT, errno); usleep(2 * timeout_ns / 1000); /* The cache has timed out; VOP_LOOKUP should requery the daemon*/ - EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); + EXPECT_NE(0, access(FULLPATH, F_OK)); EXPECT_EQ(ENOENT, errno); } @@ -271,13 +239,7 @@ TEST_F(Lookup, DISABLED_entry_cache_timeout) */ long timeout_ns = 250'000'000; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).Times(2) + EXPECT_LOOKUP(RELPATH).Times(2) .WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); @@ -296,13 +258,7 @@ TEST_F(Lookup, ok) const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Modified: projects/fuse2/tests/sys/fs/fuse/mknod.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mknod.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/mknod.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -54,17 +54,7 @@ void test_ok(mode_t mode, dev_t dev) { const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -118,17 +108,7 @@ TEST_F(Mknod, DISABLED_eperm) const char RELPATH[] = "some_file.txt"; mode_t mode = S_IFIFO | 0755; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -139,11 +119,7 @@ TEST_F(Mknod, DISABLED_eperm) (0 == strcmp(RELPATH, name))); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -EPERM; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(EPERM))); EXPECT_NE(0, mknod(FULLPATH, mode, 0)); EXPECT_EQ(EPERM, errno); } Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -102,6 +102,16 @@ const char* opcode2opname(uint32_t opcode) return (table[opcode]); } +std::function +ReturnErrno(int error) +{ + return([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = -error; + out->header.len = sizeof(out->header); + }); +} + void sigint_handler(int __unused sig) { quit = 1; } Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Tue Mar 5 03:27:32 2019 (r344789) @@ -42,6 +42,22 @@ extern "C" { sizeof((out)->body.variant)); \ } +/* + * Create an expectation on FUSE_LOOKUP and return it so the caller can set + * actions. + * + * This must be a macro instead of a method because EXPECT_CALL returns a type + * with a deleted constructor. + */ +#define EXPECT_LOOKUP(path) \ + EXPECT_CALL(*m_mock, process( \ + ResultOf([=](auto in) { \ + return (in->header.opcode == FUSE_LOOKUP && \ + strcmp(in->body.lookup, (path)) == 0); \ + }, Eq(true)), \ + _) \ + ) + extern int verbosity; /* This struct isn't defined by fuse_kernel.h or libfuse, but it should be */ @@ -83,6 +99,13 @@ struct mockfs_buf_out { fuse_out_header header; union fuse_payloads_out body; }; + +/* + * Helper function used for setting an error expectation for any fuse operation. + * The operation will return the supplied error + */ +std::function +ReturnErrno(int error); /* * Fake FUSE filesystem Modified: projects/fuse2/tests/sys/fs/fuse/open.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/open.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/open.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -49,13 +49,7 @@ TEST_F(Open, enoent) const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -68,11 +62,7 @@ TEST_F(Open, enoent) in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_NE(0, open(FULLPATH, O_RDONLY)); EXPECT_EQ(ENOENT, errno); } @@ -87,13 +77,7 @@ TEST_F(Open, eperm) const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -106,11 +90,7 @@ TEST_F(Open, eperm) in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -EPERM; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(EPERM))); EXPECT_NE(0, open(FULLPATH, O_RDONLY)); EXPECT_EQ(EPERM, errno); } @@ -122,13 +102,7 @@ TEST_F(Open, ok) uint64_t ino = 42; int fd; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Modified: projects/fuse2/tests/sys/fs/fuse/readlink.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/readlink.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/readlink.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -45,13 +45,7 @@ TEST_F(Readlink, eloop) const uint64_t ino = 42; char buf[80]; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFLNK | 0777; @@ -64,13 +58,8 @@ TEST_F(Readlink, eloop) in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ELOOP; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(ELOOP))); - EXPECT_EQ(-1, readlink(FULLPATH, buf, sizeof(buf))); EXPECT_EQ(ELOOP, errno); } @@ -83,13 +72,7 @@ TEST_F(Readlink, ok) const uint64_t ino = 42; char buf[80]; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFLNK | 0777; Modified: projects/fuse2/tests/sys/fs/fuse/setattr.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/setattr.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/setattr.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -50,13 +50,7 @@ TEST_F(Setattr, chmod) const mode_t oldmode = 0755; const mode_t newmode = 0644; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | oldmode; @@ -94,13 +88,7 @@ TEST_F(Setattr, chown) const uid_t olduser = 33; const uid_t newuser = 44; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -144,13 +132,7 @@ TEST_F(Setattr, eperm) const char RELPATH[] = "some_file.txt"; const uint64_t ino = 42; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0777; @@ -165,11 +147,7 @@ TEST_F(Setattr, eperm) in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -EPERM; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(EPERM))); EXPECT_NE(0, truncate(FULLPATH, 10)); EXPECT_EQ(EPERM, errno); } @@ -184,13 +162,7 @@ TEST_F(Setattr, fchmod) const mode_t oldmode = 0755; const mode_t newmode = 0644; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | oldmode; @@ -258,13 +230,7 @@ TEST_F(Setattr, ftruncate) const off_t oldsize = 99; const off_t newsize = 12345; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0755; @@ -333,13 +299,7 @@ TEST_F(Setattr, truncate) { const uint64_t oldsize = 100'000'000; const uint64_t newsize = 20'000'000; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -381,13 +341,7 @@ TEST_F(Setattr, utimensat) { {.tv_sec = 7, .tv_nsec = 8}, }; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -463,13 +417,7 @@ TEST_F(Setattr, utimensat_mtime_only) { {.tv_sec = 7, .tv_nsec = 8}, }; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Modified: projects/fuse2/tests/sys/fs/fuse/symlink.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/symlink.cc Tue Mar 5 02:53:41 2019 (r344788) +++ projects/fuse2/tests/sys/fs/fuse/symlink.cc Tue Mar 5 03:27:32 2019 (r344789) @@ -43,19 +43,8 @@ TEST_F(Symlink, enospc) const char FULLPATH[] = "mountpoint/lnk"; const char RELPATH[] = "lnk"; const char dst[] = "dst"; - //const uint64_t ino = 42; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -84,17 +73,7 @@ TEST_F(Symlink, ok) const char dst[] = "dst"; const uint64_t ino = 42; - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_LOOKUP && - strcmp(in->body.lookup, RELPATH) == 0); - }, Eq(true)), - _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOENT; - out->header.len = sizeof(out->header); - })); + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { From owner-svn-src-projects@freebsd.org Tue Mar 5 18:53:30 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 39634150D5FD for ; Tue, 5 Mar 2019 18:53:30 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D29F282A5C; Tue, 5 Mar 2019 18:53:29 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id ADDCB2032C; Tue, 5 Mar 2019 18:53:29 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x25IrTrI057375; Tue, 5 Mar 2019 18:53:29 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x25IrSlT057371; Tue, 5 Mar 2019 18:53:28 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903051853.x25IrSlT057371@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 5 Mar 2019 18:53:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344812 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344812 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: D29F282A5C X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.970,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2019 18:53:30 -0000 Author: asomers Date: Tue Mar 5 18:53:28 2019 New Revision: 344812 URL: https://svnweb.freebsd.org/changeset/base/344812 Log: fuse(4): add tests for FUSE_MKDIR and FUSE_ACCESS PR: 236291 PR: 236231 Sponsored by: The FreeBSD Foundation Added: projects/fuse2/tests/sys/fs/fuse/access.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/mkdir.cc (contents, props changed) Modified: projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/mockfs.hh Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Tue Mar 5 18:52:13 2019 (r344811) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Tue Mar 5 18:53:28 2019 (r344812) @@ -4,16 +4,22 @@ PACKAGE= tests TESTSDIR= ${TESTSBASE}/sys/fs/fuse +ATF_TESTS_CXX+= access ATF_TESTS_CXX+= create ATF_TESTS_CXX+= getattr ATF_TESTS_CXX+= lookup -#ATF_TESTS_CXX+= mkdir +ATF_TESTS_CXX+= mkdir ATF_TESTS_CXX+= mknod ATF_TESTS_CXX+= open ATF_TESTS_CXX+= readlink ATF_TESTS_CXX+= setattr ATF_TESTS_CXX+= symlink +SRCS.access+= access.cc +SRCS.access+= getmntopts.c +SRCS.access+= mockfs.cc +SRCS.access+= utils.cc + SRCS.create+= create.cc SRCS.create+= getmntopts.c SRCS.create+= mockfs.cc @@ -29,10 +35,10 @@ SRCS.lookup+= lookup.cc SRCS.lookup+= mockfs.cc SRCS.lookup+= utils.cc -#SRCS.mkdir+= getmntopts.c -#SRCS.mkdir+= mockfs.cc -#SRCS.mkdir+= mkdir.cc -#SRCS.mkdir+= utils.cc +SRCS.mkdir+= getmntopts.c +SRCS.mkdir+= mockfs.cc +SRCS.mkdir+= mkdir.cc +SRCS.mkdir+= utils.cc SRCS.mknod+= getmntopts.c SRCS.mknod+= mockfs.cc Added: projects/fuse2/tests/sys/fs/fuse/access.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/access.cc Tue Mar 5 18:53:28 2019 (r344812) @@ -0,0 +1,99 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +//#include +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Access: public FuseTest {}; + +/* TODO: test methods for the default_permissions mount option */ + +/* The error case of FUSE_ACCESS. */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236291 */ +TEST_F(Access, DISABLED_eaccess) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + mode_t access_mode = X_OK; + + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + })); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_ACCESS && + in->header.nodeid == ino && + in->body.access.mask == access_mode); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(EACCES))); + + + ASSERT_NE(0, access(FULLPATH, access_mode)); + ASSERT_EQ(EACCES, errno); +} + +/* The successful case of FUSE_ACCESS. */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236291 */ +TEST_F(Access, DISABLED_ok) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + mode_t access_mode = R_OK; + + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + })); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_ACCESS && + in->header.nodeid == ino && + in->body.access.mask == access_mode); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(0))); + + ASSERT_EQ(0, access(FULLPATH, access_mode)) << strerror(errno); +} Added: projects/fuse2/tests/sys/fs/fuse/mkdir.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/mkdir.cc Tue Mar 5 18:53:28 2019 (r344812) @@ -0,0 +1,198 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Mkdir: public FuseTest {}; + +/* + * EMLINK is possible on filesystems that limit the number of hard links to a + * single file, like early versions of BtrFS + */ +TEST_F(Mkdir, emlink) +{ + const char FULLPATH[] = "mountpoint/some_dir"; + const char RELPATH[] = "some_dir"; + mode_t mode = 0755; + + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_mkdir_in); + return (in->header.opcode == FUSE_MKDIR && + in->body.mkdir.mode == (S_IFDIR | mode) && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(EMLINK))); + + ASSERT_NE(1, mkdir(FULLPATH, mode)); + ASSERT_EQ(EMLINK, errno); +} + +/* + * Creating a new directory after FUSE_LOOKUP returned a negative cache entry + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236231 */ +TEST_F(Mkdir, DISABLED_entry_cache_negative) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + uint64_t ino = 42; + + /* mkdir will first do a LOOKUP, adding a negative cache entry */ + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + /* nodeid means ENOENT and cache it */ + out->body.entry.nodeid = 0; + out->header.unique = in->header.unique; + out->header.error = 0; + /* + * Set entry_valid = 0 because this test isn't concerned with + * whether or not we actually cache negative entries, only with + * whether we interpret negative cache responses correctly. + */ + out->body.entry.entry_valid = 0; + SET_OUT_HEADER_LEN(out, entry); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_MKDIR && + in->body.mkdir.mode == (S_IFDIR | mode) && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.create.entry.attr.mode = S_IFDIR | mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.entry_valid = UINT64_MAX; + out->body.create.entry.attr_valid = UINT64_MAX; + })); + + ASSERT_EQ(0, mkdir(FULLPATH, mode)) << strerror(errno); +} + +/* + * Creating a new directory should purge any negative namecache entries + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236231 */ +TEST_F(Mkdir, DISABLED_entry_cache_negative_purge) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + mode_t mode = 0755; + uint64_t ino = 42; + + /* mkdir will first do a LOOKUP, adding a negative cache entry */ + EXPECT_LOOKUP(RELPATH).Times(1) + .WillOnce(Invoke([=](auto in, auto out) { + /* nodeid means ENOENT and cache it */ + out->body.entry.nodeid = 0; + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.entry_valid = UINT64_MAX; + SET_OUT_HEADER_LEN(out, entry); + })).RetiresOnSaturation(); + + /* Then the MKDIR should purge the negative cache entry */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_open_in); + return (in->header.opcode == FUSE_MKDIR && + in->body.mkdir.mode == (S_IFDIR | mode) && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFDIR | mode; + out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; + })); + + ASSERT_EQ(0, mkdir(FULLPATH, mode)) << strerror(errno); + + /* Finally, a subsequent lookup should query the daemon */ + EXPECT_LOOKUP(RELPATH).Times(1) + .WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.nodeid = ino; + out->body.entry.attr.mode = S_IFDIR | mode; + SET_OUT_HEADER_LEN(out, entry); + })); + + ASSERT_EQ(0, access(FULLPATH, F_OK)) << strerror(errno); +} + +TEST_F(Mkdir, ok) +{ + const char FULLPATH[] = "mountpoint/some_dir"; + const char RELPATH[] = "some_dir"; + mode_t mode = 0755; + uint64_t ino = 42; + + EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(fuse_mkdir_in); + return (in->header.opcode == FUSE_MKDIR && + in->body.mkdir.mode == (S_IFDIR | mode) && + (0 == strcmp(RELPATH, name))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.create.entry.attr.mode = S_IFDIR | mode; + out->body.create.entry.nodeid = ino; + out->body.create.entry.entry_valid = UINT64_MAX; + out->body.create.entry.attr_valid = UINT64_MAX; + })); + + ASSERT_EQ(0, mkdir(FULLPATH, mode)) << strerror(errno); +} Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Tue Mar 5 18:52:13 2019 (r344811) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Tue Mar 5 18:53:28 2019 (r344812) @@ -67,11 +67,13 @@ struct fuse_create_out { }; union fuse_payloads_in { + fuse_access_in access; /* value is from fuse_kern_chan.c in fusefs-libs */ uint8_t bytes[0x21000 - sizeof(struct fuse_in_header)]; fuse_forget_in forget; fuse_init_in init; char lookup[0]; + fuse_mkdir_in mkdir; fuse_mknod_in mknod; fuse_open_in open; fuse_setattr_in setattr; From owner-svn-src-projects@freebsd.org Tue Mar 5 21:40:13 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AFB071514539 for ; Tue, 5 Mar 2019 21:40:12 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5CF6889E74; Tue, 5 Mar 2019 21:40:12 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4F31121EAF; Tue, 5 Mar 2019 21:40:12 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x25LeCdl044626; Tue, 5 Mar 2019 21:40:12 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x25Le9CH044608; Tue, 5 Mar 2019 21:40:09 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903052140.x25Le9CH044608@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 5 Mar 2019 21:40:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344824 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344824 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 5CF6889E74 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.962,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Mar 2019 21:40:13 -0000 Author: asomers Date: Tue Mar 5 21:40:08 2019 New Revision: 344824 URL: https://svnweb.freebsd.org/changeset/base/344824 Log: fuse(4): add test cases for FUSE_LINK and FUSE_RENAME Also, add a FUSE_LOOKUP test case for subdirectories, and improve debugging output. Sponsored by: The FreeBSD Foundation Added: projects/fuse2/tests/sys/fs/fuse/link.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/rename.cc (contents, props changed) Modified: projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/access.cc projects/fuse2/tests/sys/fs/fuse/create.cc projects/fuse2/tests/sys/fs/fuse/getattr.cc projects/fuse2/tests/sys/fs/fuse/lookup.cc projects/fuse2/tests/sys/fs/fuse/mkdir.cc projects/fuse2/tests/sys/fs/fuse/mknod.cc projects/fuse2/tests/sys/fs/fuse/mockfs.cc projects/fuse2/tests/sys/fs/fuse/mockfs.hh projects/fuse2/tests/sys/fs/fuse/open.cc projects/fuse2/tests/sys/fs/fuse/readlink.cc projects/fuse2/tests/sys/fs/fuse/setattr.cc projects/fuse2/tests/sys/fs/fuse/symlink.cc projects/fuse2/tests/sys/fs/fuse/utils.hh Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Tue Mar 5 21:40:08 2019 (r344824) @@ -7,11 +7,13 @@ TESTSDIR= ${TESTSBASE}/sys/fs/fuse ATF_TESTS_CXX+= access ATF_TESTS_CXX+= create ATF_TESTS_CXX+= getattr +ATF_TESTS_CXX+= link ATF_TESTS_CXX+= lookup ATF_TESTS_CXX+= mkdir ATF_TESTS_CXX+= mknod ATF_TESTS_CXX+= open ATF_TESTS_CXX+= readlink +ATF_TESTS_CXX+= rename ATF_TESTS_CXX+= setattr ATF_TESTS_CXX+= symlink @@ -30,6 +32,11 @@ SRCS.getattr+= getmntopts.c SRCS.getattr+= mockfs.cc SRCS.getattr+= utils.cc +SRCS.link+= getmntopts.c +SRCS.link+= link.cc +SRCS.link+= mockfs.cc +SRCS.link+= utils.cc + SRCS.lookup+= getmntopts.c SRCS.lookup+= lookup.cc SRCS.lookup+= mockfs.cc @@ -54,6 +61,11 @@ SRCS.readlink+= getmntopts.c SRCS.readlink+= mockfs.cc SRCS.readlink+= readlink.cc SRCS.readlink+= utils.cc + +SRCS.rename+= getmntopts.c +SRCS.rename+= mockfs.cc +SRCS.rename+= rename.cc +SRCS.rename+= utils.cc SRCS.setattr+= getmntopts.c SRCS.setattr+= mockfs.cc Modified: projects/fuse2/tests/sys/fs/fuse/access.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/access.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/access.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -51,7 +51,7 @@ TEST_F(Access, DISABLED_eaccess) uint64_t ino = 42; mode_t access_mode = X_OK; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -80,7 +80,7 @@ TEST_F(Access, DISABLED_ok) uint64_t ino = 42; mode_t access_mode = R_OK; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Modified: projects/fuse2/tests/sys/fs/fuse/create.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/create.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/create.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -51,7 +51,7 @@ TEST_F(Create, DISABLED_attr_cache) uint64_t ino = 42; int fd; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -94,7 +94,7 @@ TEST_F(Create, eexist) const char RELPATH[] = "some_file.txt"; mode_t mode = 0755; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -122,7 +122,7 @@ TEST_F(Create, DISABLED_Enosys) uint64_t ino = 42; int fd; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -197,7 +197,7 @@ TEST_F(Create, DISABLED_entry_cache_negative) int fd; /* create will first do a LOOKUP, adding a negative cache entry */ - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { /* nodeid means ENOENT and cache it */ out->body.entry.nodeid = 0; out->header.unique = in->header.unique; @@ -260,7 +260,7 @@ TEST_F(Create, DISABLED_entry_cache_negative_purge) int fd; /* create will first do a LOOKUP, adding a negative cache entry */ - EXPECT_LOOKUP(RELPATH).Times(1) + EXPECT_LOOKUP(1, RELPATH).Times(1) .WillOnce(Invoke([=](auto in, auto out) { /* nodeid means ENOENT and cache it */ out->body.entry.nodeid = 0; @@ -305,7 +305,7 @@ TEST_F(Create, DISABLED_entry_cache_negative_purge) ASSERT_LE(0, fd) << strerror(errno); /* Finally, a subsequent lookup should query the daemon */ - EXPECT_LOOKUP(RELPATH).Times(1) + EXPECT_LOOKUP(1, RELPATH).Times(1) .WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; @@ -328,7 +328,7 @@ TEST_F(Create, eperm) const char RELPATH[] = "some_file.txt"; mode_t mode = 0755; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -351,7 +351,7 @@ TEST_F(Create, ok) uint64_t ino = 42; int fd; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { Modified: projects/fuse2/tests/sys/fs/fuse/getattr.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/getattr.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/getattr.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -47,7 +47,7 @@ TEST_F(Getattr, DISABLED_attr_cache) const uint64_t generation = 13; struct stat sb; - EXPECT_LOOKUP(RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -91,7 +91,7 @@ TEST_F(Getattr, attr_cache_timeout) */ long timeout_ns = 250'000'000; - EXPECT_LOOKUP(RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.entry_valid = UINT64_MAX; @@ -127,7 +127,7 @@ TEST_F(Getattr, enoent) struct stat sb; const uint64_t ino = 42; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = 0100644; @@ -153,7 +153,7 @@ TEST_F(Getattr, ok) const uint64_t generation = 13; struct stat sb; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Added: projects/fuse2/tests/sys/fs/fuse/link.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/link.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -0,0 +1,106 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Link: public FuseTest {}; + +TEST_F(Link, emlink) +{ + const char FULLPATH[] = "mountpoint/lnk"; + const char RELPATH[] = "lnk"; + const char FULLDST[] = "mountpoint/dst"; + const char RELDST[] = "dst"; + uint64_t dst_ino = 42; + + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELDST).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = dst_ino; + SET_OUT_HEADER_LEN(out, entry); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(struct fuse_link_in); + return (in->header.opcode == FUSE_LINK && + in->body.link.oldnodeid == dst_ino && + (0 == strcmp(name, RELPATH))); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(EMLINK))); + + EXPECT_EQ(-1, link(FULLDST, FULLPATH)); + EXPECT_EQ(EMLINK, errno); +} + +TEST_F(Link, ok) +{ + const char FULLPATH[] = "mountpoint/src"; + const char RELPATH[] = "src"; + const char FULLDST[] = "mountpoint/dst"; + const char RELDST[] = "dst"; + uint64_t dst_ino = 42; + const uint64_t ino = 42; + + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELDST).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = dst_ino; + SET_OUT_HEADER_LEN(out, entry); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *name = (const char*)in->body.bytes + + sizeof(struct fuse_link_in); + return (in->header.opcode == FUSE_LINK && + in->body.link.oldnodeid == dst_ino && + (0 == strcmp(name, RELPATH))); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + })); + + EXPECT_EQ(0, link(FULLDST, FULLPATH)) << strerror(errno); +} Modified: projects/fuse2/tests/sys/fs/fuse/lookup.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/lookup.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/lookup.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -50,7 +50,7 @@ TEST_F(Lookup, DISABLED_attr_cache) const uint64_t ino = 42; struct stat sb; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.nodeid = ino; @@ -115,7 +115,7 @@ TEST_F(Lookup, attr_cache_timeout) */ long timeout_ns = 250'000'000; - EXPECT_LOOKUP(RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.nodeid = ino; @@ -148,7 +148,7 @@ TEST_F(Lookup, enoent) const char FULLPATH[] = "mountpoint/does_not_exist"; const char RELPATH[] = "does_not_exist"; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_NE(0, access(FULLPATH, F_OK)); EXPECT_EQ(ENOENT, errno); } @@ -162,7 +162,7 @@ TEST_F(Lookup, entry_cache) const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.entry_valid = UINT64_MAX; @@ -181,7 +181,7 @@ TEST_F(Lookup, entry_cache) /* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236226 */ TEST_F(Lookup, DISABLED_entry_cache_negative) { - EXPECT_LOOKUP("does_not_exist").Times(1) + EXPECT_LOOKUP(1, "does_not_exist").Times(1) .WillOnce(Invoke([](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; @@ -206,7 +206,7 @@ TEST_F(Lookup, entry_cache_negative_timeout) */ long timeout_ns = 250'000'000; - EXPECT_LOOKUP(RELPATH).Times(2) + EXPECT_LOOKUP(1, RELPATH).Times(2) .WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; @@ -239,7 +239,7 @@ TEST_F(Lookup, DISABLED_entry_cache_timeout) */ long timeout_ns = 250'000'000; - EXPECT_LOOKUP(RELPATH).Times(2) + EXPECT_LOOKUP(1, RELPATH).Times(2) .WillRepeatedly(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); @@ -258,7 +258,7 @@ TEST_F(Lookup, ok) const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -270,3 +270,33 @@ TEST_F(Lookup, ok) */ ASSERT_EQ(0, access(FULLPATH, F_OK)) << strerror(errno); } + +// Lookup in a subdirectory of the fuse mount +TEST_F(Lookup, subdir) +{ + const char FULLPATH[] = "mountpoint/some_dir/some_file.txt"; + const char DIRPATH[] = "some_dir"; + const char RELPATH[] = "some_file.txt"; + uint64_t dir_ino = 2; + uint64_t file_ino = 3; + + EXPECT_LOOKUP(1, DIRPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFDIR | 0755; + out->body.entry.nodeid = dir_ino; + })); + EXPECT_LOOKUP(dir_ino, RELPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = file_ino; + })); + /* + * access(2) is one of the few syscalls that will not (always) follow + * up a successful VOP_LOOKUP with another VOP. + */ + ASSERT_EQ(0, access(FULLPATH, F_OK)) << strerror(errno); +} + + Modified: projects/fuse2/tests/sys/fs/fuse/mkdir.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mkdir.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/mkdir.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -48,7 +48,7 @@ TEST_F(Mkdir, emlink) const char RELPATH[] = "some_dir"; mode_t mode = 0755; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -77,7 +77,7 @@ TEST_F(Mkdir, DISABLED_entry_cache_negative) uint64_t ino = 42; /* mkdir will first do a LOOKUP, adding a negative cache entry */ - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { /* nodeid means ENOENT and cache it */ out->body.entry.nodeid = 0; out->header.unique = in->header.unique; @@ -124,7 +124,7 @@ TEST_F(Mkdir, DISABLED_entry_cache_negative_purge) uint64_t ino = 42; /* mkdir will first do a LOOKUP, adding a negative cache entry */ - EXPECT_LOOKUP(RELPATH).Times(1) + EXPECT_LOOKUP(1, RELPATH).Times(1) .WillOnce(Invoke([=](auto in, auto out) { /* nodeid means ENOENT and cache it */ out->body.entry.nodeid = 0; @@ -155,7 +155,7 @@ TEST_F(Mkdir, DISABLED_entry_cache_negative_purge) ASSERT_EQ(0, mkdir(FULLPATH, mode)) << strerror(errno); /* Finally, a subsequent lookup should query the daemon */ - EXPECT_LOOKUP(RELPATH).Times(1) + EXPECT_LOOKUP(1, RELPATH).Times(1) .WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; out->header.error = 0; @@ -174,7 +174,7 @@ TEST_F(Mkdir, ok) mode_t mode = 0755; uint64_t ino = 42; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { Modified: projects/fuse2/tests/sys/fs/fuse/mknod.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mknod.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/mknod.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -54,7 +54,7 @@ void test_ok(mode_t mode, dev_t dev) { const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -108,7 +108,7 @@ TEST_F(Mknod, DISABLED_eperm) const char RELPATH[] = "some_file.txt"; mode_t mode = S_IFIFO | 0755; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -116,6 +116,20 @@ void sigint_handler(int __unused sig) { quit = 1; } +void debug_fuseop(const mockfs_buf_in *in) +{ + printf("%s ino=%lu", opcode2opname(in->header.opcode), + in->header.nodeid); + switch (in->header.opcode) { + case FUSE_LOOKUP: + printf(" %s", in->body.lookup); + break; + default: + break; + } + printf("\n"); +} + MockFS::MockFS() { struct iovec *iov = NULL; int iovlen = 0; @@ -204,10 +218,8 @@ void MockFS::loop() { read_request(in); if (quit) break; - if (verbosity > 0) { - printf("Got request %s\n", - opcode2opname(in->header.opcode)); - } + if (verbosity > 0) + debug_fuseop(in); if ((pid_t)in->header.pid != m_pid) { /* * Reject any requests from unknown processes. Because Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Tue Mar 5 21:40:08 2019 (r344824) @@ -49,10 +49,11 @@ extern "C" { * This must be a macro instead of a method because EXPECT_CALL returns a type * with a deleted constructor. */ -#define EXPECT_LOOKUP(path) \ +#define EXPECT_LOOKUP(parent, path) \ EXPECT_CALL(*m_mock, process( \ ResultOf([=](auto in) { \ return (in->header.opcode == FUSE_LOOKUP && \ + in->header.nodeid == (parent) && \ strcmp(in->body.lookup, (path)) == 0); \ }, Eq(true)), \ _) \ @@ -72,10 +73,12 @@ union fuse_payloads_in { uint8_t bytes[0x21000 - sizeof(struct fuse_in_header)]; fuse_forget_in forget; fuse_init_in init; + fuse_link_in link; char lookup[0]; fuse_mkdir_in mkdir; fuse_mknod_in mknod; fuse_open_in open; + fuse_rename_in rename; fuse_setattr_in setattr; }; Modified: projects/fuse2/tests/sys/fs/fuse/open.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/open.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/open.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -49,7 +49,7 @@ TEST_F(Open, enoent) const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -77,7 +77,7 @@ TEST_F(Open, eperm) const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -102,7 +102,7 @@ TEST_F(Open, ok) uint64_t ino = 42; int fd; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Modified: projects/fuse2/tests/sys/fs/fuse/readlink.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/readlink.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/readlink.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -45,7 +45,7 @@ TEST_F(Readlink, eloop) const uint64_t ino = 42; char buf[80]; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFLNK | 0777; @@ -72,7 +72,7 @@ TEST_F(Readlink, ok) const uint64_t ino = 42; char buf[80]; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFLNK | 0777; Added: projects/fuse2/tests/sys/fs/fuse/rename.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/rename.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -0,0 +1,188 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Rename: public FuseTest { + public: + int tmpfd = -1; + char tmpfile[80] = "/tmp/fuse.rename.XXXXXX"; + + virtual void TearDown() { + if (tmpfd >= 0) { + close(tmpfd); + unlink(tmpfile); + } + + FuseTest::TearDown(); + } +}; + +// EINVAL, dst is subdir of src +TEST_F(Rename, einval) +{ + const char FULLDST[] = "mountpoint/src/dst"; + const char RELDST[] = "dst"; + const char FULLSRC[] = "mountpoint/src"; + const char RELSRC[] = "src"; + uint64_t src_ino = 42; + + EXPECT_LOOKUP(1, RELSRC).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFDIR | 0755; + out->body.entry.nodeid = src_ino; + SET_OUT_HEADER_LEN(out, entry); + })); + EXPECT_LOOKUP(src_ino, RELDST).WillOnce(Invoke(ReturnErrno(ENOENT))); + + ASSERT_NE(0, rename(FULLSRC, FULLDST)); + ASSERT_EQ(EINVAL, errno); +} + +// source does not exist +TEST_F(Rename, enoent) +{ + const char FULLDST[] = "mountpoint/dst"; + const char FULLSRC[] = "mountpoint/src"; + const char RELSRC[] = "src"; + // FUSE hardcodes the mountpoint to inocde 1 + + EXPECT_LOOKUP(1, RELSRC).WillOnce(Invoke(ReturnErrno(ENOENT))); + + ASSERT_NE(0, rename(FULLSRC, FULLDST)); + ASSERT_EQ(ENOENT, errno); +} + +TEST_F(Rename, exdev) +{ + const char FULLB[] = "mountpoint/src"; + const char RELB[] = "src"; + // FUSE hardcodes the mountpoint to inocde 1 + uint64_t b_ino = 42; + + tmpfd = mkstemp(tmpfile); + ASSERT_LE(0, tmpfd) << strerror(errno); + + EXPECT_LOOKUP(1, RELB).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = b_ino; + SET_OUT_HEADER_LEN(out, entry); + })); + + ASSERT_NE(0, rename(tmpfile, FULLB)); + ASSERT_EQ(EXDEV, errno); + + ASSERT_NE(0, rename(FULLB, tmpfile)); + ASSERT_EQ(EXDEV, errno); +} + +TEST_F(Rename, ok) +{ + const char FULLDST[] = "mountpoint/dst"; + const char RELDST[] = "dst"; + const char FULLSRC[] = "mountpoint/src"; + const char RELSRC[] = "src"; + // FUSE hardcodes the mountpoint to inocde 1 + uint64_t dst_dir_ino = 1; + uint64_t ino = 42; + + EXPECT_LOOKUP(1, RELSRC).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + SET_OUT_HEADER_LEN(out, entry); + })); + EXPECT_LOOKUP(1, RELDST).WillOnce(Invoke(ReturnErrno(ENOENT))); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *src = (const char*)in->body.bytes + + sizeof(fuse_rename_in); + const char *dst = src + strlen(src) + 1; + return (in->header.opcode == FUSE_RENAME && + in->body.rename.newdir == dst_dir_ino && + (0 == strcmp(RELDST, dst)) && + (0 == strcmp(RELSRC, src))); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(0))); + + ASSERT_EQ(0, rename(FULLSRC, FULLDST)) << strerror(errno); +} + +// Rename overwrites an existing destination file +TEST_F(Rename, overwrite) +{ + const char FULLDST[] = "mountpoint/dst"; + const char RELDST[] = "dst"; + const char FULLSRC[] = "mountpoint/src"; + const char RELSRC[] = "src"; + // The inode of the already-existing destination file + uint64_t dst_ino = 2; + // FUSE hardcodes the mountpoint to inocde 1 + uint64_t dst_dir_ino = 1; + uint64_t ino = 42; + + EXPECT_LOOKUP(1, RELSRC).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + SET_OUT_HEADER_LEN(out, entry); + })); + EXPECT_LOOKUP(1, RELDST).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = dst_ino; + SET_OUT_HEADER_LEN(out, entry); + })); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *src = (const char*)in->body.bytes + + sizeof(fuse_rename_in); + const char *dst = src + strlen(src) + 1; + return (in->header.opcode == FUSE_RENAME && + in->body.rename.newdir == dst_dir_ino && + (0 == strcmp(RELDST, dst)) && + (0 == strcmp(RELSRC, src))); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(0))); + + ASSERT_EQ(0, rename(FULLSRC, FULLDST)) << strerror(errno); +} Modified: projects/fuse2/tests/sys/fs/fuse/setattr.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/setattr.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/setattr.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -50,7 +50,7 @@ TEST_F(Setattr, chmod) const mode_t oldmode = 0755; const mode_t newmode = 0644; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | oldmode; @@ -88,7 +88,7 @@ TEST_F(Setattr, chown) const uid_t olduser = 33; const uid_t newuser = 44; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -132,7 +132,7 @@ TEST_F(Setattr, eperm) const char RELPATH[] = "some_file.txt"; const uint64_t ino = 42; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0777; @@ -162,7 +162,7 @@ TEST_F(Setattr, fchmod) const mode_t oldmode = 0755; const mode_t newmode = 0644; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | oldmode; @@ -230,7 +230,7 @@ TEST_F(Setattr, ftruncate) const off_t oldsize = 99; const off_t newsize = 12345; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0755; @@ -299,7 +299,7 @@ TEST_F(Setattr, truncate) { const uint64_t oldsize = 100'000'000; const uint64_t newsize = 20'000'000; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -341,7 +341,7 @@ TEST_F(Setattr, utimensat) { {.tv_sec = 7, .tv_nsec = 8}, }; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; @@ -417,7 +417,7 @@ TEST_F(Setattr, utimensat_mtime_only) { {.tv_sec = 7, .tv_nsec = 8}, }; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke([=](auto in, auto out) { + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; Modified: projects/fuse2/tests/sys/fs/fuse/symlink.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/symlink.cc Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/symlink.cc Tue Mar 5 21:40:08 2019 (r344824) @@ -44,7 +44,7 @@ TEST_F(Symlink, enospc) const char RELPATH[] = "lnk"; const char dst[] = "dst"; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -55,13 +55,8 @@ TEST_F(Symlink, enospc) (0 == strcmp(name, RELPATH))); }, Eq(true)), _) - ).WillOnce(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = -ENOSPC; - out->header.len = sizeof(out->header); - })); + ).WillOnce(Invoke(ReturnErrno(ENOSPC))); - EXPECT_EQ(-1, symlink(dst, FULLPATH)); EXPECT_EQ(ENOSPC, errno); } @@ -73,7 +68,7 @@ TEST_F(Symlink, ok) const char dst[] = "dst"; const uint64_t ino = 42; - EXPECT_LOOKUP(RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { Modified: projects/fuse2/tests/sys/fs/fuse/utils.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/utils.hh Tue Mar 5 19:45:37 2019 (r344823) +++ projects/fuse2/tests/sys/fs/fuse/utils.hh Tue Mar 5 21:40:08 2019 (r344824) @@ -40,7 +40,7 @@ class FuseTest : public ::testing::Test { } } - void TearDown() { + virtual void TearDown() { if (m_mock) delete m_mock; } From owner-svn-src-projects@freebsd.org Wed Mar 6 00:38:13 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4A665151D544 for ; Wed, 6 Mar 2019 00:38:13 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EA97868672; Wed, 6 Mar 2019 00:38:12 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DF80423D5D; Wed, 6 Mar 2019 00:38:12 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x260cCF5040664; Wed, 6 Mar 2019 00:38:12 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x260cAUU040654; Wed, 6 Mar 2019 00:38:10 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903060038.x260cAUU040654@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Wed, 6 Mar 2019 00:38:10 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344831 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344831 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: EA97868672 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.98 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.98)[-0.981,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Mar 2019 00:38:13 -0000 Author: asomers Date: Wed Mar 6 00:38:10 2019 New Revision: 344831 URL: https://svnweb.freebsd.org/changeset/base/344831 Log: fuse(4): add tests for unlink, rmdir, and statfs Also, combine some common code for sending cacheable negative lookup responses. Sponsored by: The FreeBSD Foundation Added: projects/fuse2/tests/sys/fs/fuse/rmdir.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/statfs.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/unlink.cc (contents, props changed) Modified: projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/create.cc projects/fuse2/tests/sys/fs/fuse/lookup.cc projects/fuse2/tests/sys/fs/fuse/mkdir.cc projects/fuse2/tests/sys/fs/fuse/mockfs.cc projects/fuse2/tests/sys/fs/fuse/mockfs.hh projects/fuse2/tests/sys/fs/fuse/rename.cc Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Wed Mar 6 00:01:06 2019 (r344830) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Wed Mar 6 00:38:10 2019 (r344831) @@ -14,8 +14,11 @@ ATF_TESTS_CXX+= mknod ATF_TESTS_CXX+= open ATF_TESTS_CXX+= readlink ATF_TESTS_CXX+= rename +ATF_TESTS_CXX+= rmdir ATF_TESTS_CXX+= setattr +ATF_TESTS_CXX+= statfs ATF_TESTS_CXX+= symlink +ATF_TESTS_CXX+= unlink SRCS.access+= access.cc SRCS.access+= getmntopts.c @@ -67,15 +70,30 @@ SRCS.rename+= mockfs.cc SRCS.rename+= rename.cc SRCS.rename+= utils.cc +SRCS.rmdir+= getmntopts.c +SRCS.rmdir+= mockfs.cc +SRCS.rmdir+= rmdir.cc +SRCS.rmdir+= utils.cc + SRCS.setattr+= getmntopts.c SRCS.setattr+= mockfs.cc SRCS.setattr+= setattr.cc SRCS.setattr+= utils.cc +SRCS.statfs+= getmntopts.c +SRCS.statfs+= mockfs.cc +SRCS.statfs+= statfs.cc +SRCS.statfs+= utils.cc + SRCS.symlink+= getmntopts.c SRCS.symlink+= mockfs.cc SRCS.symlink+= symlink.cc SRCS.symlink+= utils.cc + +SRCS.unlink+= getmntopts.c +SRCS.unlink+= mockfs.cc +SRCS.unlink+= unlink.cc +SRCS.unlink+= utils.cc # TODO: drastically increase timeout after test development is mostly complete TEST_METADATA+= timeout=10 Modified: projects/fuse2/tests/sys/fs/fuse/create.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/create.cc Wed Mar 6 00:01:06 2019 (r344830) +++ projects/fuse2/tests/sys/fs/fuse/create.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -195,21 +195,15 @@ TEST_F(Create, DISABLED_entry_cache_negative) mode_t mode = 0755; uint64_t ino = 42; int fd; + /* + * Set entry_valid = 0 because this test isn't concerned with whether + * or not we actually cache negative entries, only with whether we + * interpret negative cache responses correctly. + */ + struct timespec entry_valid = {.tv_sec = 0, .tv_nsec = 0}; /* create will first do a LOOKUP, adding a negative cache entry */ - EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { - /* nodeid means ENOENT and cache it */ - out->body.entry.nodeid = 0; - out->header.unique = in->header.unique; - out->header.error = 0; - /* - * Set entry_valid = 0 because this test isn't concerned with - * whether or not we actually cache negative entries, only with - * whether we interpret negative cache responses correctly. - */ - out->body.entry.entry_valid = 0; - SET_OUT_HEADER_LEN(out, entry); - })); + EXPECT_LOOKUP(1, RELPATH).WillOnce(ReturnNegativeCache(&entry_valid)); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -258,17 +252,12 @@ TEST_F(Create, DISABLED_entry_cache_negative_purge) mode_t mode = 0755; uint64_t ino = 42; int fd; + struct timespec entry_valid = {.tv_sec = TIME_T_MAX, .tv_nsec = 0}; /* create will first do a LOOKUP, adding a negative cache entry */ EXPECT_LOOKUP(1, RELPATH).Times(1) - .WillOnce(Invoke([=](auto in, auto out) { - /* nodeid means ENOENT and cache it */ - out->body.entry.nodeid = 0; - out->header.unique = in->header.unique; - out->header.error = 0; - out->body.entry.entry_valid = UINT64_MAX; - SET_OUT_HEADER_LEN(out, entry); - })).RetiresOnSaturation(); + .WillOnce(Invoke(ReturnNegativeCache(&entry_valid))) + .RetiresOnSaturation(); /* Then the CREATE should purge the negative cache entry */ EXPECT_CALL(*m_mock, process( Modified: projects/fuse2/tests/sys/fs/fuse/lookup.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/lookup.cc Wed Mar 6 00:01:06 2019 (r344830) +++ projects/fuse2/tests/sys/fs/fuse/lookup.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -181,14 +181,11 @@ TEST_F(Lookup, entry_cache) /* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236226 */ TEST_F(Lookup, DISABLED_entry_cache_negative) { + struct timespec entry_valid = {.tv_sec = TIME_T_MAX, .tv_nsec = 0}; + EXPECT_LOOKUP(1, "does_not_exist").Times(1) - .WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = 0; - out->body.entry.nodeid = 0; - out->body.entry.entry_valid = UINT64_MAX; - SET_OUT_HEADER_LEN(out, entry); - })); + .WillOnce(Invoke(ReturnNegativeCache(&entry_valid))); + EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); EXPECT_EQ(ENOENT, errno); EXPECT_NE(0, access("mountpoint/does_not_exist", F_OK)); @@ -204,20 +201,15 @@ TEST_F(Lookup, entry_cache_negative_timeout) * The timeout should be longer than the longest plausible time the * daemon would take to complete a write(2) to /dev/fuse, but no longer. */ - long timeout_ns = 250'000'000; + struct timespec entry_valid = {.tv_sec = 0, .tv_nsec = 250'000'000}; EXPECT_LOOKUP(1, RELPATH).Times(2) - .WillRepeatedly(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.error = 0; - out->body.entry.nodeid = 0; - out->body.entry.entry_valid_nsec = timeout_ns; - SET_OUT_HEADER_LEN(out, entry); - })); + .WillRepeatedly(Invoke(ReturnNegativeCache(&entry_valid))); + EXPECT_NE(0, access(FULLPATH, F_OK)); EXPECT_EQ(ENOENT, errno); - usleep(2 * timeout_ns / 1000); + usleep(2 * entry_valid.tv_nsec / 1000); /* The cache has timed out; VOP_LOOKUP should requery the daemon*/ EXPECT_NE(0, access(FULLPATH, F_OK)); Modified: projects/fuse2/tests/sys/fs/fuse/mkdir.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mkdir.cc Wed Mar 6 00:01:06 2019 (r344830) +++ projects/fuse2/tests/sys/fs/fuse/mkdir.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -75,21 +75,15 @@ TEST_F(Mkdir, DISABLED_entry_cache_negative) const char RELPATH[] = "some_file.txt"; mode_t mode = 0755; uint64_t ino = 42; + /* + * Set entry_valid = 0 because this test isn't concerned with whether + * or not we actually cache negative entries, only with whether we + * interpret negative cache responses correctly. + */ + struct timespec entry_valid = {.tv_sec = 0, .tv_nsec = 0}; /* mkdir will first do a LOOKUP, adding a negative cache entry */ - EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { - /* nodeid means ENOENT and cache it */ - out->body.entry.nodeid = 0; - out->header.unique = in->header.unique; - out->header.error = 0; - /* - * Set entry_valid = 0 because this test isn't concerned with - * whether or not we actually cache negative entries, only with - * whether we interpret negative cache responses correctly. - */ - out->body.entry.entry_valid = 0; - SET_OUT_HEADER_LEN(out, entry); - })); + EXPECT_LOOKUP(1, RELPATH).WillOnce(ReturnNegativeCache(&entry_valid)); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { @@ -122,17 +116,12 @@ TEST_F(Mkdir, DISABLED_entry_cache_negative_purge) const char RELPATH[] = "some_file.txt"; mode_t mode = 0755; uint64_t ino = 42; + struct timespec entry_valid = {.tv_sec = TIME_T_MAX, .tv_nsec = 0}; /* mkdir will first do a LOOKUP, adding a negative cache entry */ EXPECT_LOOKUP(1, RELPATH).Times(1) - .WillOnce(Invoke([=](auto in, auto out) { - /* nodeid means ENOENT and cache it */ - out->body.entry.nodeid = 0; - out->header.unique = in->header.unique; - out->header.error = 0; - out->body.entry.entry_valid = UINT64_MAX; - SET_OUT_HEADER_LEN(out, entry); - })).RetiresOnSaturation(); + .WillOnce(Invoke(ReturnNegativeCache(&entry_valid))) + .RetiresOnSaturation(); /* Then the MKDIR should purge the negative cache entry */ EXPECT_CALL(*m_mock, process( Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.cc Wed Mar 6 00:01:06 2019 (r344830) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -112,6 +112,21 @@ ReturnErrno(int error) }); } +/* Helper function used for returning negative cache entries for LOOKUP */ +std::function +ReturnNegativeCache(const struct timespec *entry_valid) +{ + return([=](auto in, auto out) { + /* nodeid means ENOENT and cache it */ + out->body.entry.nodeid = 0; + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.entry_valid = entry_valid->tv_sec; + out->body.entry.entry_valid_nsec = entry_valid->tv_nsec; + SET_OUT_HEADER_LEN(out, entry); + }); +} + void sigint_handler(int __unused sig) { quit = 1; } @@ -135,6 +150,9 @@ MockFS::MockFS() { int iovlen = 0; char fdstr[15]; + m_daemon_id = NULL; + quit = 0; + /* * Kyua sets pwd to a testcase-unique tempdir; no need to use * mkdtemp @@ -169,18 +187,14 @@ MockFS::MockFS() { .WillByDefault(Invoke(this, &MockFS::process_default)); init(); - if (pthread_create(&m_thr, NULL, service, (void*)this)) + signal(SIGUSR1, sigint_handler); + if (pthread_create(&m_daemon_id, NULL, service, (void*)this)) throw(std::system_error(errno, std::system_category(), "Couldn't Couldn't start fuse thread")); } MockFS::~MockFS() { - pthread_kill(m_daemon_id, SIGUSR1); - // Closing the /dev/fuse file descriptor first allows unmount to - // succeed even if the daemon doesn't correctly respond to commands - // during the unmount sequence. - close(m_fuse_fd); - pthread_join(m_daemon_id, NULL); + kill_daemon(); ::unmount("mountpoint", MNT_FORCE); rmdir("mountpoint"); } @@ -206,6 +220,18 @@ void MockFS::init() { free(in); } +void MockFS::kill_daemon() { + if (m_daemon_id != NULL) { + pthread_kill(m_daemon_id, SIGUSR1); + // Closing the /dev/fuse file descriptor first allows unmount + // to succeed even if the daemon doesn't correctly respond to + // commands during the unmount sequence. + close(m_fuse_fd); + pthread_join(m_daemon_id, NULL); + m_daemon_id = NULL; + } +} + void MockFS::loop() { mockfs_buf_in *in; mockfs_buf_out out; @@ -258,10 +284,6 @@ void MockFS::read_request(mockfs_buf_in *in) { void* MockFS::service(void *pthr_data) { MockFS *mock_fs = (MockFS*)pthr_data; - mock_fs->m_daemon_id = pthread_self(); - - quit = 0; - signal(SIGUSR1, sigint_handler); mock_fs->loop(); Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Wed Mar 6 00:01:06 2019 (r344830) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Wed Mar 6 00:38:10 2019 (r344831) @@ -37,6 +37,8 @@ extern "C" { #include +#define TIME_T_MAX (std::numeric_limits::max()) + #define SET_OUT_HEADER_LEN(out, variant) { \ (out)->header.len = (sizeof((out)->header) + \ sizeof((out)->body.variant)); \ @@ -79,7 +81,9 @@ union fuse_payloads_in { fuse_mknod_in mknod; fuse_open_in open; fuse_rename_in rename; + char rmdir[0]; fuse_setattr_in setattr; + char unlink[0]; }; struct mockfs_buf_in { @@ -93,6 +97,7 @@ union fuse_payloads_out { fuse_entry_out entry; fuse_init_out init; fuse_open_out open; + fuse_statfs_out statfs; /* * The protocol places no limits on the length of the string. This is * merely convenient for testing. @@ -112,6 +117,10 @@ struct mockfs_buf_out { std::function ReturnErrno(int error); +/* Helper function used for returning negative cache entries for LOOKUP */ +std::function +ReturnNegativeCache(const struct timespec *entry_valid); + /* * Fake FUSE filesystem * @@ -122,7 +131,12 @@ ReturnErrno(int error); */ class MockFS { public: - /* thread id of the fuse daemon thread */ + /* + * thread id of the fuse daemon thread + * + * It must run in a separate thread so it doesn't deadlock with the + * client test code. + */ pthread_t m_daemon_id; private: @@ -132,14 +146,6 @@ class MockFS { /* pid of the test process */ pid_t m_pid; - /* - * Thread that's running the mockfs daemon. - * - * It must run in a separate thread so it doesn't deadlock with the - * client test code. - */ - pthread_t m_thr; - /* Initialize a session after mounting */ void init(); @@ -156,6 +162,9 @@ class MockFS { /* Create a new mockfs and mount it to a tempdir */ MockFS(); virtual ~MockFS(); + + /* Kill the filesystem daemon without unmounting the filesystem */ + void kill_daemon(); /* Process FUSE requests endlessly */ void loop(); Modified: projects/fuse2/tests/sys/fs/fuse/rename.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/rename.cc Wed Mar 6 00:01:06 2019 (r344830) +++ projects/fuse2/tests/sys/fs/fuse/rename.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -87,6 +87,111 @@ TEST_F(Rename, enoent) ASSERT_EQ(ENOENT, errno); } +/* + * Renaming a file after FUSE_LOOKUP returned a negative cache entry for dst + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236231 */ +TEST_F(Rename, DISABLED_entry_cache_negative) +{ + const char FULLDST[] = "mountpoint/dst"; + const char RELDST[] = "dst"; + const char FULLSRC[] = "mountpoint/src"; + const char RELSRC[] = "src"; + // FUSE hardcodes the mountpoint to inocde 1 + uint64_t dst_dir_ino = 1; + uint64_t ino = 42; + /* + * Set entry_valid = 0 because this test isn't concerned with whether + * or not we actually cache negative entries, only with whether we + * interpret negative cache responses correctly. + */ + struct timespec entry_valid = {.tv_sec = 0, .tv_nsec = 0}; + + EXPECT_LOOKUP(1, RELSRC).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + SET_OUT_HEADER_LEN(out, entry); + })); + + /* LOOKUP returns a negative cache entry for dst */ + EXPECT_LOOKUP(1, RELDST).WillOnce(ReturnNegativeCache(&entry_valid)); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *src = (const char*)in->body.bytes + + sizeof(fuse_rename_in); + const char *dst = src + strlen(src) + 1; + return (in->header.opcode == FUSE_RENAME && + in->body.rename.newdir == dst_dir_ino && + (0 == strcmp(RELDST, dst)) && + (0 == strcmp(RELSRC, src))); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(0))); + + ASSERT_EQ(0, rename(FULLSRC, FULLDST)) << strerror(errno); +} + +/* + * Renaming a file should purge any negative namecache entries for the dst + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236231 */ +TEST_F(Rename, DISABLED_entry_cache_negative_purge) +{ + const char FULLDST[] = "mountpoint/dst"; + const char RELDST[] = "dst"; + const char FULLSRC[] = "mountpoint/src"; + const char RELSRC[] = "src"; + // FUSE hardcodes the mountpoint to inocde 1 + uint64_t dst_dir_ino = 1; + uint64_t ino = 42; + /* + * Set entry_valid = 0 because this test isn't concerned with whether + * or not we actually cache negative entries, only with whether we + * interpret negative cache responses correctly. + */ + struct timespec entry_valid = {.tv_sec = 0, .tv_nsec = 0}; + + EXPECT_LOOKUP(1, RELSRC).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + SET_OUT_HEADER_LEN(out, entry); + })); + + /* LOOKUP returns a negative cache entry for dst */ + EXPECT_LOOKUP(1, RELDST).WillOnce(ReturnNegativeCache(&entry_valid)) + .RetiresOnSaturation(); + + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *src = (const char*)in->body.bytes + + sizeof(fuse_rename_in); + const char *dst = src + strlen(src) + 1; + return (in->header.opcode == FUSE_RENAME && + in->body.rename.newdir == dst_dir_ino && + (0 == strcmp(RELDST, dst)) && + (0 == strcmp(RELSRC, src))); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(0))); + + ASSERT_EQ(0, rename(FULLSRC, FULLDST)) << strerror(errno); + + /* Finally, a subsequent lookup should query the daemon */ + EXPECT_LOOKUP(1, RELDST).Times(1) + .WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.entry.nodeid = ino; + out->body.entry.attr.mode = S_IFREG | 0644; + SET_OUT_HEADER_LEN(out, entry); + })); + + ASSERT_EQ(0, access(FULLDST, F_OK)) << strerror(errno); +} + TEST_F(Rename, exdev) { const char FULLB[] = "mountpoint/src"; Added: projects/fuse2/tests/sys/fs/fuse/rmdir.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/rmdir.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -0,0 +1,90 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Rmdir: public FuseTest {}; + +TEST_F(Rmdir, enotempty) +{ + const char FULLPATH[] = "mountpoint/some_dir"; + const char RELPATH[] = "some_dir"; + uint64_t ino = 42; + + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFDIR | 0755; + out->body.entry.nodeid = ino; + out->body.entry.attr.nlink = 2; + })); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_RMDIR && + 0 == strcmp(RELPATH, in->body.rmdir) && + in->header.nodeid == 1); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(ENOTEMPTY))); + + ASSERT_NE(0, rmdir(FULLPATH)); + ASSERT_EQ(ENOTEMPTY, errno); +} + +TEST_F(Rmdir, ok) +{ + const char FULLPATH[] = "mountpoint/some_dir"; + const char RELPATH[] = "some_dir"; + uint64_t ino = 42; + + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFDIR | 0755; + out->body.entry.nodeid = ino; + out->body.entry.attr.nlink = 2; + })); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_RMDIR && + 0 == strcmp(RELPATH, in->body.rmdir) && + in->header.nodeid == 1); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(0))); + + ASSERT_EQ(0, rmdir(FULLPATH)) << strerror(errno); +} Added: projects/fuse2/tests/sys/fs/fuse/statfs.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/statfs.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -0,0 +1,118 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Statfs: public FuseTest {}; + +TEST_F(Statfs, eio) +{ + struct statfs statbuf; + + EXPECT_CALL(*m_mock, process( + ResultOf([](auto in) { + return (in->header.opcode == FUSE_STATFS); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(EIO))); + + ASSERT_NE(0, statfs("mountpoint", &statbuf)); + ASSERT_EQ(EIO, errno); +} + +/* + * When the daemon is dead but the filesystem is still mounted, fuse(4) fakes + * the statfs(2) response, which is necessary for unmounting. + */ +TEST_F(Statfs, enotconn) +{ + struct statfs statbuf; + char mp[PATH_MAX]; + + m_mock->kill_daemon(); + + ASSERT_NE(NULL, getcwd(mp, PATH_MAX)) << strerror(errno); + strlcat(mp, "/mountpoint", PATH_MAX); + ASSERT_EQ(0, statfs("mountpoint", &statbuf)) << strerror(errno); + + EXPECT_EQ(getuid(), statbuf.f_owner); + EXPECT_EQ(0, strcmp("fusefs", statbuf.f_fstypename)); + EXPECT_EQ(0, strcmp("/dev/fuse", statbuf.f_mntfromname)); + EXPECT_EQ(0, strcmp(mp, statbuf.f_mntonname)); +} + +TEST_F(Statfs, ok) +{ + struct statfs statbuf; + char mp[PATH_MAX]; + + EXPECT_CALL(*m_mock, process( + ResultOf([](auto in) { + return (in->header.opcode == FUSE_STATFS); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, statfs); + out->body.statfs.st.blocks = 1000; + out->body.statfs.st.bfree = 100; + out->body.statfs.st.bavail = 200; + out->body.statfs.st.files = 5; + out->body.statfs.st.ffree = 6; + out->body.statfs.st.namelen = 128; + out->body.statfs.st.frsize = 1024; + })); + + ASSERT_NE(NULL, getcwd(mp, PATH_MAX)) << strerror(errno); + strlcat(mp, "/mountpoint", PATH_MAX); + ASSERT_EQ(0, statfs("mountpoint", &statbuf)) << strerror(errno); + EXPECT_EQ(1024ul, statbuf.f_bsize); + /* + * fuse(4) ignores the filesystem's reported optimal transfer size, and + * chooses a size that works well with the rest of the system instead + */ + EXPECT_EQ(1000ul, statbuf.f_blocks); + EXPECT_EQ(100ul, statbuf.f_bfree); + EXPECT_EQ(200l, statbuf.f_bavail); + EXPECT_EQ(5ul, statbuf.f_files); + EXPECT_EQ(6l, statbuf.f_ffree); + EXPECT_EQ(128u, statbuf.f_namemax); + EXPECT_EQ(getuid(), statbuf.f_owner); + EXPECT_EQ(0, strcmp("fusefs", statbuf.f_fstypename)); + EXPECT_EQ(0, strcmp("/dev/fuse", statbuf.f_mntfromname)); + EXPECT_EQ(0, strcmp(mp, statbuf.f_mntonname)); +} Added: projects/fuse2/tests/sys/fs/fuse/unlink.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/unlink.cc Wed Mar 6 00:38:10 2019 (r344831) @@ -0,0 +1,90 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Unlink: public FuseTest {}; + +TEST_F(Unlink, eperm) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + out->body.entry.attr.nlink = 1; + })); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_UNLINK && + 0 == strcmp(RELPATH, in->body.unlink) && + in->header.nodeid == 1); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(EPERM))); + + ASSERT_NE(0, unlink(FULLPATH)); + ASSERT_EQ(EPERM, errno); +} + +TEST_F(Unlink, ok) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + + EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + out->body.entry.attr.nlink = 1; + })); + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_UNLINK && + 0 == strcmp(RELPATH, in->body.unlink) && + in->header.nodeid == 1); + }, Eq(true)), + _) + ).WillOnce(Invoke(ReturnErrno(0))); + + ASSERT_EQ(0, unlink(FULLPATH)) << strerror(errno); +} From owner-svn-src-projects@freebsd.org Thu Mar 7 18:12:35 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 51BDC150EAB7 for ; Thu, 7 Mar 2019 18:12:35 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id EA1046BA68; Thu, 7 Mar 2019 18:12:34 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id DF3541F659; Thu, 7 Mar 2019 18:12:34 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x27ICYG4075838; Thu, 7 Mar 2019 18:12:34 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x27ICYKc075837; Thu, 7 Mar 2019 18:12:34 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903071812.x27ICYKc075837@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Thu, 7 Mar 2019 18:12:34 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344890 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344890 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: EA1046BA68 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.958,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Mar 2019 18:12:35 -0000 Author: asomers Date: Thu Mar 7 18:12:34 2019 New Revision: 344890 URL: https://svnweb.freebsd.org/changeset/base/344890 Log: fuse(4): add tests relating to open(2) flags Sponsored by: The FreeBSD Foundation Modified: projects/fuse2/tests/sys/fs/fuse/open.cc Modified: projects/fuse2/tests/sys/fs/fuse/open.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/open.cc Thu Mar 7 15:31:32 2019 (r344889) +++ projects/fuse2/tests/sys/fs/fuse/open.cc Thu Mar 7 18:12:34 2019 (r344890) @@ -36,42 +36,65 @@ extern "C" { using namespace testing; -class Open: public FuseTest {}; +class Open: public FuseTest { -/* - * The fuse daemon fails the request with enoent. This usually indicates a - * race condition: some other FUSE client removed the file in between when the - * kernel checked for it with lookup and tried to open it - */ -TEST_F(Open, enoent) -{ +public: + +/* Test an OK open of a file with the given flags */ +void test_ok(int os_flags, int fuse_flags) { const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; + int fd; EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; })); EXPECT_CALL(*m_mock, process( ResultOf([=](auto in) { return (in->header.opcode == FUSE_OPEN && + in->body.open.flags == (uint32_t)fuse_flags && in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnErrno(ENOENT))); - EXPECT_NE(0, open(FULLPATH, O_RDONLY)); - EXPECT_EQ(ENOENT, errno); + ).WillOnce(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + })); + + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + + fd = open(FULLPATH, os_flags); + EXPECT_LE(0, fd) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ } +}; + /* - * The daemon is responsible for checking file permissions (unless the - * default_permissions mount option was used) + * The fuse daemon fails the request with enoent. This usually indicates a + * race condition: some other FUSE client removed the file in between when the + * kernel checked for it with lookup and tried to open it */ -TEST_F(Open, eperm) +TEST_F(Open, enoent) { const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; @@ -90,24 +113,26 @@ TEST_F(Open, eperm) in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke(ReturnErrno(EPERM))); + ).WillOnce(Invoke(ReturnErrno(ENOENT))); EXPECT_NE(0, open(FULLPATH, O_RDONLY)); - EXPECT_EQ(EPERM, errno); + EXPECT_EQ(ENOENT, errno); } -TEST_F(Open, ok) +/* + * The daemon is responsible for checking file permissions (unless the + * default_permissions mount option was used) + */ +TEST_F(Open, eperm) { const char FULLPATH[] = "mountpoint/some_file.txt"; const char RELPATH[] = "some_file.txt"; uint64_t ino = 42; - int fd; EXPECT_LOOKUP(1, RELPATH).WillOnce(Invoke([=](auto in, auto out) { out->header.unique = in->header.unique; SET_OUT_HEADER_LEN(out, entry); out->body.entry.attr.mode = S_IFREG | 0644; out->body.entry.nodeid = ino; - out->body.entry.attr_valid = UINT64_MAX; })); EXPECT_CALL(*m_mock, process( @@ -116,27 +141,65 @@ TEST_F(Open, ok) in->header.nodeid == ino); }, Eq(true)), _) - ).WillOnce(Invoke([](auto in, auto out) { - out->header.unique = in->header.unique; - out->header.len = sizeof(out->header); - SET_OUT_HEADER_LEN(out, open); - })); + ).WillOnce(Invoke(ReturnErrno(EPERM))); + EXPECT_NE(0, open(FULLPATH, O_RDONLY)); + EXPECT_EQ(EPERM, errno); +} - /* Until the attr cache is working, we may send an additional GETATTR */ - EXPECT_CALL(*m_mock, process( - ResultOf([=](auto in) { - return (in->header.opcode == FUSE_GETATTR && - in->header.nodeid == ino); - }, Eq(true)), - _) - ).WillRepeatedly(Invoke([=](auto in, auto out) { - out->header.unique = in->header.unique; - SET_OUT_HEADER_LEN(out, attr); - out->body.attr.attr.ino = ino; // Must match nodeid - out->body.attr.attr.mode = S_IFREG | 0644; - })); +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236340 */ +TEST_F(Open, DISABLED_o_append) +{ + test_ok(O_WRONLY | O_APPEND, O_WRONLY | O_APPEND); +} - fd = open(FULLPATH, O_RDONLY); - EXPECT_LE(0, fd) << strerror(errno); - /* Deliberately leak fd. close(2) will be tested in release.cc */ +/* The kernel is supposed to filter out this flag */ +TEST_F(Open, o_creat) +{ + test_ok(O_WRONLY | O_CREAT, O_WRONLY); } + +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236340 */ +TEST_F(Open, DISABLED_o_direct) +{ + test_ok(O_WRONLY | O_DIRECT, O_WRONLY | O_DIRECT); +} + +/* The kernel is supposed to filter out this flag */ +TEST_F(Open, o_excl) +{ + test_ok(O_WRONLY | O_EXCL, O_WRONLY); +} + +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236329 */ +TEST_F(Open, DISABLED_o_exec) +{ + test_ok(O_EXEC, O_EXEC); +} + +/* The kernel is supposed to filter out this flag */ +TEST_F(Open, o_noctty) +{ + test_ok(O_WRONLY | O_NOCTTY, O_WRONLY); +} + +TEST_F(Open, o_rdonly) +{ + test_ok(O_RDONLY, O_RDONLY); +} + +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236340 */ +TEST_F(Open, DISABLED_o_trunc) +{ + test_ok(O_WRONLY | O_TRUNC, O_WRONLY | O_TRUNC); +} + +TEST_F(Open, o_wronly) +{ + test_ok(O_WRONLY, O_WRONLY); +} + +TEST_F(Open, o_rdwr) +{ + test_ok(O_RDWR, O_RDWR); +} + From owner-svn-src-projects@freebsd.org Fri Mar 8 02:00:50 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B4FD152EC28 for ; Fri, 8 Mar 2019 02:00:50 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3EAE085709; Fri, 8 Mar 2019 02:00:50 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 34D55247B6; Fri, 8 Mar 2019 02:00:50 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x2820oZG023687; Fri, 8 Mar 2019 02:00:50 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x2820oZj023686; Fri, 8 Mar 2019 02:00:50 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903080200.x2820oZj023686@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 8 Mar 2019 02:00:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344914 - projects/fuse2/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/sys/fs/fuse X-SVN-Commit-Revision: 344914 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 3EAE085709 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.957,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2019 02:00:50 -0000 Author: asomers Date: Fri Mar 8 02:00:49 2019 New Revision: 344914 URL: https://svnweb.freebsd.org/changeset/base/344914 Log: fuse(4): add dtrace probe for illegal short writes Sponsored by: The FreeBSD Foundation Modified: projects/fuse2/sys/fs/fuse/fuse_io.c Modified: projects/fuse2/sys/fs/fuse/fuse_io.c ============================================================================== --- projects/fuse2/sys/fs/fuse/fuse_io.c Fri Mar 8 01:17:20 2019 (r344913) +++ projects/fuse2/sys/fs/fuse/fuse_io.c Fri Mar 8 02:00:49 2019 (r344914) @@ -369,13 +369,24 @@ fuse_write_directbackend(struct vnode *vp, struct uio if ((err = fdisp_wait_answ(&fdi))) break; + /* Adjust the uio in the case of short writes */ diff = chunksize - ((struct fuse_write_out *)fdi.answ)->size; if (diff < 0) { err = EINVAL; break; + } else if (diff > 0 && !(ioflag & IO_DIRECT)) { + /* + * XXX We really should be directly checking whether + * the file was opened with FOPEN_DIRECT_IO, not + * IO_DIRECT. IO_DIRECT can be set in multiple ways. + */ + SDT_PROBE2(fuse, , io, trace, 1, + "misbehaving filesystem: short writes are only " + "allowed with direct_io"); } uio->uio_resid += diff; uio->uio_offset -= diff; + if (uio->uio_offset > fvdat->filesize && fuse_data_cache_mode != FUSE_CACHE_UC) { fuse_vnode_setsize(vp, cred, uio->uio_offset); From owner-svn-src-projects@freebsd.org Fri Mar 8 15:06:01 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2A8131507D7B for ; Fri, 8 Mar 2019 15:06:01 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com [IPv6:2607:f8b0:4864:20::536]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 97AF576F7E; Fri, 8 Mar 2019 15:06:00 +0000 (UTC) (envelope-from yaneurabeya@gmail.com) Received: by mail-pg1-x536.google.com with SMTP id m2so14361753pgl.5; Fri, 08 Mar 2019 07:06:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=QdPQ2rnSEfINuCyuz8AB5f+HSfmKMD+kvjCSXPjo0SI=; b=Lht/jHLsEEB9hQNJpEzpn1WYxiMLd8zjDI5qN9zMq+9d10OVD/V5XvK3ISHoj/Pbsv D2iC4ycEdWaK4ROXk/0A3COSmQWNJWjt9MbgzxRLP8X9ddMHsCDU3p/bP39bTJEz65z5 uOZZrR5oRgWFBWmosUUWmd34P9lMCx77IwursSbgdev6ZbrjaJEnDxM+grXHOR6y7SUs huXvy1rGXjQEhEpJMlePbiZrroXXJd0q81c3UjW279lgtWun1cHG/dqiuXlpsMsN+pZ/ jPIfhUubD/R6K2V/BIVwQU1qnP6BRp9Q5AB4Tt6VFR4Z4i8qRJHBaj6ZrdvxYpQtMTNs qTCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=QdPQ2rnSEfINuCyuz8AB5f+HSfmKMD+kvjCSXPjo0SI=; b=uUKkHLx/zLUHUKa64v9eZgD5qt5pcHsJElgYugwWwDZ7sN5lth7yPV3nH95n6m1zAL 5JKdqJ/EK4QJd/7qGKzvhvaCN3BHtTAnILkaTjAkgUU44VIpsjTONNpsJbRsnrVZXB0w YuXi3YUgZtzG0a27vcnBSmkr32kLtW473BK5k3+iTjJZMKj8YtYBUNSYBSHC3UTVoLx9 eIGiIIWulFUZVtU0uXOpoq5DFo3mVqYwojPxYDJp/U+6w3ENCanBVjZk0brCR0ZU3ZO3 eufFTLkDsB+SxCB4uir1xMEMiN9f2j10XEEdsISlgHhmmUNh4kMVZlSJSIe0A2YFkCKP cy3A== X-Gm-Message-State: APjAAAUbvlAwq3tzE5ljPrpI4vSv9l2xTdhaAMonU+rp6gaQglU7aXb6 pZ3tnLAiVzlnIpxN9ifyr69QG4Gq X-Google-Smtp-Source: APXvYqzQHtrC0GgHeUK1cK97xSntTFyAhPkfV0pu8GZiSjafLMx4hd5aQxi8WGu0mF7x4KsORtP9Ew== X-Received: by 2002:a17:902:403:: with SMTP id 3mr19310477ple.48.1552057558630; Fri, 08 Mar 2019 07:05:58 -0800 (PST) Received: from [192.168.20.22] (c-73-19-52-228.hsd1.wa.comcast.net. [73.19.52.228]) by smtp.gmail.com with ESMTPSA id a2sm2222766pgq.89.2019.03.08.07.05.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Mar 2019 07:05:57 -0800 (PST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (1.0) Subject: Re: svn commit: r344890 - projects/fuse2/tests/sys/fs/fuse From: Enji Cooper X-Mailer: iPhone Mail (16D57) In-Reply-To: <201903071812.x27ICYKc075837@repo.freebsd.org> Date: Fri, 8 Mar 2019 07:05:57 -0800 Cc: src-committers@freebsd.org, svn-src-projects@freebsd.org Content-Transfer-Encoding: 7bit Message-Id: References: <201903071812.x27ICYKc075837@repo.freebsd.org> To: Alan Somers X-Rspamd-Queue-Id: 97AF576F7E X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.97 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.972,0]; REPLY(-4.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2019 15:06:01 -0000 > On Mar 7, 2019, at 10:12, Alan Somers wrote: > > Author: asomers > Date: Thu Mar 7 18:12:34 2019 > New Revision: 344890 > URL: https://svnweb.freebsd.org/changeset/base/344890 > > Log: > fuse(4): add tests relating to open(2) flags > > Sponsored by: The FreeBSD Foundation Would it also make sense to test out FUSE with pjdfstest? -Enji From owner-svn-src-projects@freebsd.org Fri Mar 8 15:09:05 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ED3F21507F89 for ; Fri, 8 Mar 2019 15:09:04 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f178.google.com (mail-lj1-f178.google.com [209.85.208.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 5B49D7717C; Fri, 8 Mar 2019 15:09:03 +0000 (UTC) (envelope-from asomers@gmail.com) Received: by mail-lj1-f178.google.com with SMTP id v10so17667916lji.3; Fri, 08 Mar 2019 07:09:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=peTU5OQbNeYvD/ZaWv+KrDAsMVnMj7UinsRvzY4KcF0=; b=PEjPyfAfXDZ86FcEde7yXsTHky0/IlO10E4z9PxdVYSSzDaHQcZCKjf4vfJxav2rnG ODsuh8GnBESGvvMs1QiDOy0MMAyqzqnYw4b7rzXa7C8LJFDqnBZaUvCN10/zzqBzKWmY HCpSTEgId7BtKQrr/aSc7lJSJT/t7b9x6STvV+l54wFJeqsz5nh4XgIlHPxhhUc3QVSM poSrH6txUhqZwmSvXA3DKX8j0jkDttlc2oJiQfQncAp5CuC4IMa4uAjT3n8SGVKEHwow qDfRd2bkLj4RVjK0Oek/B78OHlj7h3CGnIa7AjXuxaUt7Du76zu1WJ73EmIGiQfJzKi2 7RDw== X-Gm-Message-State: APjAAAWj9iIYMGIx0pZpq6so+VbvUV44ne69UGi3TYj3tQfeGXhelWYw 3XbdP68bY4nkAcDWeCFuNYVtqkt2IrkDPUvi9et7YQ== X-Google-Smtp-Source: APXvYqyktcxzDSTYCYPcDiyNexQLjbDL7Ukzdy0AvAVq1hSxOuj2FwTj2/Gg14HOdGHEC4MEx+A0gOqt8fKYabcqYDc= X-Received: by 2002:a2e:54f:: with SMTP id 76mr9613018ljf.20.1552057741847; Fri, 08 Mar 2019 07:09:01 -0800 (PST) MIME-Version: 1.0 References: <201903071812.x27ICYKc075837@repo.freebsd.org> In-Reply-To: From: Alan Somers Date: Fri, 8 Mar 2019 08:08:50 -0700 Message-ID: Subject: Re: svn commit: r344890 - projects/fuse2/tests/sys/fs/fuse To: Enji Cooper Cc: src-committers , svn-src-projects@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 5B49D7717C X-Spamd-Bar: ------ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-6.95 / 15.00]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; REPLY(-4.00)[]; NEURAL_HAM_SHORT(-0.95)[-0.946,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2019 15:09:05 -0000 On Fri, Mar 8, 2019 at 8:06 AM Enji Cooper wrote: > > > > On Mar 7, 2019, at 10:12, Alan Somers wrote: > > > > Author: asomers > > Date: Thu Mar 7 18:12:34 2019 > > New Revision: 344890 > > URL: https://svnweb.freebsd.org/changeset/base/344890 > > > > Log: > > fuse(4): add tests relating to open(2) flags > > > > Sponsored by: The FreeBSD Foundation > > Would it also make sense to test out FUSE with pjdfstest? > -Enji Absolutely! libfuse includes a passthrough filesystem as an example. I plan to run pjdfstest on that. However, I don't think it should be added to CI, just because the runtime is long and the ratio of coverage to runtime is poor. I think I'll run pjdfstest by hand for exploratory testing, and write minimal reproduction cases for any bugs that it finds. -Alan From owner-svn-src-projects@freebsd.org Fri Mar 8 19:01:33 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 826CB1526295 for ; Fri, 8 Mar 2019 19:01:33 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 32BFC872FD; Fri, 8 Mar 2019 19:01:33 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2758E2F5FD; Fri, 8 Mar 2019 19:01:33 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x28J1XNv061655; Fri, 8 Mar 2019 19:01:33 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x28J1W7l061651; Fri, 8 Mar 2019 19:01:32 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903081901.x28J1W7l061651@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 8 Mar 2019 19:01:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344930 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344930 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 32BFC872FD X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.961,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2019 19:01:34 -0000 Author: asomers Date: Fri Mar 8 19:01:31 2019 New Revision: 344930 URL: https://svnweb.freebsd.org/changeset/base/344930 Log: fuse(4): add tests for FUSE_WRITE and FUSE_RELEASE And a few definitions needed for upcoming FUSE_READ tests Sponsored by: The FreeBSD Foundation Added: projects/fuse2/tests/sys/fs/fuse/release.cc (contents, props changed) projects/fuse2/tests/sys/fs/fuse/write.cc (contents, props changed) Modified: projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/mockfs.cc projects/fuse2/tests/sys/fs/fuse/mockfs.hh Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Fri Mar 8 18:59:37 2019 (r344929) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Fri Mar 8 19:01:31 2019 (r344930) @@ -13,12 +13,14 @@ ATF_TESTS_CXX+= mkdir ATF_TESTS_CXX+= mknod ATF_TESTS_CXX+= open ATF_TESTS_CXX+= readlink +ATF_TESTS_CXX+= release ATF_TESTS_CXX+= rename ATF_TESTS_CXX+= rmdir ATF_TESTS_CXX+= setattr ATF_TESTS_CXX+= statfs ATF_TESTS_CXX+= symlink ATF_TESTS_CXX+= unlink +ATF_TESTS_CXX+= write SRCS.access+= access.cc SRCS.access+= getmntopts.c @@ -65,6 +67,11 @@ SRCS.readlink+= mockfs.cc SRCS.readlink+= readlink.cc SRCS.readlink+= utils.cc +SRCS.release+= getmntopts.c +SRCS.release+= mockfs.cc +SRCS.release+= release.cc +SRCS.release+= utils.cc + SRCS.rename+= getmntopts.c SRCS.rename+= mockfs.cc SRCS.rename+= rename.cc @@ -95,6 +102,11 @@ SRCS.unlink+= mockfs.cc SRCS.unlink+= unlink.cc SRCS.unlink+= utils.cc +SRCS.write+= getmntopts.c +SRCS.write+= mockfs.cc +SRCS.write+= write.cc +SRCS.write+= utils.cc + # TODO: drastically increase timeout after test development is mostly complete TEST_METADATA+= timeout=10 @@ -105,7 +117,7 @@ CFLAGS+= -I${FUSEFS} CFLAGS+= -I${MOUNT} .PATH: ${MOUNT} -LIBADD+= pthread +LIBADD+= util pthread WARNS?= 6 NO_WTHREAD_SAFETY= # GoogleTest fails Clang's thread safety check Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.cc ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.cc Fri Mar 8 18:59:37 2019 (r344929) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.cc Fri Mar 8 19:01:31 2019 (r344930) @@ -33,8 +33,10 @@ extern "C" { #include #include #include +#include #include +#include #include #include #include @@ -57,44 +59,44 @@ const char* opcode2opname(uint32_t opcode) const int NUM_OPS = 39; const char* table[NUM_OPS] = { "Unknown (opcode 0)", - "FUSE_LOOKUP", - "FUSE_FORGET", - "FUSE_GETATTR", - "FUSE_SETATTR", - "FUSE_READLINK", - "FUSE_SYMLINK", + "LOOKUP", + "FORGET", + "GETATTR", + "SETATTR", + "READLINK", + "SYMLINK", "Unknown (opcode 7)", - "FUSE_MKNOD", - "FUSE_MKDIR", - "FUSE_UNLINK", - "FUSE_RMDIR", - "FUSE_RENAME", - "FUSE_LINK", - "FUSE_OPEN", - "FUSE_READ", - "FUSE_WRITE", - "FUSE_STATFS", - "FUSE_RELEASE", + "MKNOD", + "MKDIR", + "UNLINK", + "RMDIR", + "RENAME", + "LINK", + "OPEN", + "READ", + "WRITE", + "STATFS", + "RELEASE", "Unknown (opcode 19)", - "FUSE_FSYNC", - "FUSE_SETXATTR", - "FUSE_GETXATTR", - "FUSE_LISTXATTR", - "FUSE_REMOVEXATTR", - "FUSE_FLUSH", - "FUSE_INIT", - "FUSE_OPENDIR", - "FUSE_READDIR", - "FUSE_RELEASEDIR", - "FUSE_FSYNCDIR", - "FUSE_GETLK", - "FUSE_SETLK", - "FUSE_SETLKW", - "FUSE_ACCESS", - "FUSE_CREATE", - "FUSE_INTERRUPT", - "FUSE_BMAP", - "FUSE_DESTROY" + "FSYNC", + "SETXATTR", + "GETXATTR", + "LISTXATTR", + "REMOVEXATTR", + "FLUSH", + "INIT", + "OPENDIR", + "READDIR", + "RELEASEDIR", + "FSYNCDIR", + "GETLK", + "SETLK", + "SETLKW", + "ACCESS", + "CREATE", + "INTERRUPT", + "BMAP", + "DESTROY" }; if (opcode >= NUM_OPS) return ("Unknown (opcode > max)"); @@ -133,12 +135,30 @@ void sigint_handler(int __unused sig) { void debug_fuseop(const mockfs_buf_in *in) { - printf("%s ino=%lu", opcode2opname(in->header.opcode), + printf("%-11s ino=%2lu", opcode2opname(in->header.opcode), in->header.nodeid); + if (verbosity > 1) { + printf(" uid=%5u gid=%5u pid=%5u unique=%lu len=%u", + in->header.uid, in->header.gid, in->header.pid, + in->header.unique, in->header.len); + } switch (in->header.opcode) { case FUSE_LOOKUP: printf(" %s", in->body.lookup); break; + case FUSE_OPEN: + printf(" flags=%#x mode=%#o", + in->body.open.flags, in->body.open.mode); + break; + case FUSE_READ: + printf(" offset=%lu size=%u", in->body.read.offset, + in->body.read.size); + break; + case FUSE_WRITE: + printf(" offset=%lu size=%u flags=%u", + in->body.write.offset, in->body.write.size, + in->body.write.write_flags); + break; default: break; } @@ -201,22 +221,37 @@ MockFS::~MockFS() { void MockFS::init() { mockfs_buf_in *in; - mockfs_buf_out out; + mockfs_buf_out *out; in = (mockfs_buf_in*) malloc(sizeof(*in)); ASSERT_TRUE(in != NULL); + out = (mockfs_buf_out*) malloc(sizeof(*out)); + ASSERT_TRUE(out != NULL); read_request(in); ASSERT_EQ(FUSE_INIT, in->header.opcode); - memset(&out, 0, sizeof(out)); - out.header.unique = in->header.unique; - out.header.error = 0; - out.body.init.major = FUSE_KERNEL_VERSION; - out.body.init.minor = FUSE_KERNEL_MINOR_VERSION; - SET_OUT_HEADER_LEN(&out, init); - write(m_fuse_fd, &out, out.header.len); + memset(out, 0, sizeof(*out)); + out->header.unique = in->header.unique; + out->header.error = 0; + out->body.init.major = FUSE_KERNEL_VERSION; + out->body.init.minor = FUSE_KERNEL_MINOR_VERSION; + /* + * The default max_write is set to this formula in libfuse, though + * individual filesystems can lower it. The "- 4096" was added in + * commit 154ffe2, with the commit message "fix". + */ + uint32_t default_max_write = 32 * getpagesize() + 0x1000 - 4096; + /* For testing purposes, it should be distinct from MAXPHYS */ + m_max_write = MIN(default_max_write, MAXPHYS / 2); + out->body.init.max_write = m_max_write; + + /* Default max_readahead is UINT_MAX, though it can be lowered */ + out->body.init.max_readahead = UINT_MAX; + SET_OUT_HEADER_LEN(out, init); + write(m_fuse_fd, out, out->header.len); + free(in); } @@ -246,15 +281,15 @@ void MockFS::loop() { break; if (verbosity > 0) debug_fuseop(in); - if ((pid_t)in->header.pid != m_pid) { + if (pid_ok((pid_t)in->header.pid)) { + process(in, &out); + } else { /* * Reject any requests from unknown processes. Because * we actually do mount a filesystem, plenty of * unrelated system daemons may try to access it. */ process_default(in, &out); - } else { - process(in, &out); } if (in->header.opcode == FUSE_FORGET) { /*Alone among the opcodes, FORGET expects no response*/ @@ -265,6 +300,27 @@ void MockFS::loop() { << strerror(errno); } free(in); +} + +bool MockFS::pid_ok(pid_t pid) { + if (pid == m_pid) { + return (true); + } else { + struct kinfo_proc *ki; + bool ok = false; + + ki = kinfo_getproc(pid); + if (ki == NULL) + return (false); + /* + * Allow access by the aio daemon processes so that our tests + * can use aio functions + */ + if (0 == strncmp("aiod", ki->ki_comm, 4)) + ok = true; + free(ki); + return (ok); + } } void MockFS::process_default(const mockfs_buf_in *in, mockfs_buf_out* out) { Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Fri Mar 8 18:59:37 2019 (r344929) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Fri Mar 8 19:01:31 2019 (r344930) @@ -80,10 +80,13 @@ union fuse_payloads_in { fuse_mkdir_in mkdir; fuse_mknod_in mknod; fuse_open_in open; + fuse_read_in read; + fuse_release_in release; fuse_rename_in rename; char rmdir[0]; fuse_setattr_in setattr; char unlink[0]; + fuse_write_in write; }; struct mockfs_buf_in { @@ -94,6 +97,8 @@ struct mockfs_buf_in { union fuse_payloads_out { fuse_attr_out attr; fuse_create_out create; + /* The protocol places no limits on the size of bytes */ + uint8_t bytes[0x2000]; fuse_entry_out entry; fuse_init_out init; fuse_open_out open; @@ -103,6 +108,7 @@ union fuse_payloads_out { * merely convenient for testing. */ char str[80]; + fuse_write_out write; }; struct mockfs_buf_out { @@ -110,12 +116,16 @@ struct mockfs_buf_out { union fuse_payloads_out body; }; +/* A function that can be invoked in place of MockFS::process */ +typedef std::function +ProcessMockerT; + /* * Helper function used for setting an error expectation for any fuse operation. * The operation will return the supplied error */ -std::function -ReturnErrno(int error); +ProcessMockerT ReturnErrno(int error); /* Helper function used for returning negative cache entries for LOOKUP */ std::function @@ -130,7 +140,6 @@ ReturnNegativeCache(const struct timespec *entry_valid * Operates directly on the fuse(4) kernel API, not the libfuse(3) user api. */ class MockFS { - public: /* * thread id of the fuse daemon thread * @@ -139,7 +148,6 @@ class MockFS { */ pthread_t m_daemon_id; - private: /* file descriptor of /dev/fuse control device */ int m_fuse_fd; @@ -149,6 +157,9 @@ class MockFS { /* Initialize a session after mounting */ void init(); + /* Is pid from a process that might be involved in the test? */ + bool pid_ok(pid_t pid); + /* Default request handler */ void process_default(const mockfs_buf_in*, mockfs_buf_out*); @@ -159,6 +170,9 @@ class MockFS { void read_request(mockfs_buf_in*); public: + /* Maximum size of a FUSE_WRITE write */ + uint32_t m_max_write; + /* Create a new mockfs and mount it to a tempdir */ MockFS(); virtual ~MockFS(); Added: projects/fuse2/tests/sys/fs/fuse/release.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/release.cc Fri Mar 8 19:01:31 2019 (r344930) @@ -0,0 +1,199 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Release: public FuseTest { + +const static uint64_t FH = 0xdeadbeef1a7ebabe; + +public: +void expect_getattr(uint64_t ino) +{ + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + +} + +void expect_lookup(const char *relpath, uint64_t ino) +{ + EXPECT_LOOKUP(1, relpath).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; + })); +} + +void expect_open(uint64_t ino, int times) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).Times(times) + .WillRepeatedly(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + out->body.open.fh = Release::FH; + })); + +} + +void expect_release(uint64_t ino, int times, ProcessMockerT r) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_RELEASE && + in->header.nodeid == ino && + in->body.release.fh == Release::FH); + }, Eq(true)), + _) + ).Times(times) + .WillRepeatedly(Invoke(r)); +} +}; + +// TODO: lock owner stuff + +/* If a file descriptor is duplicated, only the last close causes RELEASE */ +TEST_F(Release, dup) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd, fd2; + + expect_lookup(RELPATH, ino); + expect_open(ino, 1); + expect_getattr(ino); + expect_release(ino, 1, ReturnErrno(0)); + + fd = open(FULLPATH, O_RDONLY); + EXPECT_LE(0, fd) << strerror(errno); + + fd2 = dup(fd); + + ASSERT_EQ(0, close(fd2)) << strerror(errno); + ASSERT_EQ(0, close(fd)) << strerror(errno); +} + +/* + * Some FUSE filesystem cache data internally and flush it on release. Such + * filesystems may generate errors during release. On Linux, these get + * returned by close(2). However, POSIX does not require close(2) to return + * this error. FreeBSD's fuse(4) should return EIO if it returns an error at + * all. + */ +/* http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html */ +TEST_F(Release, eio) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + + expect_lookup(RELPATH, ino); + expect_open(ino, 1); + expect_getattr(ino); + expect_release(ino, 1, ReturnErrno(EIO)); + + fd = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd) << strerror(errno); + + ASSERT_TRUE(0 == close(fd) || errno == EIO) << strerror(errno); +} + +/* + * fuse(4) will issue multiple FUSE_OPEN operations for the same file if it's + * opened with different modes. Each FUSE_OPEN should get its own + * FUSE_RELEASE. + */ +TEST_F(Release, multiple_opens) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd, fd2; + + expect_lookup(RELPATH, ino); + expect_open(ino, 2); + expect_getattr(ino); + expect_release(ino, 2, ReturnErrno(0)); + + fd = open(FULLPATH, O_RDONLY); + EXPECT_LE(0, fd) << strerror(errno); + + fd2 = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd2) << strerror(errno); + + ASSERT_EQ(0, close(fd2)) << strerror(errno); + ASSERT_EQ(0, close(fd)) << strerror(errno); +} + +TEST_F(Release, ok) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + + expect_lookup(RELPATH, ino); + expect_open(ino, 1); + expect_getattr(ino); + expect_release(ino, 1, ReturnErrno(0)); + + fd = open(FULLPATH, O_RDONLY); + EXPECT_LE(0, fd) << strerror(errno); + + ASSERT_EQ(0, close(fd)) << strerror(errno); +} Added: projects/fuse2/tests/sys/fs/fuse/write.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/write.cc Fri Mar 8 19:01:31 2019 (r344930) @@ -0,0 +1,733 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +#include +#include +#include +#include + +#include +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +/* + * TODO: remove FUSE_WRITE_CACHE definition when upgrading to protocol 7.9. + * This bit was actually part of kernel protocol version 7.2, but never + * documented until 7.9 + */ +#ifndef FUSE_WRITE_CACHE +#define FUSE_WRITE_CACHE 1 +#endif + +using namespace testing; + +class Write: public FuseTest { + +public: +int m_maxbcachebuf; + +virtual void SetUp() { + const char *node = "vfs.maxbcachebuf"; + int val = 0; + size_t size = sizeof(val); + + ASSERT_EQ(0, sysctlbyname(node, &val, &size, NULL, 0)) + << strerror(errno); + m_maxbcachebuf = val; + + FuseTest::SetUp(); +} + +const static uint64_t FH = 0xdeadbeef1a7ebabe; +void expect_getattr(uint64_t ino, uint64_t size) +{ + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + out->body.attr.attr.size = size; + out->body.attr.attr_valid = UINT64_MAX; + })); + +} + +void expect_lookup(const char *relpath, uint64_t ino) +{ + EXPECT_LOOKUP(1, relpath).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; + })); +} + +void expect_open(uint64_t ino, uint32_t flags, int times) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).Times(times) + .WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + out->body.open.fh = Write::FH; + out->body.open.open_flags = flags; + })); +} + +void expect_read(uint64_t ino, uint64_t offset, uint64_t size, + const void *contents) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_READ && + in->header.nodeid == ino && + in->body.read.fh == Write::FH && + in->body.read.offset == offset && + in->body.read.size == size); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(struct fuse_out_header) + size; + memmove(out->body.bytes, contents, size); + })).RetiresOnSaturation(); + +} + +void expect_release(uint64_t ino, ProcessMockerT r) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_RELEASE && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke(r)); +} + +void expect_write(uint64_t ino, uint64_t offset, uint64_t isize, uint64_t osize, + uint32_t flags, const void *contents) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + const char *buf = (const char*)in->body.bytes + + sizeof(struct fuse_write_in); + bool pid_ok; + + if (in->body.write.write_flags & FUSE_WRITE_CACHE) + pid_ok = true; + else + pid_ok = (pid_t)in->header.pid == getpid(); + + return (in->header.opcode == FUSE_WRITE && + in->header.nodeid == ino && + in->body.write.fh == Write::FH && + in->body.write.offset == offset && + in->body.write.size == isize && + pid_ok && + in->body.write.write_flags == flags && + 0 == bcmp(buf, contents, isize)); + }, Eq(true)), + _) + ).WillOnce(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, write); + out->body.write.size = osize; + })); +} + +}; + +class AioWrite: public Write { +virtual void SetUp() { + const char *node = "vfs.aio.enable_unsafe"; + int val = 0; + size_t size = sizeof(val); + + ASSERT_EQ(0, sysctlbyname(node, &val, &size, NULL, 0)) + << strerror(errno); + // TODO: With GoogleTest 1.8.2, use SKIP instead + if (!val) + FAIL() << "vfs.aio.enable_unsafe must be set for this test"; + FuseTest::SetUp(); +} +}; + +/* Tests for the write-through cache mode */ +class WriteThrough: public Write { + +virtual void SetUp() { + const char *cache_mode_node = "vfs.fuse.data_cache_mode"; + const char *sync_resize_node = "vfs.fuse.sync_resize"; + int val = 0; + size_t size = sizeof(val); + + ASSERT_EQ(0, sysctlbyname(cache_mode_node, &val, &size, NULL, 0)) + << strerror(errno); + // TODO: With GoogleTest 1.8.2, use SKIP instead + if (val != 1) + FAIL() << "vfs.fuse.data_cache_mode must be set to 1 " + "(writethrough) for this test"; + + ASSERT_EQ(0, sysctlbyname(sync_resize_node, &val, &size, NULL, 0)) + << strerror(errno); + if (val != 0) + FAIL() << "vfs.fuse.sync_resize must be set to 0 for this test." + " That sysctl will probably be removed soon."; + + FuseTest::SetUp(); +} + +}; + +/* Tests for the writeback cache mode */ +class WriteBack: public Write { + +virtual void SetUp() { + const char *node = "vfs.fuse.data_cache_mode"; + int val = 0; + size_t size = sizeof(val); + + ASSERT_EQ(0, sysctlbyname(node, &val, &size, NULL, 0)) + << strerror(errno); + // TODO: With GoogleTest 1.8.2, use SKIP instead + if (val != 2) + FAIL() << "vfs.fuse.data_cache_mode must be set to 2 " + "(writeback) for this test"; + FuseTest::SetUp(); +} + +}; + +/* AIO writes need to set the header's pid field correctly */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236379 */ +TEST_F(AioWrite, DISABLED_aio_write) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char *CONTENTS = "abcdefgh"; + uint64_t ino = 42; + uint64_t offset = 4096; + int fd; + ssize_t bufsize = strlen(CONTENTS); + struct aiocb iocb, *piocb; + + expect_lookup(RELPATH, ino); + expect_open(ino, 0, 1); + expect_getattr(ino, 0); + expect_write(ino, offset, bufsize, bufsize, 0, CONTENTS); + + fd = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd) << strerror(errno); + + iocb.aio_nbytes = bufsize; + iocb.aio_fildes = fd; + iocb.aio_buf = (void *)CONTENTS; + iocb.aio_offset = offset; + iocb.aio_sigevent.sigev_notify = SIGEV_NONE; + ASSERT_EQ(0, aio_write(&iocb)) << strerror(errno); + ASSERT_EQ(bufsize, aio_waitcomplete(&piocb, NULL)) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* + * When a file is opened with O_APPEND, we should forward that flag to + * FUSE_OPEN (tested by Open.o_append) but still attempt to calculate the + * offset internally. That way we'll work both with filesystems that + * understand O_APPEND (and ignore the offset) and filesystems that don't (and + * simply use the offset). + * + * Note that verifying the O_APPEND flag in FUSE_OPEN is done in the + * Open.o_append test. + */ +TEST_F(Write, append) +{ + const ssize_t BUFSIZE = 9; + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char CONTENTS[BUFSIZE] = "abcdefgh"; + uint64_t ino = 42; + /* + * Set offset to a maxbcachebuf boundary so we don't need to RMW when + * using writeback caching + */ + uint64_t initial_offset = m_maxbcachebuf; + int fd; + + expect_lookup(RELPATH, ino); + expect_open(ino, 0, 1); + expect_getattr(ino, initial_offset); + expect_write(ino, initial_offset, BUFSIZE, BUFSIZE, 0, CONTENTS); + + /* Must open O_RDWR or fuse(4) implicitly sets direct_io */ + fd = open(FULLPATH, O_RDWR | O_APPEND); + EXPECT_LE(0, fd) << strerror(errno); + + ASSERT_EQ(BUFSIZE, write(fd, CONTENTS, BUFSIZE)) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +TEST_F(Write, append_direct_io) +{ + const ssize_t BUFSIZE = 9; + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char CONTENTS[BUFSIZE] = "abcdefgh"; + uint64_t ino = 42; + uint64_t initial_offset = 4096; + int fd; + + expect_lookup(RELPATH, ino); + expect_open(ino, FOPEN_DIRECT_IO, 1); + expect_getattr(ino, initial_offset); + expect_write(ino, initial_offset, BUFSIZE, BUFSIZE, 0, CONTENTS); + + fd = open(FULLPATH, O_WRONLY | O_APPEND); + EXPECT_LE(0, fd) << strerror(errno); + + ASSERT_EQ(BUFSIZE, write(fd, CONTENTS, BUFSIZE)) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* A direct write should evict any overlapping cached data */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=235774 */ +TEST_F(Write, DISABLED_direct_io_evicts_cache) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char CONTENTS0[] = "abcdefgh"; + const char CONTENTS1[] = "ijklmnop"; + uint64_t ino = 42; + int fd; + ssize_t bufsize = strlen(CONTENTS0) + 1; + char readbuf[bufsize]; + + expect_lookup(RELPATH, ino); + expect_open(ino, 0, 1); + expect_getattr(ino, bufsize); + expect_read(ino, 0, bufsize, CONTENTS0); + expect_write(ino, 0, bufsize, bufsize, 0, CONTENTS1); + + fd = open(FULLPATH, O_RDWR); + EXPECT_LE(0, fd) << strerror(errno); + + // Prime cache + ASSERT_EQ(bufsize, read(fd, readbuf, bufsize)) << strerror(errno); + + // Write directly, evicting cache + ASSERT_EQ(0, fcntl(fd, F_SETFL, O_DIRECT)) << strerror(errno); + ASSERT_EQ(0, lseek(fd, 0, SEEK_SET)) << strerror(errno); + ASSERT_EQ(bufsize, write(fd, CONTENTS1, bufsize)) << strerror(errno); + + // Read again. Cache should be bypassed + expect_read(ino, 0, bufsize, CONTENTS1); + ASSERT_EQ(0, fcntl(fd, F_SETFL, 0)) << strerror(errno); + ASSERT_EQ(0, lseek(fd, 0, SEEK_SET)) << strerror(errno); + ASSERT_EQ(bufsize, read(fd, readbuf, bufsize)) << strerror(errno); + ASSERT_STREQ(readbuf, CONTENTS1); + + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* + * When the direct_io option is used, filesystems are allowed to write less + * data than requested + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236381 */ +TEST_F(Write, DISABLED_direct_io_short_write) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char *CONTENTS = "abcdefghijklmnop"; + uint64_t ino = 42; + int fd; + ssize_t bufsize = strlen(CONTENTS); + ssize_t halfbufsize = bufsize / 2; + const char *halfcontents = CONTENTS + halfbufsize; + + expect_lookup(RELPATH, ino); + expect_open(ino, FOPEN_DIRECT_IO, 1); + expect_getattr(ino, 0); + expect_write(ino, 0, bufsize, halfbufsize, 0, CONTENTS); + expect_write(ino, halfbufsize, halfbufsize, halfbufsize, 0, + halfcontents); + + fd = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd) << strerror(errno); + + ASSERT_EQ(bufsize, write(fd, CONTENTS, bufsize)) << strerror(errno); + /* Deliberately leak fd. close(2) will be tested in release.cc */ +} + +/* + * An insidious edge case: the filesystem returns a short write, and the + * difference between what we requested and what it actually wrote crosses an + * iov element boundary + */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236381 */ +TEST_F(Write, DISABLED_direct_io_short_write_iov) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + const char *CONTENTS0 = "abcdefgh"; + const char *CONTENTS1 = "ijklmnop"; + const char *EXPECTED0 = "abcdefghijklmnop"; + const char *EXPECTED1 = "hijklmnop"; + uint64_t ino = 42; + int fd; + ssize_t size0 = strlen(CONTENTS0) - 1; + ssize_t size1 = strlen(CONTENTS1) + 1; + ssize_t totalsize = size0 + size1; + struct iovec iov[2]; + + expect_lookup(RELPATH, ino); + expect_open(ino, FOPEN_DIRECT_IO, 1); + expect_getattr(ino, 0); + expect_write(ino, 0, totalsize, size0, 0, EXPECTED0); + expect_write(ino, size0, size1, size1, 0, EXPECTED1); + + fd = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd) << strerror(errno); + + iov[0].iov_base = (void*)CONTENTS0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Mar 8 23:07:52 2019 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 782E7152D4E4 for ; Fri, 8 Mar 2019 23:07:52 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 1DC6A91024; Fri, 8 Mar 2019 23:07:52 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 0B85F1FF8; Fri, 8 Mar 2019 23:07:52 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x28N7pmI092026; Fri, 8 Mar 2019 23:07:51 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x28N7pg7092023; Fri, 8 Mar 2019 23:07:51 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201903082307.x28N7pg7092023@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Fri, 8 Mar 2019 23:07:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r344950 - projects/fuse2/tests/sys/fs/fuse X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: projects/fuse2/tests/sys/fs/fuse X-SVN-Commit-Revision: 344950 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: 1DC6A91024 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.96 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.96)[-0.962,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 08 Mar 2019 23:07:52 -0000 Author: asomers Date: Fri Mar 8 23:07:51 2019 New Revision: 344950 URL: https://svnweb.freebsd.org/changeset/base/344950 Log: fuse(4): Add some tests for FUSE_FLUSH PR: 236405 Sponsored by: The FreeBSD Foundation Added: projects/fuse2/tests/sys/fs/fuse/flush.cc (contents, props changed) Modified: projects/fuse2/tests/sys/fs/fuse/Makefile projects/fuse2/tests/sys/fs/fuse/mockfs.hh Modified: projects/fuse2/tests/sys/fs/fuse/Makefile ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/Makefile Fri Mar 8 22:45:12 2019 (r344949) +++ projects/fuse2/tests/sys/fs/fuse/Makefile Fri Mar 8 23:07:51 2019 (r344950) @@ -6,6 +6,7 @@ TESTSDIR= ${TESTSBASE}/sys/fs/fuse ATF_TESTS_CXX+= access ATF_TESTS_CXX+= create +ATF_TESTS_CXX+= flush ATF_TESTS_CXX+= getattr ATF_TESTS_CXX+= link ATF_TESTS_CXX+= lookup @@ -31,6 +32,11 @@ SRCS.create+= create.cc SRCS.create+= getmntopts.c SRCS.create+= mockfs.cc SRCS.create+= utils.cc + +SRCS.flush+= flush.cc +SRCS.flush+= getmntopts.c +SRCS.flush+= mockfs.cc +SRCS.flush+= utils.cc SRCS.getattr+= getattr.cc SRCS.getattr+= getmntopts.c Added: projects/fuse2/tests/sys/fs/fuse/flush.cc ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/tests/sys/fs/fuse/flush.cc Fri Mar 8 23:07:51 2019 (r344950) @@ -0,0 +1,193 @@ +/*- + * Copyright (c) 2019 The FreeBSD Foundation + * All rights reserved. + * + * This software was developed by BFF Storage Systems, LLC under sponsorship + * from the FreeBSD Foundation. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +extern "C" { +#include +#include +} + +#include "mockfs.hh" +#include "utils.hh" + +using namespace testing; + +class Flush: public FuseTest { + +const static uint64_t FH = 0xdeadbeef1a7ebabe; + +public: +void expect_flush(uint64_t ino, int times, ProcessMockerT r) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_FLUSH && + in->header.nodeid == ino && + in->body.flush.fh == Flush::FH); + }, Eq(true)), + _) + ).Times(times) + .WillRepeatedly(Invoke(r)); +} + +void expect_getattr(uint64_t ino) +{ + /* Until the attr cache is working, we may send an additional GETATTR */ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_GETATTR && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, attr); + out->body.attr.attr.ino = ino; // Must match nodeid + out->body.attr.attr.mode = S_IFREG | 0644; + })); + +} + +void expect_lookup(const char *relpath, uint64_t ino) +{ + EXPECT_LOOKUP(1, relpath).WillRepeatedly(Invoke([=](auto in, auto out) { + out->header.unique = in->header.unique; + SET_OUT_HEADER_LEN(out, entry); + out->body.entry.attr.mode = S_IFREG | 0644; + out->body.entry.nodeid = ino; + out->body.entry.attr_valid = UINT64_MAX; + })); +} + +void expect_open(uint64_t ino, int times) +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_OPEN && + in->header.nodeid == ino); + }, Eq(true)), + _) + ).Times(times) + .WillRepeatedly(Invoke([](auto in, auto out) { + out->header.unique = in->header.unique; + out->header.len = sizeof(out->header); + SET_OUT_HEADER_LEN(out, open); + out->body.open.fh = Flush::FH; + })); + +} + +/* + * When testing FUSE_FLUSH, the FUSE_RELEASE calls are uninteresting. This + * expectation will silence googlemock warnings + */ +void expect_release() +{ + EXPECT_CALL(*m_mock, process( + ResultOf([=](auto in) { + return (in->header.opcode == FUSE_RELEASE); + }, Eq(true)), + _) + ).WillRepeatedly(Invoke(ReturnErrno(0))); +} +}; + +// TODO: lock_owner stuff + +/* If a file descriptor is duplicated, every close causes FLUSH */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236405 */ +TEST_F(Flush, DISABLED_dup) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd, fd2; + + expect_lookup(RELPATH, ino); + expect_open(ino, 1); + expect_getattr(ino); + expect_flush(ino, 2, ReturnErrno(0)); + expect_release(); + + fd = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd) << strerror(errno); + + fd2 = dup(fd); + + ASSERT_EQ(0, close(fd2)) << strerror(errno); + ASSERT_EQ(0, close(fd)) << strerror(errno); +} + +/* + * Some FUSE filesystem cache data internally and flush it on release. Such + * filesystems may generate errors during release. On Linux, these get + * returned by close(2). However, POSIX does not require close(2) to return + * this error. FreeBSD's fuse(4) should return EIO if it returns an error at + * all. + */ +/* http://pubs.opengroup.org/onlinepubs/9699919799/functions/close.html */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236405 */ +TEST_F(Flush, DISABLED_eio) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + + expect_lookup(RELPATH, ino); + expect_open(ino, 1); + expect_getattr(ino); + expect_flush(ino, 1, ReturnErrno(EIO)); + expect_release(); + + fd = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd) << strerror(errno); + + ASSERT_TRUE(0 == close(fd) || errno == EIO) << strerror(errno); +} + +/* A FUSE_FLUSH should be sent on close(2) */ +/* https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236405 */ +TEST_F(Flush, DISABLED_flush) +{ + const char FULLPATH[] = "mountpoint/some_file.txt"; + const char RELPATH[] = "some_file.txt"; + uint64_t ino = 42; + int fd; + + expect_lookup(RELPATH, ino); + expect_open(ino, 1); + expect_getattr(ino); + expect_flush(ino, 1, ReturnErrno(0)); + expect_release(); + + fd = open(FULLPATH, O_WRONLY); + EXPECT_LE(0, fd) << strerror(errno); + + ASSERT_TRUE(0 == close(fd)) << strerror(errno); +} Modified: projects/fuse2/tests/sys/fs/fuse/mockfs.hh ============================================================================== --- projects/fuse2/tests/sys/fs/fuse/mockfs.hh Fri Mar 8 22:45:12 2019 (r344949) +++ projects/fuse2/tests/sys/fs/fuse/mockfs.hh Fri Mar 8 23:07:51 2019 (r344950) @@ -73,6 +73,7 @@ union fuse_payloads_in { fuse_access_in access; /* value is from fuse_kern_chan.c in fusefs-libs */ uint8_t bytes[0x21000 - sizeof(struct fuse_in_header)]; + fuse_flush_in flush; fuse_forget_in forget; fuse_init_in init; fuse_link_in link;