@@ -97,19 +97,21 @@ using __barrier_phase_t _LIBCPP_NODEBUG = uint8_t;
97
97
98
98
class __barrier_algorithm_base ;
99
99
100
- _LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI __barrier_algorithm_base*
101
- __construct_barrier_algorithm_base (ptrdiff_t & __expected);
100
+ [[__gnu__::__returns_nonnull__, __gnu__::__malloc__]] _LIBCPP_AVAILABILITY_SYNC
101
+ _LIBCPP_EXPORTED_FROM_ABI __barrier_algorithm_base*
102
+ __construct_barrier_algorithm_base (ptrdiff_t & __expected);
102
103
103
104
_LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI bool
104
- __arrive_barrier_algorithm_base (__barrier_algorithm_base* __barrier, __barrier_phase_t __old_phase) noexcept ;
105
+ __arrive_barrier_algorithm_base ([[__gnu__::__nonnull__]] _LIBCPP_NOESCAPE __barrier_algorithm_base* __barrier,
106
+ __barrier_phase_t __old_phase) noexcept ;
105
107
106
- _LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void
107
- __destroy_barrier_algorithm_base ( __barrier_algorithm_base* __barrier) noexcept ;
108
+ _LIBCPP_AVAILABILITY_SYNC _LIBCPP_EXPORTED_FROM_ABI void __destroy_barrier_algorithm_base (
109
+ [[__gnu__::__nonnull__]] _LIBCPP_NOESCAPE __barrier_algorithm_base* __barrier) noexcept ;
108
110
109
111
template <class _CompletionF >
110
112
class __barrier_base {
111
113
ptrdiff_t __expected_;
112
- unique_ptr<__barrier_algorithm_base, void (*)(__barrier_algorithm_base*)> __base_;
114
+ unique_ptr<__barrier_algorithm_base, void (*)(_LIBCPP_NOESCAPE __barrier_algorithm_base*)> __base_;
113
115
atomic<ptrdiff_t > __expected_adjustment_;
114
116
_CompletionF __completion_;
115
117
atomic<__barrier_phase_t > __phase_;
0 commit comments