svn commit: r361410 - in head: . contrib/llvm-project contrib/llvm-project/clang/include/clang/AST contrib/llvm-project/clang/include/clang/Basic contrib/llvm-project/clang/lib/AST contrib/llvm-pro...
Dimitry Andric
dim at FreeBSD.org
Sat May 23 10:32:24 UTC 2020
Author: dim
Date: Sat May 23 10:32:18 2020
New Revision: 361410
URL: https://svnweb.freebsd.org/changeset/base/361410
Log:
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
llvmorg-10.0.1-rc1-0-gf79cd71e145 (aka 10.0.1 rc1).
MFC after: 3 weeks
Modified:
head/ObsoleteFiles.inc
head/UPDATING
head/contrib/llvm-project/FREEBSD-Xlist
head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h
head/contrib/llvm-project/clang/include/clang/Basic/Attr.td
head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp
head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp
head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp
head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp
head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp
head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp
head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h
head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp
head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h
head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp
head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h
head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp
head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp
head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h
head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c
head/contrib/llvm-project/lld/COFF/MarkLive.cpp
head/contrib/llvm-project/lld/ELF/Driver.cpp
head/contrib/llvm-project/lld/ELF/InputSection.cpp
head/contrib/llvm-project/lld/ELF/InputSection.h
head/contrib/llvm-project/lld/ELF/OutputSections.cpp
head/contrib/llvm-project/lld/ELF/Writer.cpp
head/contrib/llvm-project/llvm/include/llvm/Analysis/ValueLattice.h
head/contrib/llvm-project/llvm/include/llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h
head/contrib/llvm-project/llvm/lib/Analysis/LazyValueInfo.cpp
head/contrib/llvm-project/llvm/lib/Analysis/ValueLattice.cpp
head/contrib/llvm-project/llvm/lib/CodeGen/MachineSink.cpp
head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
head/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/MergingTypeTableBuilder.cpp
head/contrib/llvm-project/llvm/lib/DebugInfo/CodeView/TypeStreamMerger.cpp
head/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp
head/contrib/llvm-project/llvm/lib/MC/MCObjectFileInfo.cpp
head/contrib/llvm-project/llvm/lib/Target/BPF/BPFMISimplifyPatchable.cpp
head/contrib/llvm-project/llvm/lib/Target/PowerPC/PPCISelLowering.cpp
head/contrib/llvm-project/llvm/lib/Target/X86/X86ISelLowering.cpp
head/contrib/llvm-project/llvm/lib/Target/X86/X86IndirectBranchTracking.cpp
head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.cpp
head/contrib/llvm-project/llvm/lib/Target/X86/X86TargetMachine.h
head/contrib/llvm-project/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
head/contrib/llvm-project/llvm/lib/Transforms/IPO/GlobalOpt.cpp
head/contrib/llvm-project/llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
head/contrib/llvm-project/llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
head/contrib/llvm-project/llvm/tools/llvm-objcopy/ELF/Object.cpp
head/contrib/llvm-project/llvm/tools/llvm-objcopy/llvm-objcopy.cpp
head/etc/mtree/BSD.debug.dist
head/etc/mtree/BSD.usr.dist
head/lib/clang/headers/Makefile
head/lib/clang/include/VCSVersion.inc
head/lib/clang/include/clang/Basic/Version.inc
head/lib/clang/include/clang/Config/config.h
head/lib/clang/include/lld/Common/Version.inc
head/lib/clang/include/llvm/Config/config.h
head/lib/clang/include/llvm/Config/llvm-config.h
head/lib/clang/include/llvm/Support/VCSRevision.h
head/lib/libclang_rt/Makefile.inc
head/sys/sys/param.h
head/tools/build/mk/OptionalObsoleteFiles.inc
Directory Properties:
head/contrib/llvm-project/ (props changed)
head/contrib/llvm-project/clang/ (props changed)
head/contrib/llvm-project/compiler-rt/ (props changed)
head/contrib/llvm-project/lld/ (props changed)
head/contrib/llvm-project/llvm/ (props changed)
Modified: head/ObsoleteFiles.inc
==============================================================================
--- head/ObsoleteFiles.inc Sat May 23 10:21:02 2020 (r361409)
+++ head/ObsoleteFiles.inc Sat May 23 10:32:18 2020 (r361410)
@@ -36,6 +36,257 @@
# xargs -n1 | sort | uniq -d;
# done
+# 20200523: new clang import which bumps version from 10.0.0 to 10.0.1.s
+OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/algorithm
+OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/complex
+OLD_FILES+=usr/lib/clang/10.0.0/include/cuda_wrappers/new
+OLD_DIRS+=usr/lib/clang/10.0.0/include/cuda_wrappers
+OLD_FILES+=usr/lib/clang/10.0.0/include/fuzzer/FuzzedDataProvider.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/fuzzer
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/__clang_openmp_math.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/__clang_openmp_math_declares.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/cmath
+OLD_FILES+=usr/lib/clang/10.0.0/include/openmp_wrappers/math.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/openmp_wrappers
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/emmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/mm_malloc.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/mmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/pmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/smmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/tmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ppc_wrappers/xmmintrin.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/ppc_wrappers
+OLD_FILES+=usr/lib/clang/10.0.0/include/profile/InstrProfData.inc
+OLD_DIRS+=usr/lib/clang/10.0.0/include/profile
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/allocator_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/asan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/common_interface_defs.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/coverage_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/dfsan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/hwasan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/linux_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/lsan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/msan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/netbsd_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/scudo_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/tsan_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/tsan_interface_atomic.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sanitizer/ubsan_interface.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/sanitizer
+OLD_FILES+=usr/lib/clang/10.0.0/include/xray/xray_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xray/xray_log_interface.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xray/xray_records.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include/xray
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_builtin_vars.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_cmath.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_complex_builtins.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_device_functions.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_intrinsics.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_libdevice_declares.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_math_forward_declares.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__clang_cuda_runtime_wrapper.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__stddef_max_align_t.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__wmmintrin_aes.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/__wmmintrin_pclmul.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/adxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/altivec.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ammintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm64intr.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_acle.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_cmse.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_fp16.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_mve.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/arm_neon.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/armintr.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512bf16intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512bitalgintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512bwintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512cdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512dqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512erintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512fintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512ifmaintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512ifmavlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512pfintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vbmi2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vbmiintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vbmivlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlbf16intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlbitalgintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlbwintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlcdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vldqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlvbmi2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlvnniintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vlvp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vnniintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vpopcntdqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avx512vpopcntdqvlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/avxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/bmi2intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/bmiintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/cetintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/cldemoteintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/clflushoptintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/clwbintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/clzerointrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/cpuid.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/emmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/enqcmdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/f16cintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/fma4intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/fmaintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/fxsrintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/gfniintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/htmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/htmxlintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ia32intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/immintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/invpcidintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/lwpintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/lzcntintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mm3dnow.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mm_malloc.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/module.modulemap
+OLD_FILES+=usr/lib/clang/10.0.0/include/movdirintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/msa.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/mwaitxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/nmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/opencl-c-base.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/opencl-c.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/pconfigintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/pkuintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/pmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/popcntintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/prfchwintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/ptwriteintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/rdseedintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/rtmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/s390intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/sgxintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/shaintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/smmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/tbmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/tmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vadefs.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vaesintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vecintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/vpclmulqdqintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/waitpkgintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/wbnoinvdintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/wmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/x86intrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xmmintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xopintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsavecintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsaveintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsaveoptintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xsavesintrin.h
+OLD_FILES+=usr/lib/clang/10.0.0/include/xtestintrin.h
+OLD_DIRS+=usr/lib/clang/10.0.0/include
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-aarch64.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-arm.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-armhf.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-i386.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-preinit-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-x86_64.so
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.cfi_diag-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.dd-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.dd-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.msan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-powerpc.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-powerpc64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.profile-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.safestack-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.safestack-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.safestack-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.stats_client-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-basic-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-fdr-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-aarch64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-arm.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-armhf.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-profiling-x86_64.a
+OLD_FILES+=usr/lib/clang/10.0.0/lib/freebsd/libclang_rt.xray-x86_64.a
+OLD_DIRS+=usr/lib/clang/10.0.0/lib/freebsd
+OLD_DIRS+=usr/lib/clang/10.0.0/lib
+OLD_DIRS+=usr/lib/clang/10.0.0
+
# 20200515: libalias cuseeme protocol support retired
OLD_LIBS+=lib/libalias_cuseeme.so
OLD_FILES+=usr/lib/libalias_cuseeme.a
Modified: head/UPDATING
==============================================================================
--- head/UPDATING Sat May 23 10:21:02 2020 (r361409)
+++ head/UPDATING Sat May 23 10:32:18 2020 (r361410)
@@ -26,6 +26,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 13.x IS SLOW:
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20200523:
+ Clang, llvm, lld, lldb, compiler-rt, libc++, libunwind and openmp have
+ been upgraded to 10.0.1. Please see the 20141231 entry below for
+ information about prerequisites and upgrading, if you are not already
+ using clang 3.5.0 or higher.
+
20200424:
closefrom(2) has been moved under COMPAT12, and replaced in libc with a
stub that calls close_range(2). If using a custom kernel configuration,
Modified: head/contrib/llvm-project/FREEBSD-Xlist
==============================================================================
--- head/contrib/llvm-project/FREEBSD-Xlist Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/FREEBSD-Xlist Sat May 23 10:32:18 2020 (r361410)
@@ -3,6 +3,7 @@
.clang-format
.clang-tidy
.git-blame-ignore-revs
+.github/
.gitignore
CONTRIBUTING.md
README.md
@@ -264,6 +265,7 @@ lldb/.clang-format
lldb/.gitignore
lldb/CMakeLists.txt
lldb/CODE_OWNERS.txt
+lldb/bindings/CMakeLists.txt
lldb/cmake/
lldb/docs/.htaccess
lldb/docs/CMakeLists.txt
Modified: head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h
==============================================================================
--- head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/include/clang/AST/DeclBase.h Sat May 23 10:32:18 2020 (r361410)
@@ -856,14 +856,15 @@ class alignas(8) Decl { (public)
return getParentFunctionOrMethod() == nullptr;
}
- /// Returns true if this declaration lexically is inside a function.
- /// It recognizes non-defining declarations as well as members of local
- /// classes:
+ /// Returns true if this declaration is lexically inside a function or inside
+ /// a variable initializer. It recognizes non-defining declarations as well
+ /// as members of local classes:
/// \code
/// void foo() { void bar(); }
/// void foo2() { class ABC { void bar(); }; }
+ /// inline int x = [](){ return 0; };
/// \endcode
- bool isLexicallyWithinFunctionOrMethod() const;
+ bool isInLocalScope() const;
/// If this decl is defined inside a function/method/block it returns
/// the corresponding DeclContext, otherwise it returns null.
Modified: head/contrib/llvm-project/clang/include/clang/Basic/Attr.td
==============================================================================
--- head/contrib/llvm-project/clang/include/clang/Basic/Attr.td Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/include/clang/Basic/Attr.td Sat May 23 10:32:18 2020 (r361410)
@@ -685,7 +685,7 @@ def XRayLogArgs : InheritableAttr {
def PatchableFunctionEntry
: InheritableAttr,
- TargetSpecificAttr<TargetArch<["aarch64", "x86", "x86_64"]>> {
+ TargetSpecificAttr<TargetArch<["aarch64", "aarch64_be", "x86", "x86_64"]>> {
let Spellings = [GCC<"patchable_function_entry">];
let Subjects = SubjectList<[Function, ObjCMethod]>;
let Args = [UnsignedArgument<"Count">, DefaultIntArgument<"Offset", 0>];
Modified: head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/AST/DeclBase.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -332,13 +332,16 @@ void Decl::setDeclContextsImpl(DeclContext *SemaDC, De
}
}
-bool Decl::isLexicallyWithinFunctionOrMethod() const {
+bool Decl::isInLocalScope() const {
const DeclContext *LDC = getLexicalDeclContext();
while (true) {
if (LDC->isFunctionOrMethod())
return true;
if (!isa<TagDecl>(LDC))
return false;
+ if (const auto *CRD = dyn_cast<CXXRecordDecl>(LDC))
+ if (CRD->isLambda())
+ return true;
LDC = LDC->getLexicalParent();
}
return false;
Modified: head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -8593,6 +8593,10 @@ bool PointerExprEvaluator::VisitBuiltinCallExpr(const
static bool EvaluateArrayNewInitList(EvalInfo &Info, LValue &This,
APValue &Result, const InitListExpr *ILE,
QualType AllocType);
+static bool EvaluateArrayNewConstructExpr(EvalInfo &Info, LValue &This,
+ APValue &Result,
+ const CXXConstructExpr *CCE,
+ QualType AllocType);
bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNewExpr *E) {
if (!Info.getLangOpts().CPlusPlus2a)
@@ -8642,6 +8646,7 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
const Expr *Init = E->getInitializer();
const InitListExpr *ResizedArrayILE = nullptr;
+ const CXXConstructExpr *ResizedArrayCCE = nullptr;
QualType AllocType = E->getAllocatedType();
if (Optional<const Expr*> ArraySize = E->getArraySize()) {
@@ -8685,7 +8690,7 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
// -- the new-initializer is a braced-init-list and the number of
// array elements for which initializers are provided [...]
// exceeds the number of elements to initialize
- if (Init) {
+ if (Init && !isa<CXXConstructExpr>(Init)) {
auto *CAT = Info.Ctx.getAsConstantArrayType(Init->getType());
assert(CAT && "unexpected type for array initializer");
@@ -8708,6 +8713,8 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
// special handling for this case when we initialize.
if (InitBound != AllocBound)
ResizedArrayILE = cast<InitListExpr>(Init);
+ } else if (Init) {
+ ResizedArrayCCE = cast<CXXConstructExpr>(Init);
}
AllocType = Info.Ctx.getConstantArrayType(AllocType, ArrayBound, nullptr,
@@ -8772,6 +8779,10 @@ bool PointerExprEvaluator::VisitCXXNewExpr(const CXXNe
if (!EvaluateArrayNewInitList(Info, Result, *Val, ResizedArrayILE,
AllocType))
return false;
+ } else if (ResizedArrayCCE) {
+ if (!EvaluateArrayNewConstructExpr(Info, Result, *Val, ResizedArrayCCE,
+ AllocType))
+ return false;
} else if (Init) {
if (!EvaluateInPlace(*Val, Info, Result, Init))
return false;
@@ -9595,6 +9606,16 @@ static bool EvaluateArrayNewInitList(EvalInfo &Info, L
"not an array rvalue");
return ArrayExprEvaluator(Info, This, Result)
.VisitInitListExpr(ILE, AllocType);
+}
+
+static bool EvaluateArrayNewConstructExpr(EvalInfo &Info, LValue &This,
+ APValue &Result,
+ const CXXConstructExpr *CCE,
+ QualType AllocType) {
+ assert(CCE->isRValue() && CCE->getType()->isArrayType() &&
+ "not an array rvalue");
+ return ArrayExprEvaluator(Info, This, Result)
+ .VisitCXXConstructExpr(CCE, This, &Result, AllocType);
}
// Return true iff the given array filler may depend on the element index.
Modified: head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -430,7 +430,7 @@ std::string RawComment::getFormattedText(const SourceM
};
auto DropTrailingNewLines = [](std::string &Str) {
- while (Str.back() == '\n')
+ while (!Str.empty() && Str.back() == '\n')
Str.pop_back();
};
Modified: head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -1847,9 +1847,16 @@ void CodeGenModule::SetFunctionAttributes(GlobalDecl G
else if (const auto *SA = FD->getAttr<SectionAttr>())
F->setSection(SA->getName());
+ // If we plan on emitting this inline builtin, we can't treat it as a builtin.
if (FD->isInlineBuiltinDeclaration()) {
- F->addAttribute(llvm::AttributeList::FunctionIndex,
- llvm::Attribute::NoBuiltin);
+ const FunctionDecl *FDBody;
+ bool HasBody = FD->hasBody(FDBody);
+ (void)HasBody;
+ assert(HasBody && "Inline builtin declarations should always have an "
+ "available body!");
+ if (shouldEmitFunction(FDBody))
+ F->addAttribute(llvm::AttributeList::FunctionIndex,
+ llvm::Attribute::NoBuiltin);
}
if (FD->isReplaceableGlobalAllocationFunction()) {
Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -1146,6 +1146,7 @@ void Darwin::addProfileRTLibs(const ArgList &Args,
addExportedSymbol(CmdArgs, "___gcov_flush");
addExportedSymbol(CmdArgs, "_flush_fn_list");
addExportedSymbol(CmdArgs, "_writeout_fn_list");
+ addExportedSymbol(CmdArgs, "_reset_fn_list");
} else {
addExportedSymbol(CmdArgs, "___llvm_profile_filename");
addExportedSymbol(CmdArgs, "___llvm_profile_raw_version");
Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -309,7 +309,7 @@ static const char *getLDMOption(const llvm::Triple &T,
}
}
-static bool getPIE(const ArgList &Args, const toolchains::Linux &ToolChain) {
+static bool getPIE(const ArgList &Args, const ToolChain &TC) {
if (Args.hasArg(options::OPT_shared) || Args.hasArg(options::OPT_static) ||
Args.hasArg(options::OPT_r) || Args.hasArg(options::OPT_static_pie))
return false;
@@ -317,17 +317,16 @@ static bool getPIE(const ArgList &Args, const toolchai
Arg *A = Args.getLastArg(options::OPT_pie, options::OPT_no_pie,
options::OPT_nopie);
if (!A)
- return ToolChain.isPIEDefault();
+ return TC.isPIEDefault();
return A->getOption().matches(options::OPT_pie);
}
-static bool getStaticPIE(const ArgList &Args,
- const toolchains::Linux &ToolChain) {
+static bool getStaticPIE(const ArgList &Args, const ToolChain &TC) {
bool HasStaticPIE = Args.hasArg(options::OPT_static_pie);
// -no-pie is an alias for -nopie. So, handling -nopie takes care of
// -no-pie as well.
if (HasStaticPIE && Args.hasArg(options::OPT_nopie)) {
- const Driver &D = ToolChain.getDriver();
+ const Driver &D = TC.getDriver();
const llvm::opt::OptTable &Opts = D.getOpts();
const char *StaticPIEName = Opts.getOptionName(options::OPT_static_pie);
const char *NoPIEName = Opts.getOptionName(options::OPT_nopie);
@@ -346,8 +345,12 @@ void tools::gnutools::Linker::ConstructJob(Compilation
const InputInfoList &Inputs,
const ArgList &Args,
const char *LinkingOutput) const {
- const toolchains::Linux &ToolChain =
- static_cast<const toolchains::Linux &>(getToolChain());
+ // FIXME: The Linker class constructor takes a ToolChain and not a
+ // Generic_ELF, so the static_cast might return a reference to a invalid
+ // instance (see PR45061). Ideally, the Linker constructor needs to take a
+ // Generic_ELF instead.
+ const toolchains::Generic_ELF &ToolChain =
+ static_cast<const toolchains::Generic_ELF &>(getToolChain());
const Driver &D = ToolChain.getDriver();
const llvm::Triple &Triple = getToolChain().getEffectiveTriple();
@@ -418,8 +421,7 @@ void tools::gnutools::Linker::ConstructJob(Compilation
if (isAndroid)
CmdArgs.push_back("--warn-shared-textrel");
- for (const auto &Opt : ToolChain.ExtraOpts)
- CmdArgs.push_back(Opt.c_str());
+ ToolChain.addExtraOpts(CmdArgs);
CmdArgs.push_back("--eh-frame-hdr");
Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.h Sat May 23 10:32:18 2020 (r361410)
@@ -356,6 +356,12 @@ class LLVM_LIBRARY_VISIBILITY Generic_ELF : public Gen
void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args,
Action::OffloadKind DeviceOffloadKind) const override;
+
+ virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const {
+ return {};
+ }
+
+ virtual void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {}
};
} // end namespace toolchains
Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -61,8 +61,7 @@ static StringRef getOSLibDir(const llvm::Triple &Tripl
return Triple.isArch32Bit() ? "lib" : "lib64";
}
-Hurd::Hurd(const Driver &D, const llvm::Triple &Triple,
- const ArgList &Args)
+Hurd::Hurd(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
: Generic_ELF(D, Triple, Args) {
std::string SysRoot = computeSysRoot();
path_list &Paths = getFilePaths();
@@ -169,4 +168,9 @@ void Hurd::AddClangSystemIncludeArgs(const ArgList &Dr
addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/include");
addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include");
+}
+
+void Hurd::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {
+ for (const auto &Opt : ExtraOpts)
+ CmdArgs.push_back(Opt.c_str());
}
Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Hurd.h Sat May 23 10:32:18 2020 (r361410)
@@ -27,9 +27,11 @@ class LLVM_LIBRARY_VISIBILITY Hurd : public Generic_EL
AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
llvm::opt::ArgStringList &CC1Args) const override;
- virtual std::string computeSysRoot() const;
+ std::string computeSysRoot() const;
- virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const;
+ std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;
+
+ void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const override;
std::vector<std::string> ExtraOpts;
Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -986,3 +986,8 @@ void Linux::addProfileRTLibs(const llvm::opt::ArgList
Twine("-u", llvm::getInstrProfRuntimeHookVarName())));
ToolChain::addProfileRTLibs(Args, CmdArgs);
}
+
+void Linux::addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const {
+ for (const auto &Opt : ExtraOpts)
+ CmdArgs.push_back(Opt.c_str());
+}
Modified: head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.h Sat May 23 10:32:18 2020 (r361410)
@@ -42,7 +42,9 @@ class LLVM_LIBRARY_VISIBILITY Linux : public Generic_E
llvm::opt::ArgStringList &CmdArgs) const override;
virtual std::string computeSysRoot() const;
- virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const;
+ std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;
+
+ void addExtraOpts(llvm::opt::ArgStringList &CmdArgs) const override;
std::vector<std::string> ExtraOpts;
Modified: head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -2176,6 +2176,10 @@ static bool isFunctionDeclarationName(const FormatToke
Next = Next->Next;
continue;
}
+ if (Next->is(TT_TemplateOpener) && Next->MatchingParen) {
+ Next = Next->MatchingParen;
+ continue;
+ }
break;
}
@@ -2705,20 +2709,40 @@ bool TokenAnnotator::spaceRequiredBetween(const Annota
tok::l_square));
if (Right.is(tok::star) && Left.is(tok::l_paren))
return false;
- if (Right.isOneOf(tok::star, tok::amp, tok::ampamp) &&
- (Left.is(tok::identifier) || Left.isSimpleTypeSpecifier()) &&
- // Space between the type and the * in:
- // operator void*()
- // operator char*()
- // operator /*comment*/ const char*()
- // operator volatile /*comment*/ char*()
- // operator Foo*()
- // dependent on PointerAlignment style.
- Left.Previous &&
- (Left.Previous->endsSequence(tok::kw_operator) ||
- Left.Previous->endsSequence(tok::kw_const, tok::kw_operator) ||
- Left.Previous->endsSequence(tok::kw_volatile, tok::kw_operator)))
- return (Style.PointerAlignment != FormatStyle::PAS_Left);
+ if (Right.is(tok::star) && Left.is(tok::star))
+ return false;
+ if (Right.isOneOf(tok::star, tok::amp, tok::ampamp)) {
+ const FormatToken *Previous = &Left;
+ while (Previous && !Previous->is(tok::kw_operator)) {
+ if (Previous->is(tok::identifier) || Previous->isSimpleTypeSpecifier()) {
+ Previous = Previous->getPreviousNonComment();
+ continue;
+ }
+ if (Previous->is(TT_TemplateCloser) && Previous->MatchingParen) {
+ Previous = Previous->MatchingParen->getPreviousNonComment();
+ continue;
+ }
+ if (Previous->is(tok::coloncolon)) {
+ Previous = Previous->getPreviousNonComment();
+ continue;
+ }
+ break;
+ }
+ // Space between the type and the * in:
+ // operator void*()
+ // operator char*()
+ // operator /*comment*/ const char*()
+ // operator volatile /*comment*/ char*()
+ // operator Foo*()
+ // operator C<T>*()
+ // operator std::Foo*()
+ // operator C<T>::D<U>*()
+ // dependent on PointerAlignment style.
+ if (Previous && (Previous->endsSequence(tok::kw_operator) ||
+ Previous->endsSequence(tok::kw_const, tok::kw_operator) ||
+ Previous->endsSequence(tok::kw_volatile, tok::kw_operator)))
+ return (Style.PointerAlignment != FormatStyle::PAS_Left);
+ }
const auto SpaceRequiredForArrayInitializerLSquare =
[](const FormatToken &LSquareTok, const FormatStyle &Style) {
return Style.SpacesInContainerLiterals ||
Modified: head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -2343,7 +2343,7 @@ ParmVarDecl *Sema::SubstParmVarDecl(ParmVarDecl *OldPa
UnparsedDefaultArgInstantiations[OldParm].push_back(NewParm);
} else if (Expr *Arg = OldParm->getDefaultArg()) {
FunctionDecl *OwningFunc = cast<FunctionDecl>(OldParm->getDeclContext());
- if (OwningFunc->isLexicallyWithinFunctionOrMethod()) {
+ if (OwningFunc->isInLocalScope()) {
// Instantiate default arguments for methods of local classes (DR1484)
// and non-defining declarations.
Sema::ContextRAII SavedContext(*this, OwningFunc);
Modified: head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
==============================================================================
--- head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -4367,7 +4367,7 @@ TemplateDeclInstantiator::InitFunctionInstantiation(Fu
EPI.ExceptionSpec.Type != EST_None &&
EPI.ExceptionSpec.Type != EST_DynamicNone &&
EPI.ExceptionSpec.Type != EST_BasicNoexcept &&
- !Tmpl->isLexicallyWithinFunctionOrMethod()) {
+ !Tmpl->isInLocalScope()) {
FunctionDecl *ExceptionSpecTemplate = Tmpl;
if (EPI.ExceptionSpec.Type == EST_Uninstantiated)
ExceptionSpecTemplate = EPI.ExceptionSpec.SourceTemplate;
Modified: head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h
==============================================================================
--- head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/clang/lib/Sema/TreeTransform.h Sat May 23 10:32:18 2020 (r361410)
@@ -4022,50 +4022,8 @@ template<typename Derived>
void TreeTransform<Derived>::InventTemplateArgumentLoc(
const TemplateArgument &Arg,
TemplateArgumentLoc &Output) {
- SourceLocation Loc = getDerived().getBaseLocation();
- switch (Arg.getKind()) {
- case TemplateArgument::Null:
- llvm_unreachable("null template argument in TreeTransform");
- break;
-
- case TemplateArgument::Type:
- Output = TemplateArgumentLoc(Arg,
- SemaRef.Context.getTrivialTypeSourceInfo(Arg.getAsType(), Loc));
-
- break;
-
- case TemplateArgument::Template:
- case TemplateArgument::TemplateExpansion: {
- NestedNameSpecifierLocBuilder Builder;
- TemplateName Template = Arg.getAsTemplateOrTemplatePattern();
- if (DependentTemplateName *DTN = Template.getAsDependentTemplateName())
- Builder.MakeTrivial(SemaRef.Context, DTN->getQualifier(), Loc);
- else if (QualifiedTemplateName *QTN = Template.getAsQualifiedTemplateName())
- Builder.MakeTrivial(SemaRef.Context, QTN->getQualifier(), Loc);
-
- if (Arg.getKind() == TemplateArgument::Template)
- Output = TemplateArgumentLoc(Arg,
- Builder.getWithLocInContext(SemaRef.Context),
- Loc);
- else
- Output = TemplateArgumentLoc(Arg,
- Builder.getWithLocInContext(SemaRef.Context),
- Loc, Loc);
-
- break;
- }
-
- case TemplateArgument::Expression:
- Output = TemplateArgumentLoc(Arg, Arg.getAsExpr());
- break;
-
- case TemplateArgument::Declaration:
- case TemplateArgument::Integral:
- case TemplateArgument::Pack:
- case TemplateArgument::NullPtr:
- Output = TemplateArgumentLoc(Arg, TemplateArgumentLocInfo());
- break;
- }
+ Output = getSema().getTrivialTemplateArgumentLoc(
+ Arg, QualType(), getDerived().getBaseLocation());
}
template<typename Derived>
@@ -4075,12 +4033,45 @@ bool TreeTransform<Derived>::TransformTemplateArgument
const TemplateArgument &Arg = Input.getArgument();
switch (Arg.getKind()) {
case TemplateArgument::Null:
- case TemplateArgument::Integral:
case TemplateArgument::Pack:
- case TemplateArgument::Declaration:
- case TemplateArgument::NullPtr:
llvm_unreachable("Unexpected TemplateArgument");
+ case TemplateArgument::Integral:
+ case TemplateArgument::NullPtr:
+ case TemplateArgument::Declaration: {
+ // Transform a resolved template argument straight to a resolved template
+ // argument. We get here when substituting into an already-substituted
+ // template type argument during concept satisfaction checking.
+ QualType T = Arg.getNonTypeTemplateArgumentType();
+ QualType NewT = getDerived().TransformType(T);
+ if (NewT.isNull())
+ return true;
+
+ ValueDecl *D = Arg.getKind() == TemplateArgument::Declaration
+ ? Arg.getAsDecl()
+ : nullptr;
+ ValueDecl *NewD = D ? cast_or_null<ValueDecl>(getDerived().TransformDecl(
+ getDerived().getBaseLocation(), D))
+ : nullptr;
+ if (D && !NewD)
+ return true;
+
+ if (NewT == T && D == NewD)
+ Output = Input;
+ else if (Arg.getKind() == TemplateArgument::Integral)
+ Output = TemplateArgumentLoc(
+ TemplateArgument(getSema().Context, Arg.getAsIntegral(), NewT),
+ TemplateArgumentLocInfo());
+ else if (Arg.getKind() == TemplateArgument::NullPtr)
+ Output = TemplateArgumentLoc(TemplateArgument(NewT, /*IsNullPtr=*/true),
+ TemplateArgumentLocInfo());
+ else
+ Output = TemplateArgumentLoc(TemplateArgument(NewD, NewT),
+ TemplateArgumentLocInfo());
+
+ return false;
+ }
+
case TemplateArgument::Type: {
TypeSourceInfo *DI = Input.getTypeSourceInfo();
if (!DI)
@@ -11836,19 +11827,6 @@ TreeTransform<Derived>::TransformLambdaExpr(LambdaExpr
NewTrailingRequiresClause.get());
LSI->CallOperator = NewCallOperator;
-
- for (unsigned I = 0, NumParams = NewCallOperator->getNumParams();
- I != NumParams; ++I) {
- auto *P = NewCallOperator->getParamDecl(I);
- if (P->hasUninstantiatedDefaultArg()) {
- EnterExpressionEvaluationContext Eval(
- getSema(),
- Sema::ExpressionEvaluationContext::PotentiallyEvaluatedIfUsed, P);
- ExprResult R = getDerived().TransformExpr(
- E->getCallOperator()->getParamDecl(I)->getDefaultArg());
- P->setDefaultArg(R.get());
- }
- }
getDerived().transformAttrs(E->getCallOperator(), NewCallOperator);
getDerived().transformedLocalDecl(E->getCallOperator(), {NewCallOperator});
Modified: head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c
==============================================================================
--- head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/compiler-rt/lib/profile/GCDAProfiling.c Sat May 23 10:32:18 2020 (r361410)
@@ -32,8 +32,10 @@
#include <windows.h>
#include "WindowsMMap.h"
#else
-#include <sys/mman.h>
#include <sys/file.h>
+#include <sys/mman.h>
+#include <sys/types.h>
+#include <unistd.h>
#endif
#if defined(__FreeBSD__) && defined(__i386__)
@@ -119,6 +121,11 @@ struct fn_list writeout_fn_list;
*/
struct fn_list flush_fn_list;
+/*
+ * A list of reset functions, shared between all dynamic objects.
+ */
+struct fn_list reset_fn_list;
+
static void fn_list_insert(struct fn_list* list, fn_ptr fn) {
struct fn_node* new_node = malloc(sizeof(struct fn_node));
new_node->fn = fn;
@@ -634,7 +641,46 @@ void llvm_delete_flush_function_list(void) {
}
COMPILER_RT_VISIBILITY
-void llvm_gcov_init(fn_ptr wfn, fn_ptr ffn) {
+void llvm_register_reset_function(fn_ptr fn) {
+ fn_list_insert(&reset_fn_list, fn);
+}
+
+COMPILER_RT_VISIBILITY
+void llvm_delete_reset_function_list(void) { fn_list_remove(&reset_fn_list); }
+
+COMPILER_RT_VISIBILITY
+void llvm_reset_counters(void) {
+ struct fn_node *curr = reset_fn_list.head;
+
+ while (curr) {
+ if (curr->id == CURRENT_ID) {
+ curr->fn();
+ }
+ curr = curr->next;
+ }
+}
+
+#if !defined(_WIN32)
+COMPILER_RT_VISIBILITY
+pid_t __gcov_fork() {
+ pid_t parent_pid = getpid();
+ pid_t pid = fork();
+
+ if (pid == 0) {
+ pid_t child_pid = getpid();
+ if (child_pid != parent_pid) {
+ // The pid changed so we've a fork (one could have its own fork function)
+ // Just reset the counters for this child process
+ // threads.
+ llvm_reset_counters();
+ }
+ }
+ return pid;
+}
+#endif
+
+COMPILER_RT_VISIBILITY
+void llvm_gcov_init(fn_ptr wfn, fn_ptr ffn, fn_ptr rfn) {
static int atexit_ran = 0;
if (wfn)
@@ -643,10 +689,14 @@ void llvm_gcov_init(fn_ptr wfn, fn_ptr ffn) {
if (ffn)
llvm_register_flush_function(ffn);
+ if (rfn)
+ llvm_register_reset_function(rfn);
+
if (atexit_ran == 0) {
atexit_ran = 1;
/* Make sure we write out the data and delete the data structures. */
+ atexit(llvm_delete_reset_function_list);
atexit(llvm_delete_flush_function_list);
atexit(llvm_delete_writeout_function_list);
atexit(llvm_writeout_files);
Modified: head/contrib/llvm-project/lld/COFF/MarkLive.cpp
==============================================================================
--- head/contrib/llvm-project/lld/COFF/MarkLive.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/lld/COFF/MarkLive.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -28,10 +28,12 @@ void markLive(ArrayRef<Chunk *> chunks) {
// as we push, so sections never appear twice in the list.
SmallVector<SectionChunk *, 256> worklist;
- // COMDAT section chunks are dead by default. Add non-COMDAT chunks.
+ // COMDAT section chunks are dead by default. Add non-COMDAT chunks. Do not
+ // traverse DWARF sections. They are live, but they should not keep other
+ // sections alive.
for (Chunk *c : chunks)
if (auto *sc = dyn_cast<SectionChunk>(c))
- if (sc->live)
+ if (sc->live && !sc->isDWARF())
worklist.push_back(sc);
auto enqueue = [&](SectionChunk *c) {
Modified: head/contrib/llvm-project/lld/ELF/Driver.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/Driver.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/lld/ELF/Driver.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -1906,8 +1906,17 @@ template <class ELFT> void LinkerDriver::link(opt::Inp
// We do not want to emit debug sections if --strip-all
// or -strip-debug are given.
- return config->strip != StripPolicy::None &&
- (s->name.startswith(".debug") || s->name.startswith(".zdebug"));
+ if (config->strip == StripPolicy::None)
+ return false;
+
+ if (isDebugSection(*s))
+ return true;
+ if (auto *isec = dyn_cast<InputSection>(s))
+ if (InputSectionBase *rel = isec->getRelocatedSection())
+ if (isDebugSection(*rel))
+ return true;
+
+ return false;
});
// Now that the number of partitions is fixed, save a pointer to the main
Modified: head/contrib/llvm-project/lld/ELF/InputSection.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/InputSection.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/lld/ELF/InputSection.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -441,8 +441,7 @@ void InputSection::copyRelocations(uint8_t *buf, Array
// See the comment in maybeReportUndefined for PPC32 .got2 and PPC64 .toc
auto *d = dyn_cast<Defined>(&sym);
if (!d) {
- if (!sec->name.startswith(".debug") &&
- !sec->name.startswith(".zdebug") && sec->name != ".eh_frame" &&
+ if (!isDebugSection(*sec) && sec->name != ".eh_frame" &&
sec->name != ".gcc_except_table" && sec->name != ".got2" &&
sec->name != ".toc") {
uint32_t secIdx = cast<Undefined>(sym).discardedSecIdx;
Modified: head/contrib/llvm-project/lld/ELF/InputSection.h
==============================================================================
--- head/contrib/llvm-project/lld/ELF/InputSection.h Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/lld/ELF/InputSection.h Sat May 23 10:32:18 2020 (r361410)
@@ -357,6 +357,10 @@ class InputSection : public InputSectionBase { (privat
template <class ELFT> void copyShtGroup(uint8_t *buf);
};
+inline bool isDebugSection(const InputSectionBase &sec) {
+ return sec.name.startswith(".debug") || sec.name.startswith(".zdebug");
+}
+
// The list of all input sections.
extern std::vector<InputSectionBase *> inputSections;
Modified: head/contrib/llvm-project/lld/ELF/OutputSections.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/OutputSections.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/lld/ELF/OutputSections.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -114,8 +114,7 @@ void OutputSection::commitSection(InputSection *isec)
flags = isec->flags;
} else {
// Otherwise, check if new type or flags are compatible with existing ones.
- unsigned mask = SHF_TLS | SHF_LINK_ORDER;
- if ((flags & mask) != (isec->flags & mask))
+ if ((flags ^ isec->flags) & SHF_TLS)
error("incompatible section flags for " + name + "\n>>> " + toString(isec) +
": 0x" + utohexstr(isec->flags) + "\n>>> output section " + name +
": 0x" + utohexstr(flags));
@@ -367,8 +366,9 @@ void OutputSection::finalize() {
// all InputSections in the OutputSection have the same dependency.
if (auto *ex = dyn_cast<ARMExidxSyntheticSection>(first))
link = ex->getLinkOrderDep()->getParent()->sectionIndex;
- else if (auto *d = first->getLinkOrderDep())
- link = d->getParent()->sectionIndex;
+ else if (first->flags & SHF_LINK_ORDER)
+ if (auto *d = first->getLinkOrderDep())
+ link = d->getParent()->sectionIndex;
}
if (type == SHT_GROUP) {
Modified: head/contrib/llvm-project/lld/ELF/Writer.cpp
==============================================================================
--- head/contrib/llvm-project/lld/ELF/Writer.cpp Sat May 23 10:21:02 2020 (r361409)
+++ head/contrib/llvm-project/lld/ELF/Writer.cpp Sat May 23 10:32:18 2020 (r361410)
@@ -1524,17 +1524,30 @@ template <class ELFT> void Writer<ELFT>::resolveShfLin
// but sort must consider them all at once.
std::vector<InputSection **> scriptSections;
std::vector<InputSection *> sections;
+ bool started = false, stopped = false;
for (BaseCommand *base : sec->sectionCommands) {
if (auto *isd = dyn_cast<InputSectionDescription>(base)) {
for (InputSection *&isec : isd->sections) {
- scriptSections.push_back(&isec);
- sections.push_back(isec);
+ if (!(isec->flags & SHF_LINK_ORDER)) {
+ if (started)
+ stopped = true;
+ } else if (stopped) {
+ error(toString(isec) + ": SHF_LINK_ORDER sections in " + sec->name +
+ " are not contiguous");
+ } else {
+ started = true;
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list