.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dVNbT5P13z3VRC for ; Mon, 15 Dec 2025 15:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765810981; 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=WyD8D3Mbyi+yTJ8svtpvOlyZrs0KcpNMpjv8J4HWpCI=; b=GPAqU867HuALieNGFtuAyBF21zls+XnVICVck9a9DJINm7mbYAe7T0gpitr+druxQGrbnh 4DN0fN/jtxJMRywN6iv5YPqlx8T63iXlCUREAgfZX9j9wq8U97rg4PL48g+kX7Xsv7V7ef s6L9QQq4imr0gqdnWLddn6ur7EB19CoN9S/b059ljTATb89G1/s9CU261dVlMjkfdVfqZy ZMOOlnJREqTVz37Z/iwkZn4LYA4tp+Z7lZD53KD9qCS2eLj479cBGi5Px3+ZQEaJM4rMci wyoMUOgPXvH5QDjWl9C3bK8SXGVqSDQJHtPLOlLa51LToB/SW3vPa60rQBb/tA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765810981; 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=WyD8D3Mbyi+yTJ8svtpvOlyZrs0KcpNMpjv8J4HWpCI=; b=UQm6fwuwjiYao34GSthskep+WvIvrrOosQGDS0ZBEbhYBGDZsMbuN7vpOYzruehZxm2Fjd YAMKIcs1KtX/J356cLuPbwH5b8T2c3eSZTExhWmOhJCDpz6+s8PKxw58mW423DPIFsnD/H Ywc57OIc5+3U4NIPBTRD/xP8wNLcQvxdHKOqwFTQbYyjimqMov2p4Tk6fF4tzOJO1pGQh7 GiK6yo8HosXqy2SsU9cENKtVJE3Fg5bWH9i5mFxc3QDdH2LInMcrpRDd8gbzwvjxXLhauk yn9s7KAwhC5vb20ajDWjXONNti8z5h56kPrX/o+1GMw9u8Pl3O8jedqBeEPdFw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765810981; a=rsa-sha256; cv=none; b=sgSicdxkRDQuKjJj/ffD6BxN67wfApY85FvIp9yY0nygv5iLoTLWAQxNI0cGs2avWTHndd 3s4skgV0X6qlzrLBn4aHvxNIxwMy4iiRxmsIaPyPNdD891v1UOpFWom7gWqYSSW++gywbv nig9QLijQoZrsQ27MuQOm3c6XuM0J5w7yVK8wy6opdUXLvyHa6aHD+Hq+TzI4bMM+S0xBE HUbRGDYhqwU3bl5ma1FFpLfpNWKbFSMruyLtF94CwPfrgRX8+RFP1WrC4hpwcxFXU0t1LF VOd1M9RhQ2RgpCeuFMn1svGRl/icNdz7Na2FTIV7xxQk3mAPrWO9vFU1nsfG6Q== 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 4dVNbT4rg2z8lX for ; Mon, 15 Dec 2025 15:03:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 395de by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 15 Dec 2025 15:03:01 +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: 29e3479f2d30 - stable/15 - libc++: avoid use of deprecated builtin List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@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/15 X-Git-Reftype: branch X-Git-Commit: 29e3479f2d3068a2f3e2dbb578d3fabf6389e5a6 Auto-Submitted: auto-generated Date: Mon, 15 Dec 2025 15:03:01 +0000 Message-Id: <69402325.395de.779b6e13@gitrepo.freebsd.org> The branch stable/15 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=29e3479f2d3068a2f3e2dbb578d3fabf6389e5a6 commit 29e3479f2d3068a2f3e2dbb578d3fabf6389e5a6 Author: Alex Richardson AuthorDate: 2025-09-15 22:10:07 +0000 Commit: Ed Maste CommitDate: 2025-12-15 15:02:09 +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) --- .../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