From nobody Sun Dec 01 12:54:13 2024 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 4Y1Rgn4Bdrz5fZy4; Sun, 01 Dec 2024 12:54:13 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Y1Rgn2tX1z4PDp; Sun, 1 Dec 2024 12:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733057653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fokni4qWz49qWuB8j4XcQkjQ57THy0fLy5l87GVYO64=; b=QfF/mN1X+msIgZwJim07nLP2SZkxYc50JE5O4SOi1VvH+QO1H5Q6HbXRjoJ4eFpokpdyGB 8w2Na20Z7xKugQpfb52XGXYg/772X/jLCq9nuigFADcJK6kmCBZKPnFud8T0p7VszspawI FHFfBRRp1pXzHxMjPD8M1eibz8wUiJ7VJyv+WhJOXFdhXHB9HRmX6OdEeHE4WqT46ONa6T iHrabZhNd+NL8jGBzg5F1YspzK+4n7jfqoN+pXEOIP72KFmozEDE83+Rn+73Q3/8dZjfBU v4kowxv852WrlSHmEuUBPqITXfDMa3X+/4LWa3fiTJ/ltJyGCIqwM2YLtvjf9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1733057653; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fokni4qWz49qWuB8j4XcQkjQ57THy0fLy5l87GVYO64=; b=BGSNh+eF0YHu2jUP4YZLbZ/76X6VagBU91l6w4FpoRWrXdVn7K4FppjxYglHSP1kLMNbWf dvstlVdVgEClmYq0LnSwk5TYeL5nt8fpfflRLxp1M9sgtVcYJP/o/chjioSEJCndmiKhk6 r3N3Bw/g8/E5uI8QnOuKcnI4ztmPBpBap/A+sBTW5K9j20LgqlNWagC/en4Xsw2Zvh8PH6 LbdAGVnAsWpGe3sZDDcU3mW8V0PQcgnDf6KZmLaw1Ch0XmTgkj5wJIzNIC3Xbrb12bDsgg hY2J9tJe/rJ9cWYBVUS9ZFjAghUtMFkEfwdaMbg+P73r8vlVpPrRLl/DNmXqTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1733057653; a=rsa-sha256; cv=none; b=tVRC3iBmj3mUmIDyC9YxTl2956rZ1sICZqFsYdZmWpYvf1vRoQWRZUSbhu9YmQkqVFSDSe +Ixjp9zdIbkhgMJNGzDTl6N61IqQhyMmC5/qOb1y67+W0mK6dHi8sHP5muPDY4FafXEUP3 yJTgN51lkHElsRk5x2uXeDXcN1r7JHCBMWGJdN2MrqkQe8wHTPa0Q2pAmghI+xxFLRLcUw wwfhziygpIWY48BJw7bS9TqXx0cKXMVpE2hvW7gtmMeoLBjHjv4EA1IidFEp+R6X0+HHiH 0mDqIAbPhnB1/d6TwHoOKqFxfhzU4A5QG3Fs6ET7IBd2eC/nAC/WgIP3uH0MEg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Y1Rgn2Vxpztn7; Sun, 1 Dec 2024 12:54:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 4B1CsDIe093762; Sun, 1 Dec 2024 12:54:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 4B1CsDG1093759; Sun, 1 Dec 2024 12:54:13 GMT (envelope-from git) Date: Sun, 1 Dec 2024 12:54:13 GMT Message-Id: <202412011254.4B1CsDG1093759@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dimitry Andric Subject: git: ea1948d2e49c - stable/13 - libcxx-compat: revert llvmorg-19-init-17727-g0eebb48fcfbc: 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: dim X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ea1948d2e49c6dd43f88204122ddc55834850790 Auto-Submitted: auto-generated The branch stable/13 has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=ea1948d2e49c6dd43f88204122ddc55834850790 commit ea1948d2e49c6dd43f88204122ddc55834850790 Author: Dimitry Andric AuthorDate: 2024-08-05 20:25:18 +0000 Commit: Dimitry Andric CommitDate: 2024-12-01 12:32:40 +0000 libcxx-compat: revert llvmorg-19-init-17727-g0eebb48fcfbc: [libc++] Merge is_member{,_object,_function}_pointer.h (#98727) The implementations for these traits have been simplified quite a bit, since we have builtins available for them now. PR: 280562 MFC after: 1 month (cherry picked from commit e8847079df1b7998ce84fd87c845d9eeef0567fb) --- .../libcxx/include/__type_traits/invoke.h | 3 ++- .../__type_traits/is_member_function_pointer.h | 31 ++++++++++++++++++++++ .../__type_traits/is_member_object_pointer.h | 31 ++++++++++++++++++++++ .../include/__type_traits/is_member_pointer.h | 12 --------- .../llvm-project/libcxx/include/module.modulemap | 2 ++ contrib/llvm-project/libcxx/include/type_traits | 2 ++ 6 files changed, 68 insertions(+), 13 deletions(-) diff --git a/contrib/llvm-project/libcxx/include/__type_traits/invoke.h b/contrib/llvm-project/libcxx/include/__type_traits/invoke.h index 71db32ae6a3c..a0281f5b2006 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/invoke.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/invoke.h @@ -17,7 +17,8 @@ #include <__type_traits/integral_constant.h> #include <__type_traits/is_base_of.h> #include <__type_traits/is_core_convertible.h> -#include <__type_traits/is_member_pointer.h> +#include <__type_traits/is_member_function_pointer.h> +#include <__type_traits/is_member_object_pointer.h> #include <__type_traits/is_reference_wrapper.h> #include <__type_traits/is_same.h> #include <__type_traits/is_void.h> diff --git a/contrib/llvm-project/libcxx/include/__type_traits/is_member_function_pointer.h b/contrib/llvm-project/libcxx/include/__type_traits/is_member_function_pointer.h new file mode 100644 index 000000000000..037d5ca04ab0 --- /dev/null +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_member_function_pointer.h @@ -0,0 +1,31 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP___TYPE_TRAITS_IS_MEMBER_FUNCTION_POINTER_H +#define _LIBCPP___TYPE_TRAITS_IS_MEMBER_FUNCTION_POINTER_H + +#include <__config> +#include <__type_traits/integral_constant.h> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +_LIBCPP_BEGIN_NAMESPACE_STD + +template +struct _LIBCPP_TEMPLATE_VIS is_member_function_pointer : _BoolConstant<__is_member_function_pointer(_Tp)> {}; + +# if _LIBCPP_STD_VER >= 17 +template +inline constexpr bool is_member_function_pointer_v = __is_member_function_pointer(_Tp); +# endif + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP___TYPE_TRAITS_IS_MEMBER_FUNCTION_POINTER_H diff --git a/contrib/llvm-project/libcxx/include/__type_traits/is_member_object_pointer.h b/contrib/llvm-project/libcxx/include/__type_traits/is_member_object_pointer.h new file mode 100644 index 000000000000..555794bfe038 --- /dev/null +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_member_object_pointer.h @@ -0,0 +1,31 @@ +//===----------------------------------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#ifndef _LIBCPP___TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_H +#define _LIBCPP___TYPE_TRAITS_IS_MEMBER_OBJECT_POINTER_H + +#include <__config> +#include <__type_traits/integral_constant.h> + +#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) +# pragma GCC system_header +#endif + +_LIBCPP_BEGIN_NAMESPACE_STD + +template +struct _LIBCPP_TEMPLATE_VIS is_member_object_pointer : _BoolConstant<__is_member_object_pointer(_Tp)> {}; + +# if _LIBCPP_STD_VER >= 17 +template +inline constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Tp); +# endif + +_LIBCPP_END_NAMESPACE_STD + +#endif // _LIBCPP___TYPE_TRAITS_IS_MEMBER_FUNCTION_POINTER_H diff --git a/contrib/llvm-project/libcxx/include/__type_traits/is_member_pointer.h b/contrib/llvm-project/libcxx/include/__type_traits/is_member_pointer.h index cc125e318cf9..149634fde758 100644 --- a/contrib/llvm-project/libcxx/include/__type_traits/is_member_pointer.h +++ b/contrib/llvm-project/libcxx/include/__type_traits/is_member_pointer.h @@ -21,21 +21,9 @@ _LIBCPP_BEGIN_NAMESPACE_STD template struct _LIBCPP_TEMPLATE_VIS is_member_pointer : _BoolConstant<__is_member_pointer(_Tp)> {}; -template -struct _LIBCPP_TEMPLATE_VIS is_member_object_pointer : _BoolConstant<__is_member_object_pointer(_Tp)> {}; - -template -struct _LIBCPP_TEMPLATE_VIS is_member_function_pointer : _BoolConstant<__is_member_function_pointer(_Tp)> {}; - # if _LIBCPP_STD_VER >= 17 template inline constexpr bool is_member_pointer_v = __is_member_pointer(_Tp); - -template -inline constexpr bool is_member_object_pointer_v = __is_member_object_pointer(_Tp); - -template -inline constexpr bool is_member_function_pointer_v = __is_member_function_pointer(_Tp); # endif _LIBCPP_END_NAMESPACE_STD diff --git a/contrib/llvm-project/libcxx/include/module.modulemap b/contrib/llvm-project/libcxx/include/module.modulemap index d76659664f75..8e0ba6eebac4 100644 --- a/contrib/llvm-project/libcxx/include/module.modulemap +++ b/contrib/llvm-project/libcxx/include/module.modulemap @@ -1976,6 +1976,8 @@ module std_private_type_traits_is_implicitly_default_constructible [system } module std_private_type_traits_is_integral [system] { header "__type_traits/is_integral.h" } module std_private_type_traits_is_literal_type [system] { header "__type_traits/is_literal_type.h" } +module std_private_type_traits_is_member_function_pointer [system] { header "__type_traits/is_member_function_pointer.h" } +module std_private_type_traits_is_member_object_pointer [system] { header "__type_traits/is_member_object_pointer.h" } module std_private_type_traits_is_member_pointer [system] { header "__type_traits/is_member_pointer.h" } module std_private_type_traits_is_nothrow_assignable [system] { header "__type_traits/is_nothrow_assignable.h" } module std_private_type_traits_is_nothrow_constructible [system] { diff --git a/contrib/llvm-project/libcxx/include/type_traits b/contrib/llvm-project/libcxx/include/type_traits index ffa137338b6a..08badb6aa06e 100644 --- a/contrib/llvm-project/libcxx/include/type_traits +++ b/contrib/llvm-project/libcxx/include/type_traits @@ -453,6 +453,8 @@ namespace std #include <__type_traits/is_fundamental.h> #include <__type_traits/is_integral.h> #include <__type_traits/is_literal_type.h> +#include <__type_traits/is_member_function_pointer.h> +#include <__type_traits/is_member_object_pointer.h> #include <__type_traits/is_member_pointer.h> #include <__type_traits/is_nothrow_assignable.h> #include <__type_traits/is_nothrow_constructible.h>