Add means to handle negative capabilities in thread safety annotations

This commit is contained in:
Hennadii Stepanov
2020-06-09 16:50:45 +03:00
parent 45a6811d36
commit f8213c05f0
2 changed files with 13 additions and 0 deletions

View File

@@ -103,6 +103,12 @@ public:
}
using UniqueLock = std::unique_lock<PARENT>;
#ifdef __clang__
//! For negative capabilities in the Clang Thread Safety Analysis.
//! A negative requirement uses the EXCLUSIVE_LOCKS_REQUIRED attribute, in conjunction
//! with the ! operator, to indicate that a mutex should not be held.
const AnnotatedMixin& operator!() const { return *this; }
#endif // __clang__
};
/**