https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291228

--- Comment #3 from Mark Millard <[email protected]> ---
(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.

Reply via email to