[Bug 291228] C++ feature std::execution::unseq is missing in std::execution
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 27 Nov 2025 03:55:03 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291228
--- Comment #3 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Mark Millard from comment #2)
That was for a modules context. Going the other
way . . .
contrib/llvm-project/libcxx/include/exception has:
#if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace execution {
struct sequenced_policy {
_LIBCPP_HIDE_FROM_ABI constexpr explicit
sequenced_policy(__disable_user_instantiations_tag) {}
sequenced_policy(const sequenced_policy&) = delete;
sequenced_policy& operator=(const sequenced_policy&) = delete;
};
inline constexpr sequenced_policy seq{__disable_user_instantiations_tag{}};
. . .
(In reply to Mark Millard from comment #2)
That was for a modules context. Going the other
way . . .
contrib/llvm-project/libcxx/include/exception has:
#if !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) && _LIBCPP_STD_VER >= 17
_LIBCPP_BEGIN_NAMESPACE_STD
namespace execution {
struct sequenced_policy {
_LIBCPP_HIDE_FROM_ABI constexpr explicit
sequenced_policy(__disable_user_instantiations_tag) {}
sequenced_policy(const sequenced_policy&) = delete;
sequenced_policy& operator=(const sequenced_policy&) = delete;
};
inline constexpr sequenced_policy seq{__disable_user_instantiations_tag{}};
. . .
# if _LIBCPP_STD_VER >= 20
struct unsequenced_policy {
_LIBCPP_HIDE_FROM_ABI constexpr explicit
unsequenced_policy(__disable_user_instantiations_tag) {}
unsequenced_policy(const unsequenced_policy&) = delete;
unsequenced_policy& operator=(const unsequenced_policy&) = delete;
};
inline constexpr unsequenced_policy unseq{__disable_user_instantiations_tag{}};
# endif // _LIBCPP_STD_VER >= 20
} // namespace execution
. . .
where contrib/llvm-project/libcxx/include/__config has:
// Incomplete features get their own specific disabling flags. This makes it
// easier to grep for target specific flags once the feature is complete.
# if !defined(_LIBCPP_ENABLE_EXPERIMENTAL) &&
!defined(_LIBCPP_BUILDING_LIBRARY)
# define _LIBCPP_HAS_NO_INCOMPLETE_PSTL
# define _LIBCPP_HAS_NO_EXPERIMENTAL_STOP_TOKEN
# define _LIBCPP_HAS_NO_EXPERIMENTAL_TZDB
# define _LIBCPP_HAS_NO_EXPERIMENTAL_SYNCSTREAM
# endif
And, again, -fexperimental-library is sufficient to end up
with !defined(_LIBCPP_HAS_NO_INCOMPLETE_PSTL) . [But so is
defined(_LIBCPP_BUILDING_LIBRARY) sufficient for that.]
--
You are receiving this mail because:
You are the assignee for the bug.