]> granicus.if.org Git - clang/commit
Thread-safety analysis: adding in a basic lockset tracking system. This
authorCaitlin Sadowski <supertri@google.com>
Tue, 23 Aug 2011 18:46:34 +0000 (18:46 +0000)
committerCaitlin Sadowski <supertri@google.com>
Tue, 23 Aug 2011 18:46:34 +0000 (18:46 +0000)
commit3ac1fbc303d22af2e11a14023ecee7bd7b7d0bfd
tree568b56519f7184f527aa21521573b65d31d82f28
parentf857186fd1995b34185d063a29b11ad4f948519f
Thread-safety analysis: adding in a basic lockset tracking system. This
system flags an error when unlocking a lock which was not held, locking
the same lock twice, having a different lockset on each iteration of a
loop, or going out of scope while still holding a lock. In order to
successfully use the lockset, this patch also makes sure that attribute
arguments are attached correctly for later parsing.

This patch was also worked on by DeLesley Hutchins.

Note: This patch has been reviewed by Chandler Carruth and Jeffrey
Yasskin. Feel free to provide post-commit review comments for a
subsequent patch.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138350 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Attr.td
include/clang/Basic/DiagnosticSemaKinds.td
include/clang/Sema/AnalysisBasedWarnings.h
lib/Sema/AnalysisBasedWarnings.cpp
lib/Sema/SemaDeclAttr.cpp
test/SemaCXX/warn-thread-safety-analysis.cpp [new file with mode: 0644]
test/SemaCXX/warn-thread-safety-parsing.cpp [moved from test/SemaCXX/warn-thread-safety.cpp with 99% similarity]