[all-commits] [llvm/llvm-project] cc6713: Thread safety analysis: Test and document release_...

Aaron Puchert via All-commits all-commits at lists.llvm.org
Sun Sep 6 11:38:31 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: cc6713a2c35edf17cfb567284cc76b374308e5e4
      https://github.com/llvm/llvm-project/commit/cc6713a2c35edf17cfb567284cc76b374308e5e4
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2020-09-06 (Sun, 06 Sep 2020)

  Changed paths:
    M clang/docs/ThreadSafetyAnalysis.rst
    M clang/test/SemaCXX/thread-safety-annotations.h

  Log Message:
  -----------
  Thread safety analysis: Test and document release_generic_capability

The old locking attributes had a generic release, but as it turns out
the capability-based attributes have it as well.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D87064


  Commit: bbb3baf6205c54231257f64fd18661a13a5c97ee
      https://github.com/llvm/llvm-project/commit/bbb3baf6205c54231257f64fd18661a13a5c97ee
  Author: Aaron Puchert <aaronpuchert at alice-dsl.net>
  Date:   2020-09-06 (Sun, 06 Sep 2020)

  Changed paths:
    M clang/docs/ThreadSafetyAnalysis.rst

  Log Message:
  -----------
  Thread safety analysis: Improve documentation for scoped capabilities

They are for more powerful than the current documentation implies, this
adds

* adopting a lock,
* deferring a lock,
* manually unlocking the scoped capability,
* relocking the scoped capability, possibly in a different mode,
* try-relocking the scoped capability.

Also there is now a generic explanation how attributes on scoped
capabilities work. There has been confusion in the past about how to
annotate them (see e.g. PR33504), hopefully this clears things up.

Reviewed By: aaron.ballman

Differential Revision: https://reviews.llvm.org/D87066


Compare: https://github.com/llvm/llvm-project/compare/8c386c94749a...bbb3baf6205c


More information about the All-commits mailing list