From nobody Thu Jan 8 17:15:25 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dnBP9340xz6GX52 for ; Thu, 08 Jan 2026 17:15:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dnBP92969z3kbb for ; Thu, 08 Jan 2026 17:15:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767892525; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cAwyTQXCqG7yrFIDuMzrw65IAL2U1n112vG7enhRsa8=; b=shhz0ncBKsoVXLxKoUZ5ZN1SJWAkDG9/AtARaKS2RYUOQBT9PfWCU0DmN7OJDLR/45MTbu mgRlt7UcBb3pVbfqWC1ylOiqpBByDJQPt0CPMnxH8H/9vymVcDX46A4kxlWJiNwG0HS2OB dzaDEh+JSjxU3pwxV57nqRu8P6ci2G1dn3tD7KjWQmOQYc1+/v7xOfMPd7tGPoydVxPSxI 4xmDhtXMN1D0TXxmhMcwkE/wy/g+6AwOLhMFOmUeygDbVkMgS0ArmvjxH2bN/dD9qnLdd1 GBkUFYDsGrqj1mgix5vuVx7u0VbLOJGAfemISEweouuptXi/QNqjZjgK9n4+Pg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1767892525; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cAwyTQXCqG7yrFIDuMzrw65IAL2U1n112vG7enhRsa8=; b=Vqqv4avxVnEPEVZajvxeCMa4lZi9fyr6cbCllJpE8uUJDT03hb5DO8TNnSMcrcTnbvGcDY CtTv4vAQ7hE216BuHh3Kx8KH26Od3dyjOQmQRyA9uiAetez73RJQAQRtqBYhGJkWG8a35g 9uyUrwMvd3vNTTv3Ovu9YFypEb4DuYU42AM0gSF9Rq2GpHcyc0Omq2G/9uOghpkKg/AzFS ZwEBPHPSRG9hLPi2kKocAmTA0gB/QGEjIJNNyq86mC8okZkgNcuoueQhdJA/ZUekwzZV+t 9wUkrLdQktEhHuWbyt4LKUU58+tRccpqwRQWoHnrF3XCdf5WLEwm3T7bL9j4Eg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1767892525; a=rsa-sha256; cv=none; b=J2n1fCxDlo7btuMIFmJDMefC44cumedCjHeFamxwzKtKFL1fQ7YUntCYDDYKPFvd4NZ0XW q3xATP/5lIuMUxHUEQShCDw9wmIxk6705gmvnibDeFdK3CW5PI4JleeglVXkU6taIEaj51 c1O7kBMvoS5TYi2CsQFo7PhYLkRawDLHeHhSt+zjgIuN7QZ29vaV9fkfi4PEamxwqgYoDi s1GYEQwFh8Bu3ousgiiPFVKIbYoBQ5rEuXZ1LxQzQcv66yZUngoP+InA5+gSxUCazjdi0g 3gmReTMneDKXyM+B+OvDkABSZRqh6f4OOdB0ohzVbdYO05UHl3ghN9/2Oa+8VA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dnBP91bFmzp8y for ; Thu, 08 Jan 2026 17:15:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3168a by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 08 Jan 2026 17:15:25 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Alex Richardson From: Ed Maste Subject: git: e9e97eda0b1b - stable/14 - libc++: avoid use of deprecated builtin List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: e9e97eda0b1b8ab23db532e90b43301b51ab1f4f Auto-Submitted: auto-generated Date: Thu, 08 Jan 2026 17:15:25 +0000 Message-Id: <695fe62d.3168a.de93c3e@gitrepo.freebsd.org> The branch stable/14 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=e9e97eda0b1b8ab23db532e90b43301b51ab1f4f commit e9e97eda0b1b8ab23db532e90b43301b51ab1f4f Author: Alex Richardson AuthorDate: 2025-09-15 22:10:07 +0000 Commit: Ed Maste CommitDate: 2026-01-08 17:14:05 +0000 libc++: avoid use of deprecated builtin This pulls in LLVM commit accfbd4cb327411ad66c0109ba1841482b871967 to avoid the use of __libcpp_is_trivially_relocatable. This fixes building FreeBSD libc++ with clang HEAD as of today. Original commit message: [libc++] Replace __is_trivially_relocatable by is_trivially_copyable (#124970) The __is_trivially_relocatable builtin has semantics that do not correspond to any current or future notion of trivial relocation. Furthermore, it currently leads to incorrect optimizations for some types on supported compilers: - Clang on Windows where types with non-trivial destructors get incorrectly optimized - AppleClang where types with non-trivial move constructors get incorrectly optimized Until there is an agreed upon and bugfree implementation of what it means to be trivially relocatable, it is safer to simply use trivially copyable instead. This doesn't leave a lot of types behind and is definitely correct. Reviewed by: dim MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D52529 (cherry picked from commit d61c75f634cf52fdef9590601d881f85275eee9a) (cherry picked from commit 29e3479f2d3068a2f3e2dbb578d3fabf6389e5a6) --- .../libcxx/include/__type_traits/is_trivially_relocatable.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/contrib/llvm-project/libcxx/include/__type_traits/is_trivially_relocatable.h b/contrib/llvm-project/libcxx/include/__type_traits/is_trivially_relocatable.h index c0871731cc00..9b0e240de55f 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_trivially_relocatable.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_trivially_relocatable.h @@ -11,7 +11,6 @@ #include <__config> #include <__type_traits/enable_if.h> -#include <__type_traits/integral_constant.h> #include <__type_traits/is_same.h> #include <__type_traits/is_trivially_copyable.h> @@ -23,8 +22,11 @@ _LIBCPP_BEGIN_NAMESPACE_STD // A type is trivially relocatable if a move construct + destroy of the original object is equivalent to // `memcpy(dst, src, sizeof(T))`. - -#if __has_builtin(__is_trivially_relocatable) +// +// Note that we don't use the __is_trivially_relocatable Clang builtin right now because it does not +// implement the semantics of any current or future trivial relocation proposal and it can lead to +// incorrect optimizations on some platforms (Windows) and supported compilers (AppleClang). +#if __has_builtin(__is_trivially_relocatable) && 0 template struct __libcpp_is_trivially_relocatable : integral_constant {}; #else