[cfe-dev] thread safety annotations false negative

RJ Ryan via cfe-dev cfe-dev at lists.llvm.org
Wed Apr 27 17:36:03 PDT 2016


+cfe-dev -- in case anyone knows why this happens.

Thanks!

On Sat, Apr 23, 2016 at 1:41 PM, RJ Ryan <rryan at alum.mit.edu> wrote:

> Hi there,
>
> The following code only produces thread safety warnings for me in
> get_foo_copy, not get_foo_reference. Is this expected? Sorry if this is a
> FAQ / known issue.
>
> $ clang --version
> Apple LLVM version 7.0.2 (clang-700.1.81)
> Target: x86_64-apple-darwin15.3.0
> Thread model: posix
>
> The problem also seems present on clang 3.8.0:
> https://godbolt.org/g/37DqNy
>
> Best,
> RJ
>
> (with the usual thread annotation definitions)
>
> class CAPABILITY("mutex") Mutex {
>   public:
>     Mutex() {}
>     inline void lock() ACQUIRE() {}
>     inline void unlock() RELEASE() {}
> };
>
> class Foo {
>   public:
>     int& get_foo_reference() {
>         return foo_;
>     }
>
>     int get_foo_copy() {
>         return foo_;
>     }
>
>   private:
>     Mutex foo_lock_;
>     int foo_ GUARDED_BY(foo_lock_);
> };
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160427/d745d3e1/attachment.html>


More information about the cfe-dev mailing list