diff --git a/libcxx/include/barrier b/libcxx/include/barrier --- a/libcxx/include/barrier +++ b/libcxx/include/barrier @@ -297,30 +297,30 @@ return __barrier_base<_CompletionF>::max(); } - _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY - barrier(ptrdiff_t __count, _CompletionF __completion = _CompletionF()) + inline _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY + constexpr explicit barrier(ptrdiff_t __count, _CompletionF __completion = _CompletionF()) : __b_(__count, _VSTD::move(__completion)) { } barrier(barrier const&) = delete; barrier& operator=(barrier const&) = delete; - [[__nodiscard__]] _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY + [[__nodiscard__]] inline _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY arrival_token arrive(ptrdiff_t __update = 1) { return __b_.arrive(__update); } - _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY + inline _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY void wait(arrival_token&& __phase) const { __b_.wait(_VSTD::move(__phase)); } - _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY + inline _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY void arrive_and_wait() { wait(arrive()); } - _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY + inline _LIBCPP_AVAILABILITY_SYNC _LIBCPP_INLINE_VISIBILITY void arrive_and_drop() { __b_.arrive_and_drop();