aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/CloneFunction.cpp
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2023-09-29 13:11:04 +0200
committerGitHub <noreply@github.com>2023-09-29 13:11:04 +0200
commit6dd96d6e80e9b3679a6161c590c60e0e99549b89 (patch)
tree40a04ccb40854e149c2d5763be0c36bd9a3d9ced /llvm/lib/Transforms/Utils/CloneFunction.cpp
parent336b7a256bf886055c3040d09480900a9bdfb68a (diff)
downloadllvm-6dd96d6e80e9b3679a6161c590c60e0e99549b89.zip
llvm-6dd96d6e80e9b3679a6161c590c60e0e99549b89.tar.gz
llvm-6dd96d6e80e9b3679a6161c590c60e0e99549b89.tar.bz2
[clang analysis][thread-safety] Handle return-by-reference... (#67776)
...of guarded variables, when the function is not marked as requiring locks: ``` class Return { Mutex mu; Foo foo GUARDED_BY(mu); Foo &returns_ref_locked() { MutexLock lock(&mu); return foo; // BAD } Foo &returns_ref_locks_required() SHARED_LOCKS_REQUIRED(mu) { return foo; // OK } }; ``` Review on Phabricator: https://reviews.llvm.org/D153131
Diffstat (limited to 'llvm/lib/Transforms/Utils/CloneFunction.cpp')
0 files changed, 0 insertions, 0 deletions