@@ -183,7 +183,7 @@ struct _LIBCPP_EXPORTED_FROM_ABI __shared_mutex_base {
183183};
184184
185185# if _LIBCPP_STD_VER >= 17
186- class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_THREAD_SAFETY_ANNOTATION (__capability__( " shared_mutex" ) ) shared_mutex {
186+ class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_CAPABILITY ( " shared_mutex" ) shared_mutex {
187187 __shared_mutex_base __base_;
188188
189189public:
@@ -194,35 +194,23 @@ public:
194194 shared_mutex& operator =(const shared_mutex&) = delete ;
195195
196196 // Exclusive ownership
197- _LIBCPP_HIDE_FROM_ABI void lock () _LIBCPP_THREAD_SAFETY_ANNOTATION (__acquire_capability__ ()) {
198- return __base_.lock ();
199- }
200- _LIBCPP_HIDE_FROM_ABI bool try_lock () _LIBCPP_THREAD_SAFETY_ANNOTATION (__try_acquire_capability__ (true )) {
201- return __base_.try_lock ();
202- }
203- _LIBCPP_HIDE_FROM_ABI void unlock () _LIBCPP_THREAD_SAFETY_ANNOTATION (__release_capability__ ()) {
204- return __base_.unlock ();
205- }
197+ _LIBCPP_ACQUIRE_CAPABILITY () _LIBCPP_HIDE_FROM_ABI void lock () { return __base_.lock (); }
198+ _LIBCPP_TRY_ACQUIRE_CAPABILITY (true ) _LIBCPP_HIDE_FROM_ABI bool try_lock () { return __base_.try_lock (); }
199+ _LIBCPP_RELEASE_CAPABILITY _LIBCPP_HIDE_FROM_ABI void unlock () { return __base_.unlock (); }
206200
207201 // Shared ownership
208- _LIBCPP_HIDE_FROM_ABI void lock_shared () _LIBCPP_THREAD_SAFETY_ANNOTATION (__acquire_shared_capability__ ()) {
209- return __base_.lock_shared ();
210- }
211- _LIBCPP_HIDE_FROM_ABI bool try_lock_shared ()
212- _LIBCPP_THREAD_SAFETY_ANNOTATION (__try_acquire_shared_capability__ (true )) {
202+ _LIBCPP_ACQUIRE_SHARED_CAPABILITY _LIBCPP_HIDE_FROM_ABI void lock_shared () { return __base_.lock_shared (); }
203+ _LIBCPP_TRY_ACQUIRE_SHARED_CAPABILITY (true ) _LIBCPP_HIDE_FROM_ABI bool try_lock_shared () {
213204 return __base_.try_lock_shared ();
214205 }
215- _LIBCPP_HIDE_FROM_ABI void unlock_shared () _LIBCPP_THREAD_SAFETY_ANNOTATION (__release_shared_capability__ ()) {
216- return __base_.unlock_shared ();
217- }
206+ _LIBCPP_RELEASE_SHARED_CAPABILITY _LIBCPP_HIDE_FROM_ABI void unlock_shared () { return __base_.unlock_shared (); }
218207
219208 // typedef __shared_mutex_base::native_handle_type native_handle_type;
220209 // _LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() { return __base::unlock_shared(); }
221210};
222211# endif
223212
224- class _LIBCPP_EXPORTED_FROM_ABI
225- _LIBCPP_THREAD_SAFETY_ANNOTATION (__capability__(" shared_timed_mutex" )) shared_timed_mutex {
213+ class _LIBCPP_EXPORTED_FROM_ABI _LIBCPP_CAPABILITY (" shared_timed_mutex" ) shared_timed_mutex {
226214 __shared_mutex_base __base_;
227215
228216public:
@@ -233,17 +221,17 @@ public:
233221 shared_timed_mutex& operator =(const shared_timed_mutex&) = delete ;
234222
235223 // Exclusive ownership
236- void lock () _LIBCPP_THREAD_SAFETY_ANNOTATION ( __acquire_capability__ () );
237- bool try_lock () _LIBCPP_THREAD_SAFETY_ANNOTATION ( __try_acquire_capability__ ( true ) );
224+ void lock () _LIBCPP_ACQUIRE_CAPABILITY ( );
225+ _LIBCPP_TRY_ACQUIRE_CAPABILITY ( true ) bool try_lock ();
238226 template <class _Rep , class _Period >
239- _LIBCPP_HIDE_FROM_ABI bool try_lock_for ( const chrono::duration<_Rep, _Period>& __rel_time)
240- _LIBCPP_THREAD_SAFETY_ANNOTATION ( __try_acquire_capability__ ( true ) ) {
227+ _LIBCPP_TRY_ACQUIRE_CAPABILITY ( true ) _LIBCPP_HIDE_FROM_ABI bool
228+ try_lock_for ( const chrono::duration<_Rep, _Period>& __rel_time ) {
241229 return try_lock_until (chrono::steady_clock::now () + __rel_time);
242230 }
243231
244232 template <class _Clock , class _Duration >
245- _LIBCPP_HIDE_FROM_ABI bool try_lock_until ( const chrono::time_point<_Clock, _Duration>& __abs_time)
246- _LIBCPP_THREAD_SAFETY_ANNOTATION ( __try_acquire_capability__ ( true ) ) {
233+ _LIBCPP_TRY_ACQUIRE_CAPABILITY ( true ) _LIBCPP_HIDE_FROM_ABI bool
234+ try_lock_until ( const chrono::time_point<_Clock, _Duration>& __abs_time ) {
247235 unique_lock<mutex> __lk (__base_.__mut_ );
248236 if (__base_.__state_ & __base_.__write_entered_ ) {
249237 while (true ) {
@@ -270,20 +258,20 @@ public:
270258 return true ;
271259 }
272260
273- void unlock () _LIBCPP_THREAD_SAFETY_ANNOTATION ( __release_capability__ () );
261+ _LIBCPP_RELEASE_CAPABILITY void unlock ();
274262
275263 // Shared ownership
276- void lock_shared () _LIBCPP_THREAD_SAFETY_ANNOTATION ( __acquire_shared_capability__ () );
277- bool try_lock_shared () _LIBCPP_THREAD_SAFETY_ANNOTATION ( __try_acquire_shared_capability__ ( true ) );
264+ _LIBCPP_ACQUIRE_SHARED_CAPABILITY void lock_shared ();
265+ _LIBCPP_TRY_ACQUIRE_SHARED_CAPABILITY ( true ) bool try_lock_shared ();
278266 template <class _Rep , class _Period >
279- _LIBCPP_HIDE_FROM_ABI bool try_lock_shared_for ( const chrono::duration<_Rep, _Period>& __rel_time)
280- _LIBCPP_THREAD_SAFETY_ANNOTATION ( __try_acquire_shared_capability__ ( true ) ) {
267+ _LIBCPP_TRY_ACQUIRE_SHARED_CAPABILITY ( true ) _LIBCPP_HIDE_FROM_ABI bool
268+ try_lock_shared_for ( const chrono::duration<_Rep, _Period>& __rel_time ) {
281269 return try_lock_shared_until (chrono::steady_clock::now () + __rel_time);
282270 }
283271
284272 template <class _Clock , class _Duration >
285- _LIBCPP_HIDE_FROM_ABI bool try_lock_shared_until ( const chrono::time_point<_Clock, _Duration>& __abs_time)
286- _LIBCPP_THREAD_SAFETY_ANNOTATION ( __try_acquire_shared_capability__ ( true ) ) {
273+ _LIBCPP_TRY_ACQUIRE_SHARED_CAPABILITY ( true ) _LIBCPP_HIDE_FROM_ABI bool
274+ try_lock_shared_until ( const chrono::time_point<_Clock, _Duration>& __abs_time ) {
287275 unique_lock<mutex> __lk (__base_.__mut_ );
288276 if ((__base_.__state_ & __base_.__write_entered_ ) ||
289277 (__base_.__state_ & __base_.__n_readers_ ) == __base_.__n_readers_ ) {
@@ -302,7 +290,7 @@ public:
302290 return true ;
303291 }
304292
305- void unlock_shared () _LIBCPP_THREAD_SAFETY_ANNOTATION ( __release_shared_capability__ () );
293+ _LIBCPP_RELEASE_SHARED_CAPABILITY void unlock_shared ();
306294};
307295
308296template <class _Mutex >
0 commit comments