diff options
| author | DeLesley Hutchins <delesley@google.com> | 2011-12-29 00:56:48 +0000 |
|---|---|---|
| committer | DeLesley Hutchins <delesley@google.com> | 2011-12-29 00:56:48 +0000 |
| commit | 714296cb3177329eb42411b85ef5a7fc9696efc7 (patch) | |
| tree | 07db12be133e25e61eacabdf9ec15a879eee51a8 /clang/test | |
| parent | f97c521368e266f228ecd91b71217c6d53cad448 (diff) | |
| download | bcm5719-llvm-714296cb3177329eb42411b85ef5a7fc9696efc7.tar.gz bcm5719-llvm-714296cb3177329eb42411b85ef5a7fc9696efc7.zip | |
Support for thread safety attributes on functions
llvm-svn: 147331
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/SemaCXX/warn-thread-safety-analysis.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp index 23dcd8d4a8f..8219b982bc7 100644 --- a/clang/test/SemaCXX/warn-thread-safety-analysis.cpp +++ b/clang/test/SemaCXX/warn-thread-safety-analysis.cpp @@ -1605,3 +1605,25 @@ struct TestScopedLockable { } // end namespace test_scoped_lockable +namespace FunctionAttrTest { + +class Foo { +public: + Mutex mu_; + int a GUARDED_BY(mu_); +}; + +Foo fooObj; + +void foo() EXCLUSIVE_LOCKS_REQUIRED(fooObj.mu_); + +void bar() { + foo(); // expected-warning {{calling function 'foo' requires exclusive lock on 'mu_'}} + fooObj.mu_.Lock(); + foo(); + fooObj.mu_.Unlock(); +} + +}; // end namespace FunctionAttrTest + + |

