__lock_annotate
#define __lockable __lock_annotate(lockable)
__lock_annotate(exclusive_lock_function(__VA_ARGS__))
__lock_annotate(shared_lock_function(__VA_ARGS__))
__lock_annotate(exclusive_trylock_function(__VA_ARGS__))
__lock_annotate(shared_trylock_function(__VA_ARGS__))
#define __unlocks(...) __lock_annotate(unlock_function(__VA_ARGS__))
__lock_annotate(assert_exclusive_lock(__VA_ARGS__))
__lock_annotate(assert_shared_lock(__VA_ARGS__))
__lock_annotate(exclusive_locks_required(__VA_ARGS__))
__lock_annotate(shared_locks_required(__VA_ARGS__))
__lock_annotate(locks_excluded(__VA_ARGS__))
#define __no_lock_analysis __lock_annotate(no_thread_safety_analysis)
#define __guarded_by(x) __lock_annotate(guarded_by(x))
#define __pt_guarded_by(x) __lock_annotate(pt_guarded_by(x))