The branch stable/14 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=1cbc4a800f5bd8e407232b05345eb402c19059de
commit 1cbc4a800f5bd8e407232b05345eb402c19059de Author: Dimitry Andric <[email protected]> AuthorDate: 2026-01-05 20:31:45 +0000 Commit: Dimitry Andric <[email protected]> CommitDate: 2026-05-29 22:59:36 +0000 libcxx-compat: fix llvmorg-21-init-18351-gfcc09b6f0267: [libc++] Fix std::make_exception_ptr interaction with ObjC (#135386) Clang treats throwing/catching ObjC types differently from C++ types, and omitting the `throw` in `std::make_exception_ptr` breaks ObjC invariants about how types are thrown/caught. Fixes #135089 Co-authored-by: Louis Dionne <[email protected]> Only use lambdas when in !defined(_LIBCPP_CXX03_LANG), so this will compile with clang 18 and lower, in C++03 mode and earlier. PR: 292067 MFC after: 1 month (cherry picked from commit 987ac31018cba9f1763ad3acfb68b933f58a4c52) --- contrib/llvm-project/libcxx/include/__exception/exception_ptr.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/llvm-project/libcxx/include/__exception/exception_ptr.h b/contrib/llvm-project/libcxx/include/__exception/exception_ptr.h index 796fa924be12..130e90621709 100644 --- a/contrib/llvm-project/libcxx/include/__exception/exception_ptr.h +++ b/contrib/llvm-project/libcxx/include/__exception/exception_ptr.h @@ -93,7 +93,7 @@ public: }; # if _LIBCPP_HAS_EXCEPTIONS -# if _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION +# if _LIBCPP_AVAILABILITY_HAS_INIT_PRIMARY_EXCEPTION && !defined(_LIBCPP_CXX03_LANG) template <class _Ep> _LIBCPP_HIDE_FROM_ABI exception_ptr __make_exception_ptr_explicit(_Ep& __e) _NOEXCEPT { using _Ep2 = __decay_t<_Ep>;
