svn commit: r320572 - in projects/clang500-import: contrib/compiler-rt/lib/asan contrib/compiler-rt/lib/lsan contrib/compiler-rt/lib/msan contrib/compiler-rt/lib/profile contrib/compiler-rt/lib/san...

Dimitry Andric dim at FreeBSD.org
Sun Jul 2 11:41:19 UTC 2017


Author: dim
Date: Sun Jul  2 11:41:15 2017
New Revision: 320572
URL: https://svnweb.freebsd.org/changeset/base/320572

Log:
  Merge llvm, clang, lld, lldb, compiler-rt and libc++ r306956, and update
  build glue.

Added:
  projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c
     - copied unchanged from r320555, vendor/compiler-rt/dist/lib/profile/InstrProfilingNameVar.c
  projects/clang500-import/contrib/compiler-rt/lib/xray/xray_always_instrument.txt
     - copied unchanged from r320555, vendor/compiler-rt/dist/lib/xray/xray_always_instrument.txt
  projects/clang500-import/contrib/compiler-rt/lib/xray/xray_never_instrument.txt
     - copied unchanged from r320555, vendor/compiler-rt/dist/lib/xray/xray_never_instrument.txt
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/CFLAliasAnalysisUtils.h
     - copied unchanged from r320553, vendor/llvm/dist/include/llvm/Analysis/CFLAliasAnalysisUtils.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
     - copied unchanged from r320553, vendor/llvm/dist/include/llvm/DebugInfo/DWARF/DWARFDataExtractor.h
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp
     - copied unchanged from r320553, vendor/llvm/dist/lib/DebugInfo/DWARF/DWARFDataExtractor.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
     - copied unchanged from r320553, vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
     - copied unchanged from r320553, vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h
     - copied unchanged from r320553, vendor/llvm/dist/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMScheduleM3.td
     - copied unchanged from r320553, vendor/llvm/dist/lib/Target/ARM/ARMScheduleM3.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrSystem.td
     - copied unchanged from r320553, vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrSystem.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNios2.def
     - copied unchanged from r320553, vendor/clang/dist/include/clang/Basic/BuiltinsNios2.def
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/Rename/
     - copied from r320553, vendor/clang/dist/include/clang/Tooling/Refactoring/Rename/
  projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Rename/
     - copied from r320553, vendor/clang/dist/lib/Tooling/Refactoring/Rename/
  projects/clang500-import/contrib/llvm/tools/lld/ELF/Arch/SPARCV9.cpp
     - copied unchanged from r320555, vendor/lld/dist/ELF/Arch/SPARCV9.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Connection.h
     - copied unchanged from r320555, vendor/lldb/dist/include/lldb/Utility/Connection.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/IOObject.h
     - copied unchanged from r320555, vendor/lldb/dist/include/lldb/Utility/IOObject.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/StructuredData.h
     - copied unchanged from r320555, vendor/lldb/dist/include/lldb/Utility/StructuredData.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/Timer.h
     - copied unchanged from r320555, vendor/lldb/dist/include/lldb/Utility/Timer.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/TraceOptions.h
     - copied unchanged from r320555, vendor/lldb/dist/include/lldb/Utility/TraceOptions.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Connection.cpp
     - copied unchanged from r320555, vendor/lldb/dist/source/Utility/Connection.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/IOObject.cpp
     - copied unchanged from r320555, vendor/lldb/dist/source/Utility/IOObject.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/StructuredData.cpp
     - copied unchanged from r320555, vendor/lldb/dist/source/Utility/StructuredData.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/Timer.cpp
     - copied unchanged from r320555, vendor/lldb/dist/source/Utility/Timer.cpp
Deleted:
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStreamBuilder.h
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/ModuleDebugStreamBuilder.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SITypeRewriter.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/BBVectorize.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/Connection.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/StructuredData.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/Timer.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/TraceOptions.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/IOObject.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/Connection.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/StructuredData.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/Timer.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Host/common/IOObject.cpp
Modified:
  projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc
  projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc
  projects/clang500-import/contrib/compiler-rt/lib/asan/asan_new_delete.cc
  projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win_dll_thunk.cc
  projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_allocator.cc
  projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc
  projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc
  projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc
  projects/clang500-import/contrib/compiler-rt/lib/msan/msan_new_delete.cc
  projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfiling.c
  projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingBuffer.c
  projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingFile.c
  projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingInternal.h
  projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingWriter.c
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary64.h
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common.h
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_posix.cc
  projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_win.cc
  projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_allocator.cpp
  projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_allocator.h
  projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_allocator_combined.h
  projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_new_delete.cpp
  projects/clang500-import/contrib/compiler-rt/lib/scudo/scudo_tls_android.cpp
  projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_mman.cc
  projects/clang500-import/contrib/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc
  projects/clang500-import/contrib/libc++/include/__config
  projects/clang500-import/contrib/libc++/include/new
  projects/clang500-import/contrib/libc++/include/string
  projects/clang500-import/contrib/llvm/include/llvm-c/Transforms/Vectorize.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/AliasSetTracker.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/IteratedDominanceFrontier.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/MemorySSA.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/OptimizationDiagnosticInfo.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/RegionInfo.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/RegionInfoImpl.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/RegionIterator.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpressions.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/TargetTransformInfo.h
  projects/clang500-import/contrib/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  projects/clang500-import/contrib/llvm/include/llvm/BinaryFormat/COFF.h
  projects/clang500-import/contrib/llvm/include/llvm/BinaryFormat/Dwarf.h
  projects/clang500-import/contrib/llvm/include/llvm/BinaryFormat/Wasm.h
  projects/clang500-import/contrib/llvm/include/llvm/Bitcode/BitcodeReader.h
  projects/clang500-import/contrib/llvm/include/llvm/Bitcode/BitcodeWriter.h
  projects/clang500-import/contrib/llvm/include/llvm/Bitcode/LLVMBitCodes.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/BasicTTIImpl.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/CallLowering.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegBankSelect.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/GlobalISel/Types.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineOptimizationRemarkEmitter.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachinePassRegistry.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineScheduler.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MachineValueType.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/MacroFusion.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/PseudoSourceValue.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SelectionDAGAddressAnalysis.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/TargetPassConfig.h
  projects/clang500-import/contrib/llvm/include/llvm/CodeGen/ValueTypes.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/CVSymbolVisitor.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugChecksumsSubsection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugCrossExSubsection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugCrossImpSubsection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugInlineeLinesSubsection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugLinesSubsection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugStringTableSubsection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSubsectionRecord.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/DebugSymbolRVASubsection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/EnumTables.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/Formatters.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/LazyRandomTypeCollection.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/StringsAndChecksums.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolDeserializer.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolSerializer.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbackPipeline.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/SymbolVisitorCallbacks.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeIndexDiscovery.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeRecord.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeSerializer.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/CodeView/TypeServerHandler.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFContext.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugInfoEntry.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLine.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugLoc.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFFormValue.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBDataStream.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/IPDBEnumChildren.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/DbiModuleList.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/Hash.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/HashTable.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/ModuleDebugStream.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NamedStreamMap.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/Native/NativeSession.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/PDB.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/PDBExtras.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/PDBTypes.h
  projects/clang500-import/contrib/llvm/include/llvm/DebugInfo/PDB/UDTLayout.h
  projects/clang500-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/IRTransformLayer.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Argument.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/BasicBlock.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Constant.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Constants.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/DerivedTypes.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Dominators.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Function.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/GlobalAlias.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/GlobalIFunc.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/GlobalIndirectSymbol.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/GlobalObject.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/GlobalVariable.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/InlineAsm.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/InstrTypes.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Instruction.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Instructions.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/IntrinsicInst.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/IntrinsicsWebAssembly.td
  projects/clang500-import/contrib/llvm/include/llvm/IR/LLVMContext.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/LegacyPassNameParser.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Metadata.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/ModuleSummaryIndexYAML.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Operator.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/PatternMatch.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/Statepoint.h
  projects/clang500-import/contrib/llvm/include/llvm/IR/User.h
  projects/clang500-import/contrib/llvm/include/llvm/InitializePasses.h
  projects/clang500-import/contrib/llvm/include/llvm/LinkAllPasses.h
  projects/clang500-import/contrib/llvm/include/llvm/MC/MCAsmBackend.h
  projects/clang500-import/contrib/llvm/include/llvm/MC/MCWinCOFFObjectWriter.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/Archive.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/COFF.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/COFFImportFile.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/ELFObjectFile.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/IRObjectFile.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/IRSymtab.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/MachOUniversal.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/ObjectFile.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/SymbolicFile.h
  projects/clang500-import/contrib/llvm/include/llvm/Object/Wasm.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/COFFYAML.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/DWARFEmitter.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/DWARFYAML.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/ELFYAML.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/MachOYAML.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/ObjectYAML.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/WasmYAML.h
  projects/clang500-import/contrib/llvm/include/llvm/ObjectYAML/YAML.h
  projects/clang500-import/contrib/llvm/include/llvm/Passes/PassBuilder.h
  projects/clang500-import/contrib/llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
  projects/clang500-import/contrib/llvm/include/llvm/ProfileData/InstrProf.h
  projects/clang500-import/contrib/llvm/include/llvm/Support/Errno.h
  projects/clang500-import/contrib/llvm/include/llvm/Support/GenericDomTree.h
  projects/clang500-import/contrib/llvm/include/llvm/Support/GenericDomTreeConstruction.h
  projects/clang500-import/contrib/llvm/include/llvm/Support/TargetParser.h
  projects/clang500-import/contrib/llvm/include/llvm/Support/YAMLParser.h
  projects/clang500-import/contrib/llvm/include/llvm/Support/YAMLTraits.h
  projects/clang500-import/contrib/llvm/include/llvm/Target/GenericOpcodes.td
  projects/clang500-import/contrib/llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
  projects/clang500-import/contrib/llvm/include/llvm/Target/TargetLowering.h
  projects/clang500-import/contrib/llvm/include/llvm/Target/TargetOpcodes.def
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/IPO/PassManagerBuilder.h
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/SampleProfile.h
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/Scalar/ConstantHoisting.h
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/LoopUtils.h
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/OrderedInstructions.h
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/PredicateInfo.h
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/Utils/ValueMapper.h
  projects/clang500-import/contrib/llvm/include/llvm/Transforms/Vectorize.h
  projects/clang500-import/contrib/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/InlineCost.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/IteratedDominanceFrontier.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/MemoryBuiltins.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/OptimizationDiagnosticInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/RegionInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/ScalarEvolution.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/TargetTransformInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
  projects/clang500-import/contrib/llvm/lib/BinaryFormat/Magic.cpp
  projects/clang500-import/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  projects/clang500-import/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
  projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
  projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
  projects/clang500-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/InstructionSelector.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/LegalizerInfo.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/LiveRangeCalc.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/LiveRangeCalc.h
  projects/clang500-import/contrib/llvm/lib/CodeGen/MIRParser/MIParser.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/MachineOptimizationRemarkEmitter.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/MacroFusion.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/PeepholeOptimizer.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/RegAllocGreedy.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/RenameIndependentSubregs.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGAddressAnalysis.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/TargetPassConfig.cpp
  projects/clang500-import/contrib/llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/CVSymbolVisitor.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugChecksumsSubsection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugCrossExSubsection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugCrossImpSubsection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugInlineeLinesSubsection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugLinesSubsection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugStringTableSubsection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSubsectionRecord.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/DebugSymbolRVASubsection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/EnumTables.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/Formatters.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/LazyRandomTypeCollection.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/StringsAndChecksums.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/SymbolSerializer.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeIndexDiscovery.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/CodeView/TypeSerializer.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugInfoEntry.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFDie.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFFormValue.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/DbiModuleList.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/Hash.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/HashTable.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/ModuleDebugStream.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/NamedStreamMap.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/NativeEnumModules.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/Native/NativeSession.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/PDB.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/PDBExtras.cpp
  projects/clang500-import/contrib/llvm/lib/DebugInfo/PDB/UDTLayout.cpp
  projects/clang500-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
  projects/clang500-import/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp
  projects/clang500-import/contrib/llvm/lib/IR/Constants.cpp
  projects/clang500-import/contrib/llvm/lib/IR/Dominators.cpp
  projects/clang500-import/contrib/llvm/lib/IR/LLVMContext.cpp
  projects/clang500-import/contrib/llvm/lib/IR/LLVMContextImpl.h
  projects/clang500-import/contrib/llvm/lib/LTO/LTO.cpp
  projects/clang500-import/contrib/llvm/lib/MC/MCAssembler.cpp
  projects/clang500-import/contrib/llvm/lib/MC/WasmObjectWriter.cpp
  projects/clang500-import/contrib/llvm/lib/Object/COFFObjectFile.cpp
  projects/clang500-import/contrib/llvm/lib/Object/IRSymtab.cpp
  projects/clang500-import/contrib/llvm/lib/Object/WasmObjectFile.cpp
  projects/clang500-import/contrib/llvm/lib/Object/WindowsResource.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/COFFYAML.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLDebugSections.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/DWARFEmitter.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/DWARFYAML.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/ELFYAML.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/MachOYAML.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/ObjectYAML.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/WasmYAML.cpp
  projects/clang500-import/contrib/llvm/lib/ObjectYAML/YAML.cpp
  projects/clang500-import/contrib/llvm/lib/Passes/PassBuilder.cpp
  projects/clang500-import/contrib/llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
  projects/clang500-import/contrib/llvm/lib/ProfileData/InstrProf.cpp
  projects/clang500-import/contrib/llvm/lib/Support/AMDGPUCodeObjectMetadata.cpp
  projects/clang500-import/contrib/llvm/lib/Support/Host.cpp
  projects/clang500-import/contrib/llvm/lib/Support/MemoryBuffer.cpp
  projects/clang500-import/contrib/llvm/lib/Support/TargetParser.cpp
  projects/clang500-import/contrib/llvm/lib/Support/Unix/Path.inc
  projects/clang500-import/contrib/llvm/lib/Support/Unix/Process.inc
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64CondBrTuning.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.td
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64InstructionSelector.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64LegalizerInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64MCInstLower.h
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64TargetMachine.h
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64TargetObjectFile.h
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64AsmBackend.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64FixupKinds.h
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.h
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.td
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUMachineCFGStructurizer.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.td
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td
  projects/clang500-import/contrib/llvm/lib/Target/AMDGPU/SIPeepholeSDWA.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARM.td
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMInstructionSelector.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMRegisterBankInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMRegisterInfo.td
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMSchedule.td
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMSubtarget.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMSubtarget.h
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetMachine.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetMachine.h
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/ARMTargetObjectFile.h
  projects/clang500-import/contrib/llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
  projects/clang500-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.h
  projects/clang500-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMFixupKinds.h
  projects/clang500-import/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.cpp
  projects/clang500-import/contrib/llvm/lib/Target/AVR/MCTargetDesc/AVRAsmBackend.h
  projects/clang500-import/contrib/llvm/lib/Target/BPF/BPFISelDAGToDAG.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonFrameLowering.h
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonNewValueJump.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonTargetObjectFile.h
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
  projects/clang500-import/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonAsmBackend.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Mips/MicroMips64r6InstrInfo.td
  projects/clang500-import/contrib/llvm/lib/Target/Mips/Mips64InstrInfo.td
  projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
  projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsSEISelDAGToDAG.h
  projects/clang500-import/contrib/llvm/lib/Target/Mips/MipsSEISelLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMachObjectWriter.cpp
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPC.h
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCISelDAGToDAG.cpp
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetMachine.h
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
  projects/clang500-import/contrib/llvm/lib/Target/Sparc/MCTargetDesc/SparcAsmBackend.cpp
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.h
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/README.txt
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZ.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZFeatures.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrFormats.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZRegisterInfo.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ13.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZ196.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZScheduleZEC12.td
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.cpp
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZSubtarget.h
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
  projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td
  projects/clang500-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyLowerEmscriptenEHSjLj.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFObjectWriter.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86.td
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstrAVX512.td
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86InstructionSelector.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86LegalizerInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86Subtarget.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86Subtarget.h
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86TargetMachine.cpp
  projects/clang500-import/contrib/llvm/lib/Target/X86/X86TargetMachine.h
  projects/clang500-import/contrib/llvm/lib/Transforms/Coroutines/CoroInstr.h
  projects/clang500-import/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/IPO/SampleProfile.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineInternal.h
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Scalar/SROA.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/CodeExtractor.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/OrderedInstructions.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/PredicateInfo.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
  projects/clang500-import/contrib/llvm/lib/Transforms/Vectorize/Vectorize.cpp
  projects/clang500-import/contrib/llvm/tools/bugpoint/ToolRunner.cpp
  projects/clang500-import/contrib/llvm/tools/clang/include/clang-c/Index.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTStructuralEquivalence.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsWebAssembly.def
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Visibility.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Driver.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Format/Format.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
  projects/clang500-import/contrib/llvm/tools/clang/include/clang/module.modulemap
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Decl.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Expr.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/ARM.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.h
  projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/MipsLinux.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/Format.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/FormatToken.h
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/Sema.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp
  projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/AtomicChange.cpp
  projects/clang500-import/contrib/llvm/tools/clang/tools/driver/driver.cpp
  projects/clang500-import/contrib/llvm/tools/llc/llc.cpp
  projects/clang500-import/contrib/llvm/tools/lld/COFF/Chunks.cpp
  projects/clang500-import/contrib/llvm/tools/lld/COFF/Chunks.h
  projects/clang500-import/contrib/llvm/tools/lld/COFF/Driver.h
  projects/clang500-import/contrib/llvm/tools/lld/COFF/MarkLive.cpp
  projects/clang500-import/contrib/llvm/tools/lld/COFF/Symbols.h
  projects/clang500-import/contrib/llvm/tools/lld/COFF/Writer.cpp
  projects/clang500-import/contrib/llvm/tools/lld/ELF/CMakeLists.txt
  projects/clang500-import/contrib/llvm/tools/lld/ELF/InputFiles.cpp
  projects/clang500-import/contrib/llvm/tools/lld/ELF/SymbolTable.cpp
  projects/clang500-import/contrib/llvm/tools/lld/ELF/SymbolTable.h
  projects/clang500-import/contrib/llvm/tools/lld/ELF/Symbols.cpp
  projects/clang500-import/contrib/llvm/tools/lld/ELF/Symbols.h
  projects/clang500-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp
  projects/clang500-import/contrib/llvm/tools/lld/ELF/Target.cpp
  projects/clang500-import/contrib/llvm/tools/lld/ELF/Target.h
  projects/clang500-import/contrib/llvm/tools/lld/ELF/Writer.cpp
  projects/clang500-import/contrib/llvm/tools/lld/lib/ReaderWriter/MachO/MachONormalizedFileYAML.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Breakpoint/Breakpoint.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Breakpoint/BreakpointOptions.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/Event.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/SearchFilter.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Core/StructuredDataImpl.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSummary.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/DataFormatters/TypeSynthetic.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/File.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/Host.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/MainLoopBase.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/Socket.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/XML.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/common/NativeProcessProtocol.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Host/posix/ConnectionFileDescriptorPosix.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Interpreter/ScriptInterpreter.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Symbol/DWARFCallFrameInfo.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Symbol/FuncUnwinders.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Symbol/UnwindTable.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/ABI.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntime.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/InstrumentationRuntimeStopInfo.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/Process.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/StopInfo.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/StructuredDataPlugin.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanPython.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Target/ThreadSpec.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/Utility/JSON.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/lldb-enumerations.h
  projects/clang500-import/contrib/llvm/tools/lldb/include/lldb/lldb-private-interfaces.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBCommunication.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBStructuredData.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBTarget.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBThread.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBThreadPlan.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/API/SBTraceOptions.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/API/SystemInitializerFull.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Commands/CommandObjectFrame.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Commands/CommandObjectLog.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Commands/CommandObjectTarget.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Commands/CommandObjectThread.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/Communication.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/Disassembler.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/FormatEntity.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/Mangled.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Core/Module.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Host/common/Host.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Host/common/Symbols.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Host/freebsd/Host.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Host/netbsd/Host.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Host/openbsd/Host.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Host/posix/ConnectionFileDescriptorPosix.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Initialization/SystemInitializerCommon.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm/ABIMacOSX_arm.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-arm64/ABIMacOSX_arm64.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/MacOSX-i386/ABIMacOSX_i386.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm/ABISysV_arm.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-arm64/ABISysV_arm64.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-hexagon/ABISysV_hexagon.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-i386/ABISysV_i386.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips/ABISysV_mips.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc/ABISysV_ppc.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-ppc64/ABISysV_ppc64.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-s390x/ABISysV_s390x.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-x86_64/ABISysV_x86_64.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/ASan/ASanRuntime.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/TSan/TSanRuntime.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/InstrumentationRuntime/UBSan/UBSanRuntime.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/Cocoa.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Language/ObjC/NSSet.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ObjectContainer/BSD-Archive/ObjectContainerBSDArchive.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/JIT/ObjectFileJIT.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/OperatingSystem/Python/OperatingSystemPython.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/DynamicRegisterInfo.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugAranges.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugLine.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugPubnames.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/x86AssemblyInspectionEngine.h
  projects/clang500-import/contrib/llvm/tools/lldb/source/Symbol/DWARFCallFrameInfo.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Symbol/FuncUnwinders.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Symbol/ObjectFile.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Symbol/Symtab.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Symbol/UnwindTable.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Symbol/Variable.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Target/ABI.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Target/ObjCLanguageRuntime.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Target/Platform.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Target/Process.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Target/Target.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Target/TargetList.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Target/ThreadSpec.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/source/Utility/JSON.cpp
  projects/clang500-import/contrib/llvm/tools/lldb/tools/lldb-server/Acceptor.h
  projects/clang500-import/contrib/llvm/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-lto2/llvm-lto2.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-nm/llvm-nm.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/DumpOutputStyle.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/DumpOutputStyle.h
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/MinimalSymbolDumper.h
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/PdbYaml.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-pdbutil/llvm-pdbutil.h
  projects/clang500-import/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp
  projects/clang500-import/contrib/llvm/tools/llvm-readobj/WasmDumper.cpp
  projects/clang500-import/contrib/llvm/tools/opt/opt.cpp
  projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenDAGPatterns.cpp
  projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenRegisters.cpp
  projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenRegisters.h
  projects/clang500-import/contrib/llvm/utils/TableGen/CodeGenSchedule.cpp
  projects/clang500-import/contrib/llvm/utils/TableGen/DAGISelMatcher.h
  projects/clang500-import/contrib/llvm/utils/TableGen/GlobalISelEmitter.cpp
  projects/clang500-import/contrib/llvm/utils/TableGen/RegisterInfoEmitter.cpp
  projects/clang500-import/contrib/llvm/utils/TableGen/SubtargetEmitter.cpp
  projects/clang500-import/lib/clang/include/clang/Basic/Version.inc
  projects/clang500-import/lib/clang/include/lld/Config/Version.inc
  projects/clang500-import/lib/clang/include/llvm/Support/VCSRevision.h
  projects/clang500-import/lib/clang/liblldb/Makefile
  projects/clang500-import/lib/clang/libllvm/Makefile
  projects/clang500-import/lib/libclang_rt/profile/Makefile
  projects/clang500-import/usr.bin/clang/lld/Makefile
Directory Properties:
  projects/clang500-import/contrib/compiler-rt/   (props changed)
  projects/clang500-import/contrib/libc++/   (props changed)
  projects/clang500-import/contrib/llvm/   (props changed)
  projects/clang500-import/contrib/llvm/tools/clang/   (props changed)
  projects/clang500-import/contrib/llvm/tools/lld/   (props changed)
  projects/clang500-import/contrib/llvm/tools/lldb/   (props changed)

Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_allocator.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -160,7 +160,11 @@ struct QuarantineCallback {
   }
 
   void *Allocate(uptr size) {
-    return get_allocator().Allocate(cache_, size, 1);
+    void *res = get_allocator().Allocate(cache_, size, 1);
+    // TODO(alekseys): Consider making quarantine OOM-friendly.
+    if (UNLIKELY(!res))
+      return DieOnFailure::OnOOM();
+    return res;
   }
 
   void Deallocate(void *p) {
@@ -524,8 +528,7 @@ struct Allocator {
 
   // Expects the chunk to already be marked as quarantined by using
   // AtomicallySetQuarantineFlagIfAllocated.
-  void QuarantineChunk(AsanChunk *m, void *ptr, BufferedStackTrace *stack,
-                       AllocType alloc_type) {
+  void QuarantineChunk(AsanChunk *m, void *ptr, BufferedStackTrace *stack) {
     CHECK_EQ(m->chunk_state, CHUNK_QUARANTINE);
     CHECK_GE(m->alloc_tid, 0);
     if (SANITIZER_WORDSIZE == 64)  // On 32-bits this resides in user area.
@@ -603,7 +606,7 @@ struct Allocator {
       ReportNewDeleteSizeMismatch(p, delete_size, stack);
     }
 
-    QuarantineChunk(m, ptr, stack, alloc_type);
+    QuarantineChunk(m, ptr, stack);
   }
 
   void *Reallocate(void *old_ptr, uptr new_size, BufferedStackTrace *stack) {
@@ -632,7 +635,7 @@ struct Allocator {
   }
 
   void *Calloc(uptr nmemb, uptr size, BufferedStackTrace *stack) {
-    if (CallocShouldReturnNullDueToOverflow(size, nmemb))
+    if (CheckForCallocOverflow(size, nmemb))
       return AsanAllocator::FailureHandler::OnBadRequest();
     void *ptr = Allocate(nmemb * size, 8, stack, FROM_MALLOC, false);
     // If the memory comes from the secondary allocator no need to clear it

Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_interceptors.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -579,17 +579,6 @@ INTERCEPTOR(char*, __strdup, const char *s) {
 }
 #endif // ASAN_INTERCEPT___STRDUP
 
-INTERCEPTOR(SIZE_T, wcslen, const wchar_t *s) {
-  void *ctx;
-  ASAN_INTERCEPTOR_ENTER(ctx, wcslen);
-  SIZE_T length = internal_wcslen(s);
-  if (!asan_init_is_running) {
-    ENSURE_ASAN_INITED();
-    ASAN_READ_RANGE(ctx, s, (length + 1) * sizeof(wchar_t));
-  }
-  return length;
-}
-
 INTERCEPTOR(char*, strncpy, char *to, const char *from, uptr size) {
   void *ctx;
   ASAN_INTERCEPTOR_ENTER(ctx, strncpy);
@@ -722,7 +711,6 @@ void InitializeAsanInterceptors() {
   // Intercept str* functions.
   ASAN_INTERCEPT_FUNC(strcat);  // NOLINT
   ASAN_INTERCEPT_FUNC(strcpy);  // NOLINT
-  ASAN_INTERCEPT_FUNC(wcslen);
   ASAN_INTERCEPT_FUNC(strncat);
   ASAN_INTERCEPT_FUNC(strncpy);
   ASAN_INTERCEPT_FUNC(strdup);

Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_new_delete.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_new_delete.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_new_delete.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -25,23 +25,27 @@
 // dllexport would normally do. We need to export them in order to make the
 // VS2015 dynamic CRT (MD) work.
 #if SANITIZER_WINDOWS
-# define CXX_OPERATOR_ATTRIBUTE
-# ifdef _WIN64
-#  pragma comment(linker, "/export:??2 at YAPEAX_K@Z")   // operator new
-#  pragma comment(linker, "/export:??3 at YAXPEAX@Z")    // operator delete
-#  pragma comment(linker, "/export:??3 at YAXPEAX_K@Z")  // sized operator delete
-#  pragma comment(linker, "/export:??_U at YAPEAX_K@Z")  // operator new[]
-#  pragma comment(linker, "/export:??_V at YAXPEAX@Z")   // operator delete[]
-# else
-#  pragma comment(linker, "/export:??2 at YAPAXI@Z")   // operator new
-#  pragma comment(linker, "/export:??3 at YAXPAX@Z")   // operator delete
-#  pragma comment(linker, "/export:??3 at YAXPAXI@Z")  // sized operator delete
-#  pragma comment(linker, "/export:??_U at YAPAXI@Z")  // operator new[]
-#  pragma comment(linker, "/export:??_V at YAXPAX@Z")  // operator delete[]
-# endif
+#define CXX_OPERATOR_ATTRIBUTE
+#define COMMENT_EXPORT(sym) __pragma(comment(linker, "/export:"##sym))
+#ifdef _WIN64
+COMMENT_EXPORT("??2 at YAPEAX_K@Z")                     // operator new
+COMMENT_EXPORT("??2 at YAPEAX_KAEBUnothrow_t@std@@@Z")  // operator new nothrow
+COMMENT_EXPORT("??3 at YAXPEAX@Z")                      // operator delete
+COMMENT_EXPORT("??3 at YAXPEAX_K@Z")                    // sized operator delete
+COMMENT_EXPORT("??_U at YAPEAX_K@Z")                    // operator new[]
+COMMENT_EXPORT("??_V at YAXPEAX@Z")                     // operator delete[]
 #else
-# define CXX_OPERATOR_ATTRIBUTE INTERCEPTOR_ATTRIBUTE
+COMMENT_EXPORT("??2 at YAPAXI@Z")                    // operator new
+COMMENT_EXPORT("??2 at YAPAXIABUnothrow_t@std@@@Z")  // operator new nothrow
+COMMENT_EXPORT("??3 at YAXPAX@Z")                    // operator delete
+COMMENT_EXPORT("??3 at YAXPAXI@Z")                   // sized operator delete
+COMMENT_EXPORT("??_U at YAPAXI@Z")                   // operator new[]
+COMMENT_EXPORT("??_V at YAXPAX@Z")                   // operator delete[]
 #endif
+#undef COMMENT_EXPORT
+#else
+#define CXX_OPERATOR_ATTRIBUTE INTERCEPTOR_ATTRIBUTE
+#endif
 
 using namespace __asan;  // NOLINT
 
@@ -63,12 +67,17 @@ struct nothrow_t {};
 enum class align_val_t: size_t {};
 }  // namespace std
 
-#define OPERATOR_NEW_BODY(type) \
+// TODO(alekseys): throw std::bad_alloc instead of dying on OOM.
+#define OPERATOR_NEW_BODY(type, nothrow) \
   GET_STACK_TRACE_MALLOC;\
-  return asan_memalign(0, size, &stack, type);
-#define OPERATOR_NEW_BODY_ALIGN(type) \
+  void *res = asan_memalign(0, size, &stack, type);\
+  if (!nothrow && UNLIKELY(!res)) DieOnFailure::OnOOM();\
+  return res;
+#define OPERATOR_NEW_BODY_ALIGN(type, nothrow) \
   GET_STACK_TRACE_MALLOC;\
-  return asan_memalign((uptr)align, size, &stack, type);
+  void *res = asan_memalign((uptr)align, size, &stack, type);\
+  if (!nothrow && UNLIKELY(!res)) DieOnFailure::OnOOM();\
+  return res;
 
 // On OS X it's not enough to just provide our own 'operator new' and
 // 'operator delete' implementations, because they're going to be in the
@@ -79,40 +88,42 @@ enum class align_val_t: size_t {};
 // OS X we need to intercept them using their mangled names.
 #if !SANITIZER_MAC
 CXX_OPERATOR_ATTRIBUTE
-void *operator new(size_t size) { OPERATOR_NEW_BODY(FROM_NEW); }
+void *operator new(size_t size)
+{ OPERATOR_NEW_BODY(FROM_NEW, false /*nothrow*/); }
 CXX_OPERATOR_ATTRIBUTE
-void *operator new[](size_t size) { OPERATOR_NEW_BODY(FROM_NEW_BR); }
+void *operator new[](size_t size)
+{ OPERATOR_NEW_BODY(FROM_NEW_BR, false /*nothrow*/); }
 CXX_OPERATOR_ATTRIBUTE
 void *operator new(size_t size, std::nothrow_t const&)
-{ OPERATOR_NEW_BODY(FROM_NEW); }
+{ OPERATOR_NEW_BODY(FROM_NEW, true /*nothrow*/); }
 CXX_OPERATOR_ATTRIBUTE
 void *operator new[](size_t size, std::nothrow_t const&)
-{ OPERATOR_NEW_BODY(FROM_NEW_BR); }
+{ OPERATOR_NEW_BODY(FROM_NEW_BR, true /*nothrow*/); }
 CXX_OPERATOR_ATTRIBUTE
 void *operator new(size_t size, std::align_val_t align)
-{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW); }
+{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW, false /*nothrow*/); }
 CXX_OPERATOR_ATTRIBUTE
 void *operator new[](size_t size, std::align_val_t align)
-{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW_BR); }
+{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW_BR, false /*nothrow*/); }
 CXX_OPERATOR_ATTRIBUTE
 void *operator new(size_t size, std::align_val_t align, std::nothrow_t const&)
-{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW); }
+{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW, true /*nothrow*/); }
 CXX_OPERATOR_ATTRIBUTE
 void *operator new[](size_t size, std::align_val_t align, std::nothrow_t const&)
-{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW_BR); }
+{ OPERATOR_NEW_BODY_ALIGN(FROM_NEW_BR, true /*nothrow*/); }
 
 #else  // SANITIZER_MAC
 INTERCEPTOR(void *, _Znwm, size_t size) {
-  OPERATOR_NEW_BODY(FROM_NEW);
+  OPERATOR_NEW_BODY(FROM_NEW, false /*nothrow*/);
 }
 INTERCEPTOR(void *, _Znam, size_t size) {
-  OPERATOR_NEW_BODY(FROM_NEW_BR);
+  OPERATOR_NEW_BODY(FROM_NEW_BR, false /*nothrow*/);
 }
 INTERCEPTOR(void *, _ZnwmRKSt9nothrow_t, size_t size, std::nothrow_t const&) {
-  OPERATOR_NEW_BODY(FROM_NEW);
+  OPERATOR_NEW_BODY(FROM_NEW, true /*nothrow*/);
 }
 INTERCEPTOR(void *, _ZnamRKSt9nothrow_t, size_t size, std::nothrow_t const&) {
-  OPERATOR_NEW_BODY(FROM_NEW_BR);
+  OPERATOR_NEW_BODY(FROM_NEW_BR, true /*nothrow*/);
 }
 #endif
 

Modified: projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win_dll_thunk.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win_dll_thunk.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/asan/asan_win_dll_thunk.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -85,6 +85,7 @@ INTERCEPT_LIBRARY_FUNCTION(strstr);
 INTERCEPT_LIBRARY_FUNCTION(strtok);
 INTERCEPT_LIBRARY_FUNCTION(strtol);
 INTERCEPT_LIBRARY_FUNCTION(wcslen);
+INTERCEPT_LIBRARY_FUNCTION(wcsnlen);
 
 #ifdef _WIN64
 INTERCEPT_LIBRARY_FUNCTION(__C_specific_handler);

Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_allocator.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_allocator.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_allocator.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -74,7 +74,7 @@ void *Allocate(const StackTrace &stack, uptr size, upt
     size = 1;
   if (size > kMaxAllowedMallocSize) {
     Report("WARNING: LeakSanitizer failed to allocate %zu bytes\n", size);
-    return nullptr;
+    return Allocator::FailureHandler::OnBadRequest();
   }
   void *p = allocator.Allocate(GetAllocatorCache(), size, alignment);
   // Do not rely on the allocator to clear the memory (it's slow).
@@ -99,7 +99,7 @@ void *Reallocate(const StackTrace &stack, void *p, upt
   if (new_size > kMaxAllowedMallocSize) {
     Report("WARNING: LeakSanitizer failed to allocate %zu bytes\n", new_size);
     allocator.Deallocate(GetAllocatorCache(), p);
-    return nullptr;
+    return Allocator::FailureHandler::OnBadRequest();
   }
   p = allocator.Reallocate(GetAllocatorCache(), p, new_size, alignment);
   RegisterAllocation(stack, p, new_size);
@@ -134,6 +134,8 @@ void *lsan_realloc(void *p, uptr size, const StackTrac
 }
 
 void *lsan_calloc(uptr nmemb, uptr size, const StackTrace &stack) {
+  if (CheckForCallocOverflow(size, nmemb))
+    return Allocator::FailureHandler::OnBadRequest();
   size *= nmemb;
   return Allocate(stack, size, 1, true);
 }

Modified: projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/lsan/lsan_interceptors.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -70,7 +70,6 @@ INTERCEPTOR(void*, calloc, uptr nmemb, uptr size) {
     CHECK(allocated < kCallocPoolSize);
     return mem;
   }
-  if (CallocShouldReturnNullDueToOverflow(size, nmemb)) return nullptr;
   ENSURE_LSAN_INITED;
   GET_STACK_TRACE_MALLOC;
   return lsan_calloc(nmemb, size, stack);
@@ -199,34 +198,70 @@ INTERCEPTOR(int, mprobe, void *ptr) {
 }
 #endif // SANITIZER_INTERCEPT_MCHECK_MPROBE
 
-#define OPERATOR_NEW_BODY                              \
-  ENSURE_LSAN_INITED;                                  \
-  GET_STACK_TRACE_MALLOC;                              \
-  return Allocate(stack, size, 1, kAlwaysClearMemory);
 
-INTERCEPTOR_ATTRIBUTE
-void *operator new(size_t size) { OPERATOR_NEW_BODY; }
-INTERCEPTOR_ATTRIBUTE
-void *operator new[](size_t size) { OPERATOR_NEW_BODY; }
-INTERCEPTOR_ATTRIBUTE
-void *operator new(size_t size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
-INTERCEPTOR_ATTRIBUTE
-void *operator new[](size_t size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
+// TODO(alekseys): throw std::bad_alloc instead of dying on OOM.
+#define OPERATOR_NEW_BODY(nothrow)                         \
+  ENSURE_LSAN_INITED;                                      \
+  GET_STACK_TRACE_MALLOC;                                  \
+  void *res = Allocate(stack, size, 1, kAlwaysClearMemory);\
+  if (!nothrow && UNLIKELY(!res)) DieOnFailure::OnOOM();\
+  return res;
 
 #define OPERATOR_DELETE_BODY \
   ENSURE_LSAN_INITED;        \
   Deallocate(ptr);
 
+// On OS X it's not enough to just provide our own 'operator new' and
+// 'operator delete' implementations, because they're going to be in the runtime
+// dylib, and the main executable will depend on both the runtime dylib and
+// libstdc++, each of has its implementation of new and delete.
+// To make sure that C++ allocation/deallocation operators are overridden on
+// OS X we need to intercept them using their mangled names.
+#if !SANITIZER_MAC
+
 INTERCEPTOR_ATTRIBUTE
+void *operator new(size_t size) { OPERATOR_NEW_BODY(false /*nothrow*/); }
+INTERCEPTOR_ATTRIBUTE
+void *operator new[](size_t size) { OPERATOR_NEW_BODY(false /*nothrow*/); }
+INTERCEPTOR_ATTRIBUTE
+void *operator new(size_t size, std::nothrow_t const&)
+{ OPERATOR_NEW_BODY(true /*nothrow*/); }
+INTERCEPTOR_ATTRIBUTE
+void *operator new[](size_t size, std::nothrow_t const&)
+{ OPERATOR_NEW_BODY(true /*nothrow*/); }
+
+INTERCEPTOR_ATTRIBUTE
 void operator delete(void *ptr) NOEXCEPT { OPERATOR_DELETE_BODY; }
 INTERCEPTOR_ATTRIBUTE
 void operator delete[](void *ptr) NOEXCEPT { OPERATOR_DELETE_BODY; }
 INTERCEPTOR_ATTRIBUTE
 void operator delete(void *ptr, std::nothrow_t const&) { OPERATOR_DELETE_BODY; }
 INTERCEPTOR_ATTRIBUTE
-void operator delete[](void *ptr, std::nothrow_t const &) {
-  OPERATOR_DELETE_BODY;
-}
+void operator delete[](void *ptr, std::nothrow_t const &)
+{ OPERATOR_DELETE_BODY; }
+
+#else  // SANITIZER_MAC
+
+INTERCEPTOR(void *, _Znwm, size_t size)
+{ OPERATOR_NEW_BODY(false /*nothrow*/); }
+INTERCEPTOR(void *, _Znam, size_t size)
+{ OPERATOR_NEW_BODY(false /*nothrow*/); }
+INTERCEPTOR(void *, _ZnwmRKSt9nothrow_t, size_t size, std::nothrow_t const&)
+{ OPERATOR_NEW_BODY(true /*nothrow*/); }
+INTERCEPTOR(void *, _ZnamRKSt9nothrow_t, size_t size, std::nothrow_t const&)
+{ OPERATOR_NEW_BODY(true /*nothrow*/); }
+
+INTERCEPTOR(void, _ZdlPv, void *ptr)
+{ OPERATOR_DELETE_BODY; }
+INTERCEPTOR(void, _ZdaPv, void *ptr)
+{ OPERATOR_DELETE_BODY; }
+INTERCEPTOR(void, _ZdlPvRKSt9nothrow_t, void *ptr, std::nothrow_t const&)
+{ OPERATOR_DELETE_BODY; }
+INTERCEPTOR(void, _ZdaPvRKSt9nothrow_t, void *ptr, std::nothrow_t const&)
+{ OPERATOR_DELETE_BODY; }
+
+#endif  // !SANITIZER_MAC
+
 
 ///// Thread initialization and finalization. /////
 

Modified: projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/msan/msan_allocator.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -195,7 +195,7 @@ void MsanDeallocate(StackTrace *stack, void *p) {
 }
 
 void *MsanCalloc(StackTrace *stack, uptr nmemb, uptr size) {
-  if (CallocShouldReturnNullDueToOverflow(size, nmemb))
+  if (CheckForCallocOverflow(size, nmemb))
     return Allocator::FailureHandler::OnBadRequest();
   return MsanReallocate(stack, nullptr, nmemb * size, sizeof(u64), true);
 }

Modified: projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/msan/msan_interceptors.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -538,49 +538,6 @@ INTERCEPTOR(int, mbrtowc, wchar_t *dest, const char *s
   return res;
 }
 
-INTERCEPTOR(SIZE_T, wcslen, const wchar_t *s) {
-  ENSURE_MSAN_INITED();
-  SIZE_T res = REAL(wcslen)(s);
-  CHECK_UNPOISONED(s, sizeof(wchar_t) * (res + 1));
-  return res;
-}
-
-INTERCEPTOR(SIZE_T, wcsnlen, const wchar_t *s, SIZE_T n) {
-  ENSURE_MSAN_INITED();
-  SIZE_T res = REAL(wcsnlen)(s, n);
-  CHECK_UNPOISONED(s, sizeof(wchar_t) * Min(res + 1, n));
-  return res;
-}
-
-// wchar_t *wcschr(const wchar_t *wcs, wchar_t wc);
-INTERCEPTOR(wchar_t *, wcschr, void *s, wchar_t wc, void *ps) {
-  ENSURE_MSAN_INITED();
-  wchar_t *res = REAL(wcschr)(s, wc, ps);
-  return res;
-}
-
-// wchar_t *wcscpy(wchar_t *dest, const wchar_t *src);
-INTERCEPTOR(wchar_t *, wcscpy, wchar_t *dest, const wchar_t *src) {
-  ENSURE_MSAN_INITED();
-  GET_STORE_STACK_TRACE;
-  wchar_t *res = REAL(wcscpy)(dest, src);
-  CopyShadowAndOrigin(dest, src, sizeof(wchar_t) * (REAL(wcslen)(src) + 1),
-                      &stack);
-  return res;
-}
-
-INTERCEPTOR(wchar_t *, wcsncpy, wchar_t *dest, const wchar_t *src,
-            SIZE_T n) {  // NOLINT
-  ENSURE_MSAN_INITED();
-  GET_STORE_STACK_TRACE;
-  SIZE_T copy_size = REAL(wcsnlen)(src, n);
-  if (copy_size < n) copy_size++;           // trailing \0
-  wchar_t *res = REAL(wcsncpy)(dest, src, n);  // NOLINT
-  CopyShadowAndOrigin(dest, src, copy_size * sizeof(wchar_t), &stack);
-  __msan_unpoison(dest + copy_size, (n - copy_size) * sizeof(wchar_t));
-  return res;
-}
-
 // wchar_t *wmemcpy(wchar_t *dest, const wchar_t *src, SIZE_T n);
 INTERCEPTOR(wchar_t *, wmemcpy, wchar_t *dest, const wchar_t *src, SIZE_T n) {
   ENSURE_MSAN_INITED();
@@ -1344,11 +1301,11 @@ int OnExit() {
     return __msan_memcpy(to, from, size);                   \
   }
 
-#define COMMON_INTERCEPTOR_COPY_STRING(ctx, to, from, size)                    \
-  do {                                                                         \
-    GET_STORE_STACK_TRACE;                                                     \
-    CopyShadowAndOrigin(to, from, size, &stack);                               \
-    __msan_unpoison(to + size, 1);                                             \
+#define COMMON_INTERCEPTOR_COPY_STRING(ctx, to, from, size) \
+  do {                                                      \
+    GET_STORE_STACK_TRACE;                                  \
+    CopyShadowAndOrigin(to, from, size, &stack);            \
+    __msan_unpoison(to + size, 1);                          \
   } while (false)
 
 #include "sanitizer_common/sanitizer_platform_interceptors.h"
@@ -1421,6 +1378,35 @@ INTERCEPTOR(int, dl_iterate_phdr, dl_iterate_phdr_cb c
   cbdata.callback = callback;
   cbdata.data = data;
   int res = REAL(dl_iterate_phdr)(msan_dl_iterate_phdr_cb, (void *)&cbdata);
+  return res;
+}
+
+// wchar_t *wcschr(const wchar_t *wcs, wchar_t wc);
+INTERCEPTOR(wchar_t *, wcschr, void *s, wchar_t wc, void *ps) {
+  ENSURE_MSAN_INITED();
+  wchar_t *res = REAL(wcschr)(s, wc, ps);
+  return res;
+}
+
+// wchar_t *wcscpy(wchar_t *dest, const wchar_t *src);
+INTERCEPTOR(wchar_t *, wcscpy, wchar_t *dest, const wchar_t *src) {
+  ENSURE_MSAN_INITED();
+  GET_STORE_STACK_TRACE;
+  wchar_t *res = REAL(wcscpy)(dest, src);
+  CopyShadowAndOrigin(dest, src, sizeof(wchar_t) * (REAL(wcslen)(src) + 1),
+                      &stack);
+  return res;
+}
+
+INTERCEPTOR(wchar_t *, wcsncpy, wchar_t *dest, const wchar_t *src,
+            SIZE_T n) {  // NOLINT
+  ENSURE_MSAN_INITED();
+  GET_STORE_STACK_TRACE;
+  SIZE_T copy_size = REAL(wcsnlen)(src, n);
+  if (copy_size < n) copy_size++;           // trailing \0
+  wchar_t *res = REAL(wcsncpy)(dest, src, n);  // NOLINT
+  CopyShadowAndOrigin(dest, src, copy_size * sizeof(wchar_t), &stack);
+  __msan_unpoison(dest + copy_size, (n - copy_size) * sizeof(wchar_t));
   return res;
 }
 

Modified: projects/clang500-import/contrib/compiler-rt/lib/msan/msan_new_delete.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/msan/msan_new_delete.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/msan/msan_new_delete.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -14,6 +14,7 @@
 
 #include "msan.h"
 #include "interception/interception.h"
+#include "sanitizer_common/sanitizer_allocator.h"
 
 #if MSAN_REPLACE_OPERATORS_NEW_AND_DELETE
 
@@ -27,18 +28,25 @@ namespace std {
 }  // namespace std
 
 
-#define OPERATOR_NEW_BODY \
+// TODO(alekseys): throw std::bad_alloc instead of dying on OOM.
+#define OPERATOR_NEW_BODY(nothrow) \
   GET_MALLOC_STACK_TRACE; \
-  return MsanReallocate(&stack, 0, size, sizeof(u64), false)
+  void *res = MsanReallocate(&stack, 0, size, sizeof(u64), false);\
+  if (!nothrow && UNLIKELY(!res)) DieOnFailure::OnOOM();\
+  return res
 
 INTERCEPTOR_ATTRIBUTE
-void *operator new(size_t size) { OPERATOR_NEW_BODY; }
+void *operator new(size_t size) { OPERATOR_NEW_BODY(false /*nothrow*/); }
 INTERCEPTOR_ATTRIBUTE
-void *operator new[](size_t size) { OPERATOR_NEW_BODY; }
+void *operator new[](size_t size) { OPERATOR_NEW_BODY(false /*nothrow*/); }
 INTERCEPTOR_ATTRIBUTE
-void *operator new(size_t size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
+void *operator new(size_t size, std::nothrow_t const&) {
+  OPERATOR_NEW_BODY(true /*nothrow*/);
+}
 INTERCEPTOR_ATTRIBUTE
-void *operator new[](size_t size, std::nothrow_t const&) { OPERATOR_NEW_BODY; }
+void *operator new[](size_t size, std::nothrow_t const&) {
+  OPERATOR_NEW_BODY(true /*nothrow*/);
+}
 
 #define OPERATOR_DELETE_BODY \
   GET_MALLOC_STACK_TRACE; \

Modified: projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfiling.c
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfiling.c	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfiling.c	Sun Jul  2 11:41:15 2017	(r320572)
@@ -19,8 +19,6 @@
 
 COMPILER_RT_WEAK uint64_t INSTR_PROF_RAW_VERSION_VAR = INSTR_PROF_RAW_VERSION;
 
-COMPILER_RT_WEAK char INSTR_PROF_PROFILE_NAME_VAR[1] = {0};
-
 COMPILER_RT_VISIBILITY uint64_t __llvm_profile_get_magic(void) {
   return sizeof(void *) == sizeof(uint64_t) ? (INSTR_PROF_RAW_MAGIC_64)
                                             : (INSTR_PROF_RAW_MAGIC_32);

Modified: projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingBuffer.c
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingBuffer.c	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingBuffer.c	Sun Jul  2 11:41:15 2017	(r320572)
@@ -45,15 +45,24 @@ uint64_t __llvm_profile_get_size_for_buffer_internal(
          (CountersEnd - CountersBegin) * sizeof(uint64_t) + NamesSize + Padding;
 }
 
+COMPILER_RT_VISIBILITY
+void initBufferWriter(ProfDataWriter *BufferWriter, char *Buffer) {
+  BufferWriter->Write = lprofBufferWriter;
+  BufferWriter->WriterCtx = Buffer;
+}
+
 COMPILER_RT_VISIBILITY int __llvm_profile_write_buffer(char *Buffer) {
-  return lprofWriteData(lprofBufferWriter, Buffer, 0);
+  ProfDataWriter BufferWriter;
+  initBufferWriter(&BufferWriter, Buffer);
+  return lprofWriteData(&BufferWriter, 0, 0);
 }
 
 COMPILER_RT_VISIBILITY int __llvm_profile_write_buffer_internal(
     char *Buffer, const __llvm_profile_data *DataBegin,
     const __llvm_profile_data *DataEnd, const uint64_t *CountersBegin,
     const uint64_t *CountersEnd, const char *NamesBegin, const char *NamesEnd) {
-  return lprofWriteDataImpl(lprofBufferWriter, Buffer, DataBegin, DataEnd,
-                            CountersBegin, CountersEnd, 0, NamesBegin,
-                            NamesEnd);
+  ProfDataWriter BufferWriter;
+  initBufferWriter(&BufferWriter, Buffer);
+  return lprofWriteDataImpl(&BufferWriter, DataBegin, DataEnd, CountersBegin,
+                            CountersEnd, 0, NamesBegin, NamesEnd, 0);
 }

Modified: projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingFile.c
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingFile.c	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingFile.c	Sun Jul  2 11:41:15 2017	(r320572)
@@ -91,24 +91,39 @@ static const char *getCurFilename(char *FilenameBuf);
 static unsigned doMerging() { return lprofCurFilename.MergePoolSize; }
 
 /* Return 1 if there is an error, otherwise return  0.  */
-static uint32_t fileWriter(ProfDataIOVec *IOVecs, uint32_t NumIOVecs,
-                           void **WriterCtx) {
+static uint32_t fileWriter(ProfDataWriter *This, ProfDataIOVec *IOVecs,
+                           uint32_t NumIOVecs) {
   uint32_t I;
-  FILE *File = (FILE *)*WriterCtx;
+  FILE *File = (FILE *)This->WriterCtx;
   for (I = 0; I < NumIOVecs; I++) {
-    if (fwrite(IOVecs[I].Data, IOVecs[I].ElmSize, IOVecs[I].NumElm, File) !=
-        IOVecs[I].NumElm)
-      return 1;
+    if (IOVecs[I].Data) {
+      if (fwrite(IOVecs[I].Data, IOVecs[I].ElmSize, IOVecs[I].NumElm, File) !=
+          IOVecs[I].NumElm)
+        return 1;
+    } else {
+      if (fseek(File, IOVecs[I].ElmSize * IOVecs[I].NumElm, SEEK_CUR) == -1)
+        return 1;
+    }
   }
   return 0;
 }
 
+static void initFileWriter(ProfDataWriter *This, FILE *File) {
+  This->Write = fileWriter;
+  This->WriterCtx = File;
+}
+
 COMPILER_RT_VISIBILITY ProfBufferIO *
 lprofCreateBufferIOInternal(void *File, uint32_t BufferSz) {
   FreeHook = &free;
   DynamicBufferIOBuffer = (uint8_t *)calloc(BufferSz, 1);
   VPBufferSize = BufferSz;
-  return lprofCreateBufferIO(fileWriter, File);
+  ProfDataWriter *fileWriter =
+      (ProfDataWriter *)calloc(sizeof(ProfDataWriter), 1);
+  initFileWriter(fileWriter, File);
+  ProfBufferIO *IO = lprofCreateBufferIO(fileWriter);
+  IO->OwnFileWriter = 1;
+  return IO;
 }
 
 static void setupIOBuffer() {
@@ -122,9 +137,10 @@ static void setupIOBuffer() {
 
 /* Read profile data in \c ProfileFile and merge with in-memory
    profile counters. Returns -1 if there is fatal error, otheriwse
-   0 is returned.
+   0 is returned. Returning 0 does not mean merge is actually
+   performed. If merge is actually done, *MergeDone is set to 1.
 */
-static int doProfileMerging(FILE *ProfileFile) {
+static int doProfileMerging(FILE *ProfileFile, int *MergeDone) {
   uint64_t ProfileFileSize;
   char *ProfileBuffer;
 
@@ -169,6 +185,8 @@ static int doProfileMerging(FILE *ProfileFile) {
   __llvm_profile_merge_from_buffer(ProfileBuffer, ProfileFileSize);
   (void)munmap(ProfileBuffer, ProfileFileSize);
 
+  *MergeDone = 1;
+
   return 0;
 }
 
@@ -190,7 +208,7 @@ static void createProfileDir(const char *Filename) {
  * dumper. With profile merging enabled, each executable as well as any of
  * its instrumented shared libraries dump profile data into their own data file.
 */
-static FILE *openFileForMerging(const char *ProfileFileName) {
+static FILE *openFileForMerging(const char *ProfileFileName, int *MergeDone) {
   FILE *ProfileFile;
   int rc;
 
@@ -199,15 +217,14 @@ static FILE *openFileForMerging(const char *ProfileFil
   if (!ProfileFile)
     return NULL;
 
-  rc = doProfileMerging(ProfileFile);
-  if (rc || COMPILER_RT_FTRUNCATE(ProfileFile, 0L) ||
+  rc = doProfileMerging(ProfileFile, MergeDone);
+  if (rc || (!*MergeDone && COMPILER_RT_FTRUNCATE(ProfileFile, 0L)) ||
       fseek(ProfileFile, 0L, SEEK_SET) == -1) {
     PROF_ERR("Profile Merging of file %s failed: %s\n", ProfileFileName,
              strerror(errno));
     fclose(ProfileFile);
     return NULL;
   }
-  fseek(ProfileFile, 0L, SEEK_SET);
   return ProfileFile;
 }
 
@@ -216,17 +233,20 @@ static int writeFile(const char *OutputName) {
   int RetVal;
   FILE *OutputFile;
 
+  int MergeDone = 0;
   if (!doMerging())
     OutputFile = fopen(OutputName, "ab");
   else
-    OutputFile = openFileForMerging(OutputName);
+    OutputFile = openFileForMerging(OutputName, &MergeDone);
 
   if (!OutputFile)
     return -1;
 
   FreeHook = &free;
   setupIOBuffer();
-  RetVal = lprofWriteData(fileWriter, OutputFile, lprofGetVPDataReader());
+  ProfDataWriter fileWriter;
+  initFileWriter(&fileWriter, OutputFile);
+  RetVal = lprofWriteData(&fileWriter, lprofGetVPDataReader(), MergeDone);
 
   fclose(OutputFile);
   return RetVal;

Modified: projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingInternal.h
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingInternal.h	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingInternal.h	Sun Jul  2 11:41:15 2017	(r320572)
@@ -48,17 +48,21 @@ typedef struct ProfDataIOVec {
   size_t NumElm;
 } ProfDataIOVec;
 
-typedef uint32_t (*WriterCallback)(ProfDataIOVec *, uint32_t NumIOVecs,
-                                   void **WriterCtx);
+struct ProfDataWriter;
+typedef uint32_t (*WriterCallback)(struct ProfDataWriter *This, ProfDataIOVec *,
+                                   uint32_t NumIOVecs);
 
+typedef struct ProfDataWriter {
+  WriterCallback Write;
+  void *WriterCtx;
+} ProfDataWriter;
+
 /*!
  * The data structure for buffered IO of profile data.
  */
 typedef struct ProfBufferIO {
-  /* File handle.  */
-  void *File;
-  /* Low level IO callback. */
-  WriterCallback FileWriter;
+  ProfDataWriter *FileWriter;
+  uint32_t OwnFileWriter;
   /* The start of the buffer. */
   uint8_t *BufferStart;
   /* Total size of the buffer. */
@@ -73,7 +77,7 @@ ProfBufferIO *lprofCreateBufferIOInternal(void *File, 
 /*!
  * This is the interface to create a handle for buffered IO.
  */
-ProfBufferIO *lprofCreateBufferIO(WriterCallback FileWriter, void *File);
+ProfBufferIO *lprofCreateBufferIO(ProfDataWriter *FileWriter);
 
 /*!
  * The interface to destroy the bufferIO handle and reclaim
@@ -96,8 +100,9 @@ int lprofBufferIOFlush(ProfBufferIO *BufferIO);
 /* The low level interface to write data into a buffer. It is used as the
  * callback by other high level writer methods such as buffered IO writer
  * and profile data writer.  */
-uint32_t lprofBufferWriter(ProfDataIOVec *IOVecs, uint32_t NumIOVecs,
-                           void **WriterCtx);
+uint32_t lprofBufferWriter(ProfDataWriter *This, ProfDataIOVec *IOVecs,
+                           uint32_t NumIOVecs);
+void initBufferWriter(ProfDataWriter *BufferWriter, char *Buffer);
 
 struct ValueProfData;
 struct ValueProfRecord;
@@ -133,15 +138,17 @@ typedef struct VPDataReaderType {
                                         uint32_t N);
 } VPDataReaderType;
 
-int lprofWriteData(WriterCallback Writer, void *WriterCtx,
-                   VPDataReaderType *VPDataReader);
-int lprofWriteDataImpl(WriterCallback Writer, void *WriterCtx,
+/* Write profile data to destinitation. If SkipNameDataWrite is set to 1,
+   the name data is already in destintation, we just skip over it. */
+int lprofWriteData(ProfDataWriter *Writer, VPDataReaderType *VPDataReader,
+                   int SkipNameDataWrite);
+int lprofWriteDataImpl(ProfDataWriter *Writer,
                        const __llvm_profile_data *DataBegin,
                        const __llvm_profile_data *DataEnd,
                        const uint64_t *CountersBegin,
                        const uint64_t *CountersEnd,
                        VPDataReaderType *VPDataReader, const char *NamesBegin,
-                       const char *NamesEnd);
+                       const char *NamesEnd, int SkipNameDataWrite);
 
 /* Merge value profile data pointed to by SrcValueProfData into
  * in-memory profile counters pointed by to DstData.  */

Copied: projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c (from r320555, vendor/compiler-rt/dist/lib/profile/InstrProfilingNameVar.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingNameVar.c	Sun Jul  2 11:41:15 2017	(r320572, copy of r320555, vendor/compiler-rt/dist/lib/profile/InstrProfilingNameVar.c)
@@ -0,0 +1,18 @@
+//===- InstrProfilingNameVar.c - profile name variable setup --------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "InstrProfiling.h"
+
+/* char __llvm_profile_filename[1]
+ *
+ * The runtime should only provide its own definition of this symbol when the
+ * user has not specified one. Set this up by moving the runtime's copy of this
+ * symbol to an object file within the archive.
+ */
+COMPILER_RT_WEAK char INSTR_PROF_PROFILE_NAME_VAR[1] = {0};

Modified: projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingWriter.c
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingWriter.c	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/profile/InstrProfilingWriter.c	Sun Jul  2 11:41:15 2017	(r320572)
@@ -31,41 +31,44 @@ COMPILER_RT_VISIBILITY uint32_t VPBufferSize = 0;
 /* The buffer writer is reponsponsible in keeping writer state
  * across the call.
  */
-COMPILER_RT_VISIBILITY uint32_t lprofBufferWriter(ProfDataIOVec *IOVecs,
-                                                  uint32_t NumIOVecs,
-                                                  void **WriterCtx) {
+COMPILER_RT_VISIBILITY uint32_t lprofBufferWriter(ProfDataWriter *This,
+                                                  ProfDataIOVec *IOVecs,
+                                                  uint32_t NumIOVecs) {
   uint32_t I;
-  char **Buffer = (char **)WriterCtx;
+  char **Buffer = (char **)&This->WriterCtx;
   for (I = 0; I < NumIOVecs; I++) {
     size_t Length = IOVecs[I].ElmSize * IOVecs[I].NumElm;
-    memcpy(*Buffer, IOVecs[I].Data, Length);
+    if (IOVecs[I].Data)
+      memcpy(*Buffer, IOVecs[I].Data, Length);
     *Buffer += Length;
   }
   return 0;
 }
 
-static void llvmInitBufferIO(ProfBufferIO *BufferIO, WriterCallback FileWriter,
-                             void *File, uint8_t *Buffer, uint32_t BufferSz) {
-  BufferIO->File = File;
+static void llvmInitBufferIO(ProfBufferIO *BufferIO, ProfDataWriter *FileWriter,
+                             uint8_t *Buffer, uint32_t BufferSz) {
   BufferIO->FileWriter = FileWriter;
+  BufferIO->OwnFileWriter = 0;
   BufferIO->BufferStart = Buffer;
   BufferIO->BufferSz = BufferSz;
   BufferIO->CurOffset = 0;
 }
 
 COMPILER_RT_VISIBILITY ProfBufferIO *
-lprofCreateBufferIO(WriterCallback FileWriter, void *File) {
+lprofCreateBufferIO(ProfDataWriter *FileWriter) {
   uint8_t *Buffer = DynamicBufferIOBuffer;
   uint32_t BufferSize = VPBufferSize;
   if (!Buffer) {
     Buffer = &BufferIOBuffer[0];
     BufferSize = sizeof(BufferIOBuffer);
   }
-  llvmInitBufferIO(&TheBufferIO, FileWriter, File, Buffer, BufferSize);
+  llvmInitBufferIO(&TheBufferIO, FileWriter, Buffer, BufferSize);
   return &TheBufferIO;
 }
 
 COMPILER_RT_VISIBILITY void lprofDeleteBufferIO(ProfBufferIO *BufferIO) {
+  if (BufferIO->OwnFileWriter)
+    FreeHook(BufferIO->FileWriter);
   if (DynamicBufferIOBuffer) {
     FreeHook(DynamicBufferIOBuffer);
     DynamicBufferIOBuffer = 0;
@@ -83,13 +86,16 @@ lprofBufferIOWrite(ProfBufferIO *BufferIO, const uint8
   /* Special case, bypass the buffer completely. */
   ProfDataIOVec IO[] = {{Data, sizeof(uint8_t), Size}};
   if (Size > BufferIO->BufferSz) {
-    if (BufferIO->FileWriter(IO, 1, &BufferIO->File))
+    if (BufferIO->FileWriter->Write(BufferIO->FileWriter, IO, 1))
       return -1;
   } else {
     /* Write the data to buffer */
     uint8_t *Buffer = BufferIO->BufferStart + BufferIO->CurOffset;
-    lprofBufferWriter(IO, 1, (void **)&Buffer);
-    BufferIO->CurOffset = Buffer - BufferIO->BufferStart;
+    ProfDataWriter BufferWriter;
+    initBufferWriter(&BufferWriter, (char *)Buffer);
+    lprofBufferWriter(&BufferWriter, IO, 1);
+    BufferIO->CurOffset =
+        (uint8_t *)BufferWriter.WriterCtx - BufferIO->BufferStart;
   }
   return 0;
 }
@@ -98,7 +104,7 @@ COMPILER_RT_VISIBILITY int lprofBufferIOFlush(ProfBuff
   if (BufferIO->CurOffset) {
     ProfDataIOVec IO[] = {
         {BufferIO->BufferStart, sizeof(uint8_t), BufferIO->CurOffset}};
-    if (BufferIO->FileWriter(IO, 1, &BufferIO->File))
+    if (BufferIO->FileWriter->Write(BufferIO->FileWriter, IO, 1))
       return -1;
     BufferIO->CurOffset = 0;
   }
@@ -201,7 +207,7 @@ static int writeOneValueProfData(ProfBufferIO *BufferI
   return 0;
 }
 
-static int writeValueProfData(WriterCallback Writer, void *WriterCtx,
+static int writeValueProfData(ProfDataWriter *Writer,
                               VPDataReaderType *VPDataReader,
                               const __llvm_profile_data *DataBegin,
                               const __llvm_profile_data *DataEnd) {
@@ -211,7 +217,7 @@ static int writeValueProfData(WriterCallback Writer, v
   if (!VPDataReader)
     return 0;
 
-  BufferIO = lprofCreateBufferIO(Writer, WriterCtx);
+  BufferIO = lprofCreateBufferIO(Writer);
 
   for (DI = DataBegin; DI < DataEnd; DI++) {
     if (writeOneValueProfData(BufferIO, VPDataReader, DI))
@@ -225,9 +231,9 @@ static int writeValueProfData(WriterCallback Writer, v
   return 0;
 }
 
-COMPILER_RT_VISIBILITY int lprofWriteData(WriterCallback Writer,
-                                          void *WriterCtx,
-                                          VPDataReaderType *VPDataReader) {
+COMPILER_RT_VISIBILITY int lprofWriteData(ProfDataWriter *Writer,
+                                          VPDataReaderType *VPDataReader,
+                                          int SkipNameDataWrite) {
   /* Match logic in __llvm_profile_write_buffer(). */
   const __llvm_profile_data *DataBegin = __llvm_profile_begin_data();
   const __llvm_profile_data *DataEnd = __llvm_profile_end_data();
@@ -235,18 +241,17 @@ COMPILER_RT_VISIBILITY int lprofWriteData(WriterCallba
   const uint64_t *CountersEnd = __llvm_profile_end_counters();
   const char *NamesBegin = __llvm_profile_begin_names();
   const char *NamesEnd = __llvm_profile_end_names();
-  return lprofWriteDataImpl(Writer, WriterCtx, DataBegin, DataEnd,
-                            CountersBegin, CountersEnd, VPDataReader,
-                            NamesBegin, NamesEnd);
+  return lprofWriteDataImpl(Writer, DataBegin, DataEnd, CountersBegin,
+                            CountersEnd, VPDataReader, NamesBegin, NamesEnd,
+                            SkipNameDataWrite);
 }
 
 COMPILER_RT_VISIBILITY int
-lprofWriteDataImpl(WriterCallback Writer, void *WriterCtx,
-                   const __llvm_profile_data *DataBegin,
+lprofWriteDataImpl(ProfDataWriter *Writer, const __llvm_profile_data *DataBegin,
                    const __llvm_profile_data *DataEnd,
                    const uint64_t *CountersBegin, const uint64_t *CountersEnd,
                    VPDataReaderType *VPDataReader, const char *NamesBegin,
-                   const char *NamesEnd) {
+                   const char *NamesEnd, int SkipNameDataWrite) {
 
   /* Calculate size of sections. */
   const uint64_t DataSize = __llvm_profile_get_data_size(DataBegin, DataEnd);
@@ -268,14 +273,14 @@ lprofWriteDataImpl(WriterCallback Writer, void *Writer
 #include "InstrProfData.inc"
 
   /* Write the data. */
-  ProfDataIOVec IOVec[] = {{&Header, sizeof(__llvm_profile_header), 1},
-                           {DataBegin, sizeof(__llvm_profile_data), DataSize},
-                           {CountersBegin, sizeof(uint64_t), CountersSize},
-                           {NamesBegin, sizeof(uint8_t), NamesSize},
-                           {Zeroes, sizeof(uint8_t), Padding}};
-  if (Writer(IOVec, sizeof(IOVec) / sizeof(*IOVec), &WriterCtx))
+  ProfDataIOVec IOVec[] = {
+      {&Header, sizeof(__llvm_profile_header), 1},
+      {DataBegin, sizeof(__llvm_profile_data), DataSize},
+      {CountersBegin, sizeof(uint64_t), CountersSize},
+      {SkipNameDataWrite ? NULL : NamesBegin, sizeof(uint8_t), NamesSize},
+      {Zeroes, sizeof(uint8_t), Padding}};
+  if (Writer->Write(Writer, IOVec, sizeof(IOVec) / sizeof(*IOVec)))
     return -1;
 
-  return writeValueProfData(Writer, WriterCtx, VPDataReader, DataBegin,
-                            DataEnd);
+  return writeValueProfData(Writer, VPDataReader, DataBegin, DataEnd);
 }

Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.cc	Sun Jul  2 11:41:15 2017	(r320572)
@@ -160,7 +160,7 @@ void *InternalRealloc(void *addr, uptr size, InternalA
 }
 
 void *InternalCalloc(uptr count, uptr size, InternalAllocatorCache *cache) {
-  if (CallocShouldReturnNullDueToOverflow(count, size))
+  if (CheckForCallocOverflow(count, size))
     return InternalAllocator::FailureHandler::OnBadRequest();
   void *p = InternalAlloc(count * size, cache);
   if (p) internal_memset(p, 0, count * size);
@@ -202,7 +202,7 @@ void SetLowLevelAllocateCallback(LowLevelAllocateCallb
   low_level_alloc_callback = callback;
 }
 
-bool CallocShouldReturnNullDueToOverflow(uptr size, uptr n) {
+bool CheckForCallocOverflow(uptr size, uptr n) {
   if (!size) return false;
   uptr max = (uptr)-1L;
   return (max / size) < n;
@@ -246,11 +246,11 @@ void *ReturnNullOrDieOnFailure::OnOOM() {
   ReportAllocatorCannotReturnNull();
 }
 
-void *DieOnFailure::OnBadRequest() {
+void NORETURN *DieOnFailure::OnBadRequest() {
   ReportAllocatorCannotReturnNull();
 }
 
-void *DieOnFailure::OnOOM() {
+void NORETURN *DieOnFailure::OnOOM() {
   atomic_store_relaxed(&allocator_out_of_memory, 1);
   ReportAllocatorCannotReturnNull();
 }

Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator.h	Sun Jul  2 11:41:15 2017	(r320572)
@@ -39,8 +39,8 @@ struct ReturnNullOrDieOnFailure {
 };
 // Always dies on the failure.
 struct DieOnFailure {
-  static void *OnBadRequest();
-  static void *OnOOM();
+  static void NORETURN *OnBadRequest();
+  static void NORETURN *OnOOM();
 };
 
 // Returns true if allocator detected OOM condition. Can be used to avoid memory
@@ -56,8 +56,10 @@ struct NoOpMapUnmapCallback {
 // Callback type for iterating over chunks.
 typedef void (*ForEachChunkCallback)(uptr chunk, void *arg);
 
-// Returns true if calloc(size, n) should return 0 due to overflow in size*n.
-bool CallocShouldReturnNullDueToOverflow(uptr size, uptr n);
+// Returns true if calloc(size, n) call overflows on size*n calculation.
+// The caller should "return POLICY::OnBadRequest();" where POLICY is the
+// current allocator failure handling policy.
+bool CheckForCallocOverflow(uptr size, uptr n);
 
 #include "sanitizer_allocator_size_class_map.h"
 #include "sanitizer_allocator_stats.h"

Modified: projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h
==============================================================================
--- projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h	Sun Jul  2 08:52:08 2017	(r320571)
+++ projects/clang500-import/contrib/compiler-rt/lib/sanitizer_common/sanitizer_allocator_local_cache.h	Sun Jul  2 11:41:15 2017	(r320572)
@@ -46,8 +46,10 @@ struct SizeClassAllocator64LocalCache {
     CHECK_NE(class_id, 0UL);
     CHECK_LT(class_id, kNumClasses);
     PerClass *c = &per_class_[class_id];
-    if (UNLIKELY(c->count == 0))
-      Refill(c, allocator, class_id);
+    if (UNLIKELY(c->count == 0)) {
+      if (UNLIKELY(!Refill(c, allocator, class_id)))
+        return nullptr;
+    }
     stats_.Add(AllocatorStatAllocated, c->class_size);
     CHECK_GT(c->count, 0);
     CompactPtrT chunk = c->chunks[--c->count];
@@ -101,13 +103,15 @@ struct SizeClassAllocator64LocalCache {
     }
   }
 
-  NOINLINE void Refill(PerClass *c, SizeClassAllocator *allocator,
+  NOINLINE bool Refill(PerClass *c, SizeClassAllocator *allocator,
                        uptr class_id) {
     InitCache();
     uptr num_requested_chunks = c->max_count / 2;
-    allocator->GetFromAllocator(&stats_, class_id, c->chunks,
-                                num_requested_chunks);
+    if (UNLIKELY(!allocator->GetFromAllocator(&stats_, class_id, c->chunks,
+                                              num_requested_chunks)))
+      return false;
     c->count = num_requested_chunks;
+    return true;
   }
 

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list