Re: git: 060699e91369 - stable/13 - Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6

From: Jason A. Harmening <jah_at_freebsd.org>
Date: Sat, 29 Apr 2023 18:33:53 UTC
On Sun, Apr 09, 2023 at 09:35:22PM +0000, Dimitry Andric wrote:
> The branch stable/13 has been updated by dim:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=060699e9136975d51d3f726b9785bdbac9a62ba6
> 
> commit 060699e9136975d51d3f726b9785bdbac9a62ba6
> Author:     Dimitry Andric <dim@FreeBSD.org>
> AuthorDate: 2023-01-14 16:33:24 +0000
> Commit:     Dimitry Andric <dim@FreeBSD.org>
> CommitDate: 2023-04-09 14:54:52 +0000
> 
>     Merge llvm-project release/15.x llvmorg-15.0.7-0-g8dfdcc7b7bf6
>     
>     This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
>     openmp to llvmorg-15.0.7-0-g8dfdcc7b7bf6.
>     
>     PR:             265425
>     MFC after:      2 weeks

This MFC of llvm15 appears to have completely broken the Intel IOMMU
driver on my stable/13 machine.  After this series of commits, any
downstream DMA seems to produce an IOMMU translation fault, which
renders the machine completely unusable: no nvme boot disk, no usb
keyboard, etc. 

The faults I see look something like this:

DMAR4: ahci0: pci0:17:5 sid 8d fault acc 0 adt 0x0 reason 0x3 addr 26000

It's a bit surprising to see a toolchain upgrade produce breakage like
this, but that's what git bisect clearly tells me.  I wonder if some of
the IOMMU control structures might be defined as C bitfields and the new
compiler is emitting them differently?  Also, was any breakage like this
observed when -current was upgraded to llvm15 several months ago?

More generally, this is the second time in as many months I've had to
deal with IOMMU breakage on -stable.  I can't imagine I'm the only
person who sees value in running with DMA remapping enabled; do we need
a dedicated DMAR-enabled machine in the cluster to smoke-test changes
like this?  More generally, should we avoid MFCing high-risk changes
like this?

>     
>     (cherry picked from commit 50d7464c3fe687c0a3d4dea6b96a5437779a3ef6)
> ---
>  ObsoleteFiles.inc                                  |   4 +-
>  contrib/llvm-project/libcxx/include/__config       |   2 +-
>  contrib/llvm-project/libcxx/include/vector         | 119 ++--
>  .../llvm/lib/CodeGen/PrologEpilogInserter.cpp      |   8 +-
>  .../llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp |   3 +
>  .../llvm/lib/CodeGen/TypePromotion.cpp             |   8 +-
>  etc/mtree/BSD.debug.dist                           |   2 +-
>  etc/mtree/BSD.usr.dist                             |   2 +-
>  lib/clang/headers/Makefile                         |   2 +-
>  lib/clang/include/VCSVersion.inc                   |   6 +-
>  lib/clang/include/clang/Basic/Version.inc          |   6 +-
>  lib/clang/include/clang/Config/config.h            |   2 +-
>  lib/clang/include/lld/Common/Version.inc           |   2 +-
>  lib/clang/include/lldb/Version/Version.inc         |   6 +-
>  lib/clang/include/llvm/Config/config.h             |   4 +-
>  lib/clang/include/llvm/Config/llvm-config.h        |   4 +-
>  lib/clang/include/llvm/Support/VCSRevision.h       |   2 +-
>  lib/libclang_rt/compiler-rt-vars.mk                |   2 +-
>  tools/build/mk/OptionalObsoleteFiles.inc           | 644 ++++++++++-----------
>  19 files changed, 440 insertions(+), 388 deletions(-)
> 
> diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc
> index 6f3d0f297515..39c3e57f93b1 100644
> --- a/ObsoleteFiles.inc
> +++ b/ObsoleteFiles.inc
> @@ -52,7 +52,7 @@
>  #   xargs -n1 | sort | uniq -d;
>  # done
>  
> -# 20230410: new clang import which bumps version from 14.0.5 to 15.0.6
> +# 20230410: new clang import which bumps version from 14.0.5 to 15.0.7
>  OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/algorithm
>  OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/complex
>  OLD_FILES+=usr/lib/clang/14.0.5/include/cuda_wrappers/new
> @@ -363,7 +363,7 @@ OLD_FILES+=usr/lib/clang/14.0.5/share/msan_ignorelist.txt
>  OLD_DIRS+=usr/lib/clang/14.0.5/share
>  OLD_DIRS+=usr/lib/clang/14.0.5
>  
> -# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.6
> +# 20230410: new libc++ import which bumps version from 14.0.5 to 15.0.7
>  OLD_FILES+=usr/include/c++/v1/__functional_base
>  OLD_FILES+=usr/include/c++/v1/__libcpp_version
>  OLD_FILES+=usr/include/c++/v1/__nullptr
> diff --git a/contrib/llvm-project/libcxx/include/__config b/contrib/llvm-project/libcxx/include/__config
> index 5f62b974170f..c97cbae96fba 100644
> --- a/contrib/llvm-project/libcxx/include/__config
> +++ b/contrib/llvm-project/libcxx/include/__config
> @@ -36,7 +36,7 @@
>  
>  #ifdef __cplusplus
>  
> -#  define _LIBCPP_VERSION 15006
> +#  define _LIBCPP_VERSION 15007
>  
>  #  define _LIBCPP_CONCAT_IMPL(_X, _Y) _X##_Y
>  #  define _LIBCPP_CONCAT(_X, _Y) _LIBCPP_CONCAT_IMPL(_X, _Y)
> diff --git a/contrib/llvm-project/libcxx/include/vector b/contrib/llvm-project/libcxx/include/vector
> index 252a0f051ff5..63759407ce94 100644
> --- a/contrib/llvm-project/libcxx/include/vector
> +++ b/contrib/llvm-project/libcxx/include/vector
> @@ -297,6 +297,7 @@ erase_if(vector<T, Allocator>& c, Predicate pred);    // C++20
>  #include <__utility/forward.h>
>  #include <__utility/move.h>
>  #include <__utility/swap.h>
> +#include <__utility/transaction.h>
>  #include <climits>
>  #include <cstdlib>
>  #include <cstring>
> @@ -425,18 +426,27 @@ public:
>                                      value_type,
>                                      typename iterator_traits<_ForwardIterator>::reference>::value>::type* = 0);
>  
> -    _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_INLINE_VISIBILITY
> -    ~vector()
> -    {
> -      __annotate_delete();
> -      std::__debug_db_erase_c(this);
> +private:
> +  class __destroy_vector {
> +    public:
> +      _LIBCPP_CONSTEXPR __destroy_vector(vector& __vec) : __vec_(__vec) {}
>  
> -      if (this->__begin_ != nullptr)
> -      {
> -        __clear();
> -        __alloc_traits::deallocate(__alloc(), this->__begin_, capacity());
> +      _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI void operator()() {
> +          __vec_.__annotate_delete();
> +          std::__debug_db_erase_c(std::addressof(__vec_));
> +
> +          if (__vec_.__begin_ != nullptr) {
> +            __vec_.__clear();
> +            __alloc_traits::deallocate(__vec_.__alloc(), __vec_.__begin_, __vec_.capacity());
> +          }
>        }
> -    }
> +
> +    private:
> +      vector& __vec_;
> +  };
> +
> +public:
> +  _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI ~vector() { __destroy_vector(*this)(); }
>  
>      _LIBCPP_CONSTEXPR_AFTER_CXX17 vector(const vector& __x);
>      _LIBCPP_CONSTEXPR_AFTER_CXX17 vector(const vector& __x, const __type_identity_t<allocator_type>& __a);
> @@ -1075,12 +1085,14 @@ template <class _Tp, class _Allocator>
>  _LIBCPP_CONSTEXPR_AFTER_CXX17
>  vector<_Tp, _Allocator>::vector(size_type __n)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__n);
>      }
> +    __guard.__complete();
>  }
>  
>  #if _LIBCPP_STD_VER > 11
> @@ -1089,12 +1101,14 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17
>  vector<_Tp, _Allocator>::vector(size_type __n, const allocator_type& __a)
>      : __end_cap_(nullptr, __a)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__n);
>      }
> +    __guard.__complete();
>  }
>  #endif
>  
> @@ -1102,12 +1116,14 @@ template <class _Tp, class _Allocator>
>  _LIBCPP_CONSTEXPR_AFTER_CXX17
>  vector<_Tp, _Allocator>::vector(size_type __n, const value_type& __x)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__n, __x);
>      }
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1120,9 +1136,11 @@ vector<_Tp, _Allocator>::vector(_InputIterator __first,
>                              typename iterator_traits<_InputIterator>::reference>::value,
>                            _InputIterator>::type __last)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      for (; __first != __last; ++__first)
>          emplace_back(*__first);
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1135,9 +1153,11 @@ vector<_Tp, _Allocator>::vector(_InputIterator __first, _InputIterator __last, c
>                              typename iterator_traits<_InputIterator>::reference>::value>::type*)
>      : __end_cap_(nullptr, __a)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      for (; __first != __last; ++__first)
>          emplace_back(*__first);
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1150,13 +1170,15 @@ vector<_Tp, _Allocator>::vector(_ForwardIterator __first,
>                                     typename iterator_traits<_ForwardIterator>::reference>::value,
>                                                     _ForwardIterator>::type __last)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> -    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
> +    size_type __n = static_cast<size_type>(std::distance(__first, __last));
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__first, __last, __n);
>      }
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1169,13 +1191,15 @@ vector<_Tp, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __las
>                                     typename iterator_traits<_ForwardIterator>::reference>::value>::type*)
>      : __end_cap_(nullptr, __a)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> -    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
> +    size_type __n = static_cast<size_type>(std::distance(__first, __last));
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__first, __last, __n);
>      }
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1183,13 +1207,15 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17
>  vector<_Tp, _Allocator>::vector(const vector& __x)
>      : __end_cap_(nullptr, __alloc_traits::select_on_container_copy_construction(__x.__alloc()))
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      size_type __n = __x.size();
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__x.__begin_, __x.__end_, __n);
>      }
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1197,13 +1223,15 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17
>  vector<_Tp, _Allocator>::vector(const vector& __x, const __type_identity_t<allocator_type>& __a)
>      : __end_cap_(nullptr, __a)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      size_type __n = __x.size();
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__x.__begin_, __x.__end_, __n);
>      }
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1243,7 +1271,9 @@ vector<_Tp, _Allocator>::vector(vector&& __x, const __type_identity_t<allocator_
>      else
>      {
>          typedef move_iterator<iterator> _Ip;
> +        auto __guard = std::__make_transaction(__destroy_vector(*this));
>          assign(_Ip(__x.begin()), _Ip(__x.end()));
> +        __guard.__complete();
>      }
>  }
>  
> @@ -1254,12 +1284,14 @@ _LIBCPP_CONSTEXPR_AFTER_CXX17
>  inline _LIBCPP_INLINE_VISIBILITY
>  vector<_Tp, _Allocator>::vector(initializer_list<value_type> __il)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      if (__il.size() > 0)
>      {
>          __vallocate(__il.size());
>          __construct_at_end(__il.begin(), __il.end(), __il.size());
>      }
> +    __guard.__complete();
>  }
>  
>  template <class _Tp, class _Allocator>
> @@ -1268,12 +1300,14 @@ inline _LIBCPP_INLINE_VISIBILITY
>  vector<_Tp, _Allocator>::vector(initializer_list<value_type> __il, const allocator_type& __a)
>      : __end_cap_(nullptr, __a)
>  {
> -    _VSTD::__debug_db_insert_c(this);
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    std::__debug_db_insert_c(this);
>      if (__il.size() > 0)
>      {
>          __vallocate(__il.size());
>          __construct_at_end(__il.begin(), __il.end(), __il.size());
>      }
> +    __guard.__complete();
>  }
>  
>  #endif // _LIBCPP_CXX03_LANG
> @@ -2111,8 +2145,26 @@ public:
>  #else
>          _NOEXCEPT;
>  #endif
> -    _LIBCPP_CONSTEXPR_AFTER_CXX17 ~vector();
> -    _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n);
> +
> +private:
> +  class __destroy_vector {
> +    public:
> +      _LIBCPP_CONSTEXPR __destroy_vector(vector& __vec) : __vec_(__vec) {}
> +
> +      _LIBCPP_CONSTEXPR_AFTER_CXX17 _LIBCPP_HIDE_FROM_ABI void operator()() {
> +        if (__vec_.__begin_ != nullptr)
> +            __storage_traits::deallocate(__vec_.__alloc(), __vec_.__begin_, __vec_.__cap());
> +        std::__debug_db_invalidate_all(this);
> +      }
> +
> +    private:
> +      vector& __vec_;
> +  };
> +
> +public:
> +  _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 ~vector() { __destroy_vector(*this)(); }
> +
> +    _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n);
>  #if _LIBCPP_STD_VER > 11
>      _LIBCPP_CONSTEXPR_AFTER_CXX17 explicit vector(size_type __n, const allocator_type& __a);
>  #endif
> @@ -2647,12 +2699,14 @@ vector<bool, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __la
>        __size_(0),
>        __cap_alloc_(0, __default_init_tag())
>  {
> -    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    size_type __n = static_cast<size_type>(std::distance(__first, __last));
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__first, __last);
>      }
> +    __guard.__complete();
>  }
>  
>  template <class _Allocator>
> @@ -2664,12 +2718,14 @@ vector<bool, _Allocator>::vector(_ForwardIterator __first, _ForwardIterator __la
>        __size_(0),
>        __cap_alloc_(0, static_cast<__storage_allocator>(__a))
>  {
> -    size_type __n = static_cast<size_type>(_VSTD::distance(__first, __last));
> +    auto __guard = std::__make_transaction(__destroy_vector(*this));
> +    size_type __n = static_cast<size_type>(std::distance(__first, __last));
>      if (__n > 0)
>      {
>          __vallocate(__n);
>          __construct_at_end(__first, __last);
>      }
> +    __guard.__complete();
>  }
>  
>  #ifndef _LIBCPP_CXX03_LANG
> @@ -2706,15 +2762,6 @@ vector<bool, _Allocator>::vector(initializer_list<value_type> __il, const alloca
>  
>  #endif // _LIBCPP_CXX03_LANG
>  
> -template <class _Allocator>
> -_LIBCPP_CONSTEXPR_AFTER_CXX17
> -vector<bool, _Allocator>::~vector()
> -{
> -    if (__begin_ != nullptr)
> -        __storage_traits::deallocate(__alloc(), __begin_, __cap());
> -    std::__debug_db_invalidate_all(this);
> -}
> -
>  template <class _Allocator>
>  _LIBCPP_CONSTEXPR_AFTER_CXX17
>  vector<bool, _Allocator>::vector(const vector& __v)
> diff --git a/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp
> index 85d051cfdbe7..a8d40edd88d3 100644
> --- a/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp
> +++ b/contrib/llvm-project/llvm/lib/CodeGen/PrologEpilogInserter.cpp
> @@ -1237,7 +1237,13 @@ void PEI::insertZeroCallUsedRegs(MachineFunction &MF) {
>          if (!MO.isReg())
>            continue;
>  
> -        for (MCPhysReg SReg : TRI.sub_and_superregs_inclusive(MO.getReg()))
> +        MCRegister Reg = MO.getReg();
> +
> +        // This picks up sibling registers (e.q. %al -> %ah).
> +        for (MCRegUnitIterator Unit(Reg, &TRI); Unit.isValid(); ++Unit)
> +          RegsToZero.reset(*Unit);
> +
> +        for (MCPhysReg SReg : TRI.sub_and_superregs_inclusive(Reg))
>            RegsToZero.reset(SReg);
>        }
>      }
> diff --git a/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp b/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp
> index 9e4e26f1392e..cb552f212fbb 100644
> --- a/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp
> +++ b/contrib/llvm-project/llvm/lib/CodeGen/RegAllocFast.cpp
> @@ -443,6 +443,9 @@ void RegAllocFast::spill(MachineBasicBlock::iterator Before, Register VirtReg,
>      SpilledOperandsMap[MO->getParent()].push_back(MO);
>    for (auto MISpilledOperands : SpilledOperandsMap) {
>      MachineInstr &DBG = *MISpilledOperands.first;
> +    // We don't have enough support for tracking operands of DBG_VALUE_LISTs.
> +    if (DBG.isDebugValueList())
> +      continue;
>      MachineInstr *NewDV = buildDbgValueForSpill(
>          *MBB, Before, *MISpilledOperands.first, FI, MISpilledOperands.second);
>      assert(NewDV->getParent() == MBB && "dangling parent pointer");
> diff --git a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp
> index a63118067139..36e3c1245f1c 100644
> --- a/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp
> +++ b/contrib/llvm-project/llvm/lib/CodeGen/TypePromotion.cpp
> @@ -570,7 +570,6 @@ void IRPromoter::Cleanup() {
>    LLVM_DEBUG(dbgs() << "IR Promotion: Cleanup..\n");
>    // Some zexts will now have become redundant, along with their trunc
>    // operands, so remove them.
> -  // Some zexts need to be replaced with truncate if src bitwidth is larger.
>    for (auto *V : Visited) {
>      if (!isa<ZExtInst>(V))
>        continue;
> @@ -585,11 +584,6 @@ void IRPromoter::Cleanup() {
>                          << "\n");
>        ReplaceAllUsersOfWith(ZExt, Src);
>        continue;
> -    } else if (ZExt->getSrcTy()->getScalarSizeInBits() > PromotedWidth) {
> -      IRBuilder<> Builder{ZExt};
> -      Value *Trunc = Builder.CreateTrunc(Src, ZExt->getDestTy());
> -      ReplaceAllUsersOfWith(ZExt, Trunc);
> -      continue;
>      }
>  
>      // We've inserted a trunc for a zext sink, but we already know that the
> @@ -626,6 +620,8 @@ void IRPromoter::ConvertTruncs() {
>      ConstantInt *Mask =
>          ConstantInt::get(SrcTy, APInt::getMaxValue(NumBits).getZExtValue());
>      Value *Masked = Builder.CreateAnd(Trunc->getOperand(0), Mask);
> +    if (SrcTy != ExtTy)
> +      Masked = Builder.CreateTrunc(Masked, ExtTy);
>  
>      if (auto *I = dyn_cast<Instruction>(Masked))
>        NewInsts.insert(I);
> diff --git a/etc/mtree/BSD.debug.dist b/etc/mtree/BSD.debug.dist
> index a73aca740a10..1d9c926432dd 100644
> --- a/etc/mtree/BSD.debug.dist
> +++ b/etc/mtree/BSD.debug.dist
> @@ -31,7 +31,7 @@
>              ..
>              lib
>                  clang
> -                    15.0.6
> +                    15.0.7
>                          lib
>                              freebsd
>                              ..
> diff --git a/etc/mtree/BSD.usr.dist b/etc/mtree/BSD.usr.dist
> index 9416a70eafcd..dcb5cde47e94 100644
> --- a/etc/mtree/BSD.usr.dist
> +++ b/etc/mtree/BSD.usr.dist
> @@ -35,7 +35,7 @@
>      ..
>      lib
>          clang
> -            15.0.6
> +            15.0.7
>                  include
>                      cuda_wrappers
>                      ..
> diff --git a/lib/clang/headers/Makefile b/lib/clang/headers/Makefile
> index 822d934cbede..4e5a08e9fed2 100644
> --- a/lib/clang/headers/Makefile
> +++ b/lib/clang/headers/Makefile
> @@ -5,7 +5,7 @@
>  .PATH:		${CLANG_SRCS}/lib/Headers
>  
>  INCSGROUPS=	INCS CUDA HLSL OMP PPC
> -INCSDIR=	${LIBDIR}/clang/15.0.6/include
> +INCSDIR=	${LIBDIR}/clang/15.0.7/include
>  CUDADIR=	${INCSDIR}/cuda_wrappers
>  HLSLDIR=	${INCSDIR}/hlsl
>  OMPDIR=		${INCSDIR}/openmp_wrappers
> diff --git a/lib/clang/include/VCSVersion.inc b/lib/clang/include/VCSVersion.inc
> index df4289259487..e71c8f63b229 100644
> --- a/lib/clang/include/VCSVersion.inc
> +++ b/lib/clang/include/VCSVersion.inc
> @@ -1,10 +1,10 @@
>  // $FreeBSD$
>  
> -#define LLVM_REVISION "llvmorg-15.0.6-0-g088f33605d8a"
> +#define LLVM_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6"
>  #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
>  
> -#define CLANG_REVISION "llvmorg-15.0.6-0-g088f33605d8a"
> +#define CLANG_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6"
>  #define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git"
>  
> -#define LLDB_REVISION "llvmorg-15.0.6-0-g088f33605d8a"
> +#define LLDB_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6"
>  #define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git"
> diff --git a/lib/clang/include/clang/Basic/Version.inc b/lib/clang/include/clang/Basic/Version.inc
> index d28210f87bed..ed380b8a0e72 100644
> --- a/lib/clang/include/clang/Basic/Version.inc
> +++ b/lib/clang/include/clang/Basic/Version.inc
> @@ -1,9 +1,9 @@
>  /* $FreeBSD$ */
>  
> -#define	CLANG_VERSION			15.0.6
> -#define	CLANG_VERSION_STRING		"15.0.6"
> +#define	CLANG_VERSION			15.0.7
> +#define	CLANG_VERSION_STRING		"15.0.7"
>  #define	CLANG_VERSION_MAJOR		15
>  #define	CLANG_VERSION_MINOR		0
> -#define	CLANG_VERSION_PATCHLEVEL	6
> +#define	CLANG_VERSION_PATCHLEVEL	7
>  
>  #define	CLANG_VENDOR			"FreeBSD "
> diff --git a/lib/clang/include/clang/Config/config.h b/lib/clang/include/clang/Config/config.h
> index 18a0e28d7f3f..485f33a3fad0 100644
> --- a/lib/clang/include/clang/Config/config.h
> +++ b/lib/clang/include/clang/Config/config.h
> @@ -80,7 +80,7 @@
>  #define CLANG_HAVE_RLIMITS 1
>  
>  /* The LLVM product name and version */
> -#define BACKEND_PACKAGE_STRING "LLVM 15.0.6"
> +#define BACKEND_PACKAGE_STRING "LLVM 15.0.7"
>  
>  /* Linker version detected at compile time. */
>  /* #undef HOST_LINK_VERSION */
> diff --git a/lib/clang/include/lld/Common/Version.inc b/lib/clang/include/lld/Common/Version.inc
> index edb3421ae064..c7af7cd79d0d 100644
> --- a/lib/clang/include/lld/Common/Version.inc
> +++ b/lib/clang/include/lld/Common/Version.inc
> @@ -1,4 +1,4 @@
>  // Local identifier in __FreeBSD_version style
>  #define LLD_FREEBSD_VERSION 1400005
>  
> -#define LLD_VERSION_STRING "15.0.6 (FreeBSD llvmorg-15.0.6-0-g088f33605d8a-" __XSTRING(LLD_FREEBSD_VERSION) ")"
> +#define LLD_VERSION_STRING "15.0.7 (FreeBSD llvmorg-15.0.7-0-g8dfdcc7b7bf6-" __XSTRING(LLD_FREEBSD_VERSION) ")"
> diff --git a/lib/clang/include/lldb/Version/Version.inc b/lib/clang/include/lldb/Version/Version.inc
> index 7dcfad4a7d30..13c0abd835a2 100644
> --- a/lib/clang/include/lldb/Version/Version.inc
> +++ b/lib/clang/include/lldb/Version/Version.inc
> @@ -1,6 +1,6 @@
> -#define LLDB_VERSION 15.0.6
> -#define LLDB_VERSION_STRING "15.0.6"
> +#define LLDB_VERSION 15.0.7
> +#define LLDB_VERSION_STRING "15.0.7"
>  #define LLDB_VERSION_MAJOR 15
>  #define LLDB_VERSION_MINOR 0
> -#define LLDB_VERSION_PATCH 6
> +#define LLDB_VERSION_PATCH 7
>  /* #undef LLDB_FULL_VERSION_STRING */
> diff --git a/lib/clang/include/llvm/Config/config.h b/lib/clang/include/llvm/Config/config.h
> index 22dfdef58573..75e12c89863a 100644
> --- a/lib/clang/include/llvm/Config/config.h
> +++ b/lib/clang/include/llvm/Config/config.h
> @@ -353,10 +353,10 @@
>  #define PACKAGE_NAME "LLVM"
>  
>  /* Define to the full name and version of this package. */
> -#define PACKAGE_STRING "LLVM 15.0.6"
> +#define PACKAGE_STRING "LLVM 15.0.7"
>  
>  /* Define to the version of this package. */
> -#define PACKAGE_VERSION "15.0.6"
> +#define PACKAGE_VERSION "15.0.7"
>  
>  /* Define to the vendor of this package. */
>  /* #undef PACKAGE_VENDOR */
> diff --git a/lib/clang/include/llvm/Config/llvm-config.h b/lib/clang/include/llvm/Config/llvm-config.h
> index fa14fe523bd1..ab9f4d711628 100644
> --- a/lib/clang/include/llvm/Config/llvm-config.h
> +++ b/lib/clang/include/llvm/Config/llvm-config.h
> @@ -74,10 +74,10 @@
>  #define LLVM_VERSION_MINOR 0
>  
>  /* Patch version of the LLVM API */
> -#define LLVM_VERSION_PATCH 6
> +#define LLVM_VERSION_PATCH 7
>  
>  /* LLVM version string */
> -#define LLVM_VERSION_STRING "15.0.6"
> +#define LLVM_VERSION_STRING "15.0.7"
>  
>  /* Whether LLVM records statistics for use with GetStatistics(),
>   * PrintStatistics() or PrintStatisticsJSON()
> diff --git a/lib/clang/include/llvm/Support/VCSRevision.h b/lib/clang/include/llvm/Support/VCSRevision.h
> index b58f85d44f73..ecccb84d835f 100644
> --- a/lib/clang/include/llvm/Support/VCSRevision.h
> +++ b/lib/clang/include/llvm/Support/VCSRevision.h
> @@ -1,3 +1,3 @@
>  /* $FreeBSD$ */
> -#define LLVM_REVISION "llvmorg-15.0.6-0-g088f33605d8a"
> +#define LLVM_REVISION "llvmorg-15.0.7-0-g8dfdcc7b7bf6"
>  #define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
> diff --git a/lib/libclang_rt/compiler-rt-vars.mk b/lib/libclang_rt/compiler-rt-vars.mk
> index 687a280af8d6..3b0cfa853e7a 100644
> --- a/lib/libclang_rt/compiler-rt-vars.mk
> +++ b/lib/libclang_rt/compiler-rt-vars.mk
> @@ -1,4 +1,4 @@
> -CLANG_SUBDIR=clang/15.0.6
> +CLANG_SUBDIR=clang/15.0.7
>  CLANGDIR=	/usr/lib/${CLANG_SUBDIR}
>  SANITIZER_LIBDIR=		${CLANGDIR}/lib/freebsd
>  SANITIZER_SHAREDIR=		${CLANGDIR}/share
> diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc
> index d8812f65b840..21440e6e9560 100644
> --- a/tools/build/mk/OptionalObsoleteFiles.inc
> +++ b/tools/build/mk/OptionalObsoleteFiles.inc
> @@ -1191,328 +1191,328 @@ OLD_FILES+=usr/share/man/man1/objdump.1.gz
>  OLD_FILES+=usr/bin/clang
>  OLD_FILES+=usr/bin/clang++
>  OLD_FILES+=usr/bin/clang-cpp
> -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/algorithm
> -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/complex
> -OLD_FILES+=usr/lib/clang/15.0.6/include/cuda_wrappers/new
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/cuda_wrappers
> -OLD_FILES+=usr/lib/clang/15.0.6/include/fuzzer/FuzzedDataProvider.h
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/fuzzer
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl/hlsl_basic_types.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl/hlsl_intrinsics.h
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/hlsl
> -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/__clang_openmp_device_functions.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/cmath
> -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex
> -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/complex_cmath.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/math.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/openmp_wrappers/new
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/openmp_wrappers
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/bmi2intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/bmiintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/emmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/immintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/mm_malloc.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/mmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/pmmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/smmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/tmmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/x86gprintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/x86intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ppc_wrappers/xmmintrin.h
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/ppc_wrappers
> -OLD_FILES+=usr/lib/clang/15.0.6/include/profile/InstrProfData.inc
> -OLD_FILES+=usr/lib/clang/15.0.6/include/profile/MemProfData.inc
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/profile
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/allocator_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/asan_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/common_interface_defs.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/coverage_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/dfsan_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/hwasan_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/linux_syscall_hooks.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/lsan_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/memprof_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/msan_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/netbsd_syscall_hooks.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/scudo_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/tsan_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/tsan_interface_atomic.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sanitizer/ubsan_interface.h
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/sanitizer
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_log_interface.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xray/xray_records.h
> -OLD_DIRS+=usr/lib/clang/15.0.6/include/xray
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_builtin_vars.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_cmath.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_complex_builtins.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_device_functions.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_intrinsics.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_libdevice_declares.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_math.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_math_forward_declares.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_runtime_wrapper.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_cuda_texture_intrinsics.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_cmath.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_libdevice_declares.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_math.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__clang_hip_runtime_wrapper.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__stddef_max_align_t.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__wmmintrin_aes.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/__wmmintrin_pclmul.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/adxintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/altivec.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ammintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/amxintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm64intr.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_acle.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_bf16.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_cde.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_cmse.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_fp16.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_mve.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_neon.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_neon_sve_bridge.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/arm_sve.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/armintr.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx2intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bf16intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bitalgintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512bwintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512cdintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512dqintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512erintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512fintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512fp16intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512ifmaintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512ifmavlintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512pfintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmi2intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmiintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vbmivlintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbf16intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbitalgintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlbwintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlcdintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vldqintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlfp16intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvbmi2intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvnniintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vlvp2intersectintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vnniintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vp2intersectintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vpopcntdqintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avx512vpopcntdqvlintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avxintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/avxvnniintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/bmi2intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/bmiintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/builtins.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/cet.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/cetintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/cldemoteintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/clflushoptintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/clwbintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/clzerointrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/cpuid.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/crc32intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/emmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/enqcmdintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/f16cintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/float.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/fma4intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/fmaintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/fxsrintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/gfniintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_circ_brev_intrinsics.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_protos.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hexagon_types.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hlsl.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hresetintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/htmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/htmxlintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/hvx_hexagon_protos.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ia32intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/immintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/inttypes.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/invpcidintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/iso646.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/keylockerintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/limits.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/lwpintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/lzcntintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/mm3dnow.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/mm_malloc.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/mmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/module.modulemap
> -OLD_FILES+=usr/lib/clang/15.0.6/include/movdirintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/msa.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/mwaitxintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/nmmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/omp-tools.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/omp.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ompt.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/opencl-c-base.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/opencl-c.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/pconfigintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/pkuintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/pmmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/popcntintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/prfchwintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/ptwriteintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/rdpruintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/rdseedintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/riscv_vector.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/rtmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/s390intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/serializeintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/sgxintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/shaintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/smmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/stdalign.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/stdarg.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/stdatomic.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/stdbool.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/stddef.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/stdint.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/stdnoreturn.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/tbmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/tgmath.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/tmmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/tsxldtrkintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/uintrintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/unwind.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/vadefs.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/vaesintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/varargs.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/vecintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin_approx.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/velintrin_gen.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/vpclmulqdqintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/waitpkgintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/wasm_simd128.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/wbnoinvdintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/wmmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/x86gprintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/x86intrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xmmintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xopintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xsavecintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xsaveintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xsaveoptintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xsavesintrin.h
> -OLD_FILES+=usr/lib/clang/15.0.6/include/xtestintrin.h
> -OLD_DIRS+=usr/lib/clang/15.0.6/include
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-aarch64.so
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-arm.so
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-armhf.so
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-i386.so
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-preinit-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan-x86_64.so
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_cxx-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_static-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.asan_static-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.cfi_diag-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.dd-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.dd-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan_cxx-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.msan_cxx-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-powerpc64le.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.profile-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.safestack-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.stats_client-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-basic-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-fdr-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-aarch64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-arm.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-armhf.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-profiling-x86_64.a
> -OLD_FILES+=usr/lib/clang/15.0.6/lib/freebsd/libclang_rt.xray-x86_64.a
> -OLD_DIRS+=usr/lib/clang/15.0.6/lib/freebsd
> -OLD_DIRS+=usr/lib/clang/15.0.6/lib
> -OLD_FILES+=usr/lib/clang/15.0.6/share/asan_ignorelist.txt
> -OLD_FILES+=usr/lib/clang/15.0.6/share/cfi_ignorelist.txt
> -OLD_FILES+=usr/lib/clang/15.0.6/share/msan_ignorelist.txt
> -OLD_DIRS+=usr/lib/clang/15.0.6/share
> -OLD_DIRS+=usr/lib/clang/15.0.6
> +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/algorithm
> +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/complex
> +OLD_FILES+=usr/lib/clang/15.0.7/include/cuda_wrappers/new
> +OLD_DIRS+=usr/lib/clang/15.0.7/include/cuda_wrappers
> +OLD_FILES+=usr/lib/clang/15.0.7/include/fuzzer/FuzzedDataProvider.h
> +OLD_DIRS+=usr/lib/clang/15.0.7/include/fuzzer
> +OLD_FILES+=usr/lib/clang/15.0.7/include/hlsl/hlsl_basic_types.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/hlsl/hlsl_intrinsics.h
> +OLD_DIRS+=usr/lib/clang/15.0.7/include/hlsl
> +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/__clang_openmp_device_functions.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/cmath
> +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex
> +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/complex_cmath.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/math.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/openmp_wrappers/new
> +OLD_DIRS+=usr/lib/clang/15.0.7/include/openmp_wrappers
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/bmi2intrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/bmiintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/emmintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/immintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/mm_malloc.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/mmintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/pmmintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/smmintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/tmmintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/x86gprintrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/x86intrin.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/ppc_wrappers/xmmintrin.h
> +OLD_DIRS+=usr/lib/clang/15.0.7/include/ppc_wrappers
> +OLD_FILES+=usr/lib/clang/15.0.7/include/profile/InstrProfData.inc
> +OLD_FILES+=usr/lib/clang/15.0.7/include/profile/MemProfData.inc
> +OLD_DIRS+=usr/lib/clang/15.0.7/include/profile
> +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/allocator_interface.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/asan_interface.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/common_interface_defs.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/coverage_interface.h
> +OLD_FILES+=usr/lib/clang/15.0.7/include/sanitizer/dfsan_interface.h
> *** 287 LINES SKIPPED ***