[PATCH] D129755: Thread safety analysis: Support copy-elided production of scoped capabilities through arbitrary calls

Aaron Puchert via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Sep 16 14:48:00 PDT 2022


aaronpuchert added a comment.

In D129755#3779997 <https://reviews.llvm.org/D129755#3779997>, @aaron.ballman wrote:

> Please be sure to add a release note for the changes!

Any opinion as to what the release note might say? I'm asking since we dropped the documentation changes.

Perhaps I should add them back in, but without function bodies (thus eliminating the need to add `NO_THREAD_SAFETY_ANALYSIS`)? Something like this:

  // Same as constructors, but without tag types. (Requires C++17 copy elision.)
  static MutexLocker Lock(Mutex *mu) ACQUIRE(mu);
  static MutexLocker Adopt(Mutex *mu) REQUIRES(mu);
  static MutexLocker ReaderLock(Mutex *mu) ACQUIRE_SHARED(mu);
  static MutexLocker AdoptReaderLock(Mutex *mu) REQUIRES_SHARED(mu);
  static MutexLocker DeferLock(Mutex *mu) EXCLUDES(mu);

Then I could write in the note that this is now possible, and annotations on move constructors are without effect.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129755/new/

https://reviews.llvm.org/D129755



More information about the cfe-commits mailing list