History log of /external/clang/lib/Analysis/ThreadSafety.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89 29-May-2014 Stephen Hines <srhines@google.com> Update Clang for 3.5 rebase (r209713).

Change-Id: I8c9133b0f8f776dc915f270b60f94962e771bc83
/external/clang/lib/Analysis/ThreadSafety.cpp
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/lib/Analysis/ThreadSafety.cpp
4444446abb50f7b0314d82be0afa892f945cc9bc 01-Dec-2013 Bill Wendling <isanbard@gmail.com> Merging r195777:
------------------------------------------------------------------------
r195777 | delesley | 2013-11-26 11:45:21 -0800 (Tue, 26 Nov 2013) | 1 line

Thread safety analysis: fix ICE due to missing null check on dyn_cast.
------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196007 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
f9495911c46a5f90d8cf14774c11ff521d505c7e 08-Nov-2013 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: check guarded_by and pt_guarded_by on array access.
Currently supported only with -Wthread-safety-beta.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194275 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
9a2f84b2f03e79fb21f9db9e029045fba09dedef 06-Nov-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: minor bugfix to smart pointer handling, and expanded
test case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
43399fb0e79687043b7904195e95a23e44bd6ca1 06-Nov-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: check pt_guarded_by attribute when calling -> and *
on smart pointers. -Wthread-safety-beta only.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@194103 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
87bcee88d9b49de8214aa23d07c96f7bec3198e0 19-Oct-2013 Rafael Espindola <rafael.espindola@gmail.com> Simplify some implementations of get*Decl.

* NamedDecl and CXXMethodDecl were missing getMostRecentDecl.
* The const version can just forward to the non const.
* getMostRecentDecl can use cast instead of cast_or_null.

This then removes some casts from the callers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@193039 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
7336b9f8c0b58550a74c85a64f06d0fd74e7ad0d 16-Aug-2013 DeLesley Hutchins <delesley@google.com> Thread Safety Analysis: fix bug when using TryLock with && and || expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188505 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
a44f03bced45059e7c4c7043992db3b4657032c2 15-Aug-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: move warnings within lock/unlock functions out of beta.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188465 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
b96e74f79cc9f64a8d0080d4eff5d0431d2a48cf 26-Jun-2013 Aaron Ballman <aaron@aaronballman.com> Updating a link in the comments; no functional change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185013 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
451f8e4ed63c97065fcbc79cf1cbbbbe1c4b6bd9 20-May-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: fix use after free bug reported by Evgeniy Stepanov.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182305 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
5c6134fd09bc5b738dafdd1c774edde13d95cb20 18-May-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: add two new attributes to the thread safety analysis:
assert_exclusive_lock and assert_shared_lock. These attributes are used to
mark functions that dynamically check (i.e. assert) that a lock is held.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@182170 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
5696884053b4a60dbed01ea8c7e6cd8dcf9b5de9 08-Apr-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: turn on checking within lock and unlock functions.
These checks are enabled with the -Wthread-safety-beta flag.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179046 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
dd0a1f58a505ced9674f6d31a1ff65cb87774d67 01-Apr-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: Turn on checking for non-scalar types by default.
These were previously enabled as a "beta" feature, but they have now been
extensively tested.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@178478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
b07805485c603be3d8011f72611465324c9e664b 23-Feb-2013 David Blaikie <dblaikie@gmail.com> Remove the CFGElement "Invalid" state.

Use Optional<CFG*> where invalid states were needed previously. In the one case
where that's not possible (beginAutomaticObjDtorsInsert) just use a dummy
CFGAutomaticObjDtor.

Thanks for the help from Jordan Rose & discussion/feedback from Ted Kremenek
and Doug Gregor.

Post commit code review feedback on r175796 by Ted Kremenek.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175938 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
fdf6a279c9a75c778eba382d9a156697092982a1 21-Feb-2013 David Blaikie <dblaikie@gmail.com> Replace CFGElement llvm::cast support to be well-defined.

See r175462 for another example/more details.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
0ecc2e9ce86b0705bc1a53a9c8f90c433bcdca1b 18-Jan-2013 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: ignore edges from throw expressions in CFG.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172858 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
cfa88f893915ceb8ae4ce2f17c46c24a4d67502f 12-Jan-2013 Dmitri Gribenko <gribozavr@gmail.com> Remove useless 'llvm::' qualifier from names like StringRef and others that are
brought into 'clang' namespace by clang/Basic/LLVM.h


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172323 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
93699d23cd07c021eac2e26f8e32b58276bfa912 08-Dec-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: check member access on guarded non-primitive types.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
91e2061763f5e59f57e59c6f141b74b5ff0408ad 05-Dec-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: check locks on method calls, operator=, and
copy constructors.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169350 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
47715cc201170952029a52806bcc26f69c38272d 05-Dec-2012 DeLesley Hutchins <delesley@google.com> Thread Safety Analysis: refactor to make more methods accept const pointers,
adjust checkAccess. No change in functionality.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169348 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
55fc873017f10f6f566b182b70f6fc22aefa3464 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort all of Clang's files under 'lib', and fix up the broken headers
uncovered.

This required manually correcting all of the incorrect main-module
headers I could find, and running the new llvm/utils/sort_includes.py
script over the files.

I also manually added quite a few missing headers that were uncovered by
shuffling the order or moving headers up to be main-module-headers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
2fa67efeaf66a9332c30a026dc1c21bef6c33a6c 01-Dec-2012 Benjamin Kramer <benny.kra@googlemail.com> Pull the Attr iteration parts out of Attr.h, so including DeclBase.h doesn't pull in all the generated Attr code.

Required to pull some functions out of line, but this shouldn't have a perf impact.
No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169092 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
ef2388b10c41a9696d5d81f42ca79ff005fef7fc 06-Oct-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: allow attributes on constructors to refer to 'this'.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165339 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
d2f388299153d80cbe5ffaaed8a882b59a1b59bc 21-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: better handling of unreachable blocks. Fixes a bug
where a call to function marked 'noreturn' is followed by unreachable
implicit destructor calls.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164394 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
60ff198a22815b0aec5b96eaae977de067dcd4c1 21-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: fix bug where shared trylock was treated
as exclusive.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164332 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
186af2de86aea41d7418158e68f96c1f8620e013 21-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: properly canonicalize calls to virtual methods within
lock expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
2a237e03c407ff55bd8639b18658a8751955f1db 19-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: Fix warning when EXCLUSIVE_LOCKS_REQUIRED
is placed on a function that has no path to the exit block.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164244 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
5b280f28351bbdc103cc50d3b0f52f92d286fa0a 19-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: fix ICE when EXCLUSIVE_LOCKS_REQUIRED or
LOCKS_EXCLUDED is used on a method with a name that is is not a simple
identifier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
f9ee0bacd27085417dedf1a9f5df8a4cb5a758c1 12-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: fix bug in expression matching code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163656 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
3f0ec5209726641782468bd4c7597e79dda78b15 10-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: differentiate between two forms of analysis; a precise
analysis that may give false positives because it is confused by aliasing, and
a less precise analysis that has fewer false positives, but may have false
negatives. The more precise warnings are enabled by -Wthread-safety-precise.
An additional note clarify the warnings in the precise case.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163537 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
589190b322a255c8e8b15dfde6b77ef498db7548 07-Sep-2012 Chad Rosier <mcrosier@apple.com> Ampersand goes with identifier.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
2de4770ec07cf3ee6f0f3fcc100c2859e35da4c7 07-Sep-2012 Chad Rosier <mcrosier@apple.com> Bring buildbots back. Fix scoping issue and coding style from r163397.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163403 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
0b4db3e08a201c35f0011489bd5cd5d39bbe54fb 07-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: Add support for selectively turning off warnings
within part of a particular method.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163397 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
31ba6135375433b617a8587ea6cc836a014ebd86 06-Sep-2012 Roman Divacky <rdivacky@freebsd.org> Dont cast away const needlessly. Found by gcc48 -Wcast-qual.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163325 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
fd0f11ccd51154e933fad7dfa134cb4f62c87056 05-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: bugfix for case where a trylock occurs in an
expression involving temporaries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
5408153e9140f34bbca9059638c61cc12bd539cf 01-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: fix handling of LOCK_RETURNED attribute so that the
latest definition of a function is always used when computing lock expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
4e4c15765d5f097e21dcaa30f1a94481924340f7 31-Aug-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: fix handling of string constants in mutex
expressions, which should be ignored right now.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
ad0fe03b897f9486191e75c8d90c3ffa9b4fd6a5 23-Aug-2012 Ted Kremenek <kremenek@apple.com> Fix an assortment of doxygen comment issues found by -Wdocumentation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
ee2f032fe0fc86762608458c2a167ae504579a64 10-Aug-2012 DeLesley Hutchins <delesley@google.com> Thread-safety-analysis: adds existential quantification over lock
expressions. The syntax &MyClass::mutex is interpreted as a
pattern that matches m->mutex for any object m of type MyClass.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161691 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
a74b715cdc37c4523818a4018faae99d977aa537 10-Aug-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: refactor to support more sophisticated handling
of expressions, and better error messages.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161690 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
a1fa47139d6e9e7dcc40f2809605d1a258624e7f 10-Aug-2012 DeLesley Hutchins <delesley@google.com> Refactor thread safety analysis to use a different data structure
to track locksets. This is in preparation for further changes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
bed28ac1d1463adca3ecf24fca5c30646fa9dbb2 23-Jul-2012 Sylvestre Ledru <sylvestre@debian.org> Fix a typo (the the => the)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160622 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
13106117060c90d6f84bd2ed7a5c03e0502ff419 10-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: impove handling of trylock expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160018 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
5381c05f51e5b7c7627f1d95b9a3425303ce086a 05-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: eliminate false positives in case where the definition
duplicates attributes on the declaration. Also eliminates a false negative in
ReleasableMutexLock. Fixing this bug required some refactoring.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159780 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
96fac6a7fe89deff7860e536febbd4ae17bb57f3 03-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: improve handling of smart pointers.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159679 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
9d6e7f3e12f1a825377ace33161e80caeda8cd06 03-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread Safety Analysis: handle expressions involving temporaries,
e.g. ExprWithCleanups.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159674 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
bbe334142b38d2f9dad3ae2eb7b332c54a5b2cc1 03-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: fixed bug that occurs when very silly people
use scoped_lockable without putting unlock_function on the
destructor.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
879a4334e4c4cab0c22ba91492ffc2838bbc21fc 03-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: fixed incorrect error message at the end of a locks_required function.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159607 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
c36eda1113e014400d32fbbb99be36ff0b41f795 03-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: don't warn in case of duplicate annotation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159606 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
76f0a6e9bc9ee5aae029f959f64fae290727cca4 02-Jul-2012 DeLesley Hutchins <delesley@google.com> Thread Safety Analysis: turn off checking within trylock functions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159601 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
c99a5d820ead4e4f1f4b4a8ab61007b8da0307e6 29-Jun-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: support release() function on scoped
lockable objects.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159387 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
f63797c741e646b9482d204c88dee02fb41d7962 25-Jun-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: implement lock_returned attribute.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159152 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
0da4414f3d30c34fafb81b13b2cec3680c0bc9e1 22-Jun-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: fixes a bug in which locksets are not handled
properly if there is a join point in the control flow graph that involves
a trylock. Also changes the source locations of some warnings to be
more consistent.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159008 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
54c350a67b47f059e1d577bdd9e2d1dc31ff82b5 19-Apr-2012 DeLesley Hutchins <delesley@google.com> Refactor the thread safety analysis so that it is easier to do
path-sensitive analysis like handling of trylock expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
f4b88a45902af1802a1cb42ba48b1c474474f228 10-Mar-2012 John McCall <rjmccall@apple.com> Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to
track whether the referenced declaration comes from an enclosing
local context. I'm amenable to suggestions about the exact meaning
of this bit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152491 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
0d95dfcc0e07a81596ab7c3e9e86ab663fd4541c 03-Mar-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: expand set of expressions that can be used to denote locks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151956 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
2a35be803c405221f5f23c7bdedb91f09efdd3ac 02-Mar-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: handle CFG blocks which call functions marked as noreturn.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151944 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
2f13bec63b0236b169b026b7bc852da51ee029a7 16-Feb-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: Disable checking inside constructors, destructors, lock, and unlock functions

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
4bda3eca138d39585c9e475ad25aa9ff053f923b 16-Feb-2012 DeLesley Hutchins <delesley@google.com> Thread-Safety: added support for 'this' as a lock expression.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150700 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
2e5156274b8051217565b557bfa14c80f7990e9c 03-Feb-2012 Richard Smith <richard-llvm@metafoo.co.uk> Thread safety analysis:
* When we detect that a CFG block has inconsistent lock sets, point the
diagnostic at the location where we found the inconsistency, and point a note
at somewhere the inconsistently-locked mutex was locked.
* Fix the wording of the normal (non-loop, non-end-of-function) case of this
diagnostic to not suggest that the mutex is going out of scope.
* Fix the diagnostic emission code to keep a warning and its note together when
sorting the diagnostics into source location order.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149669 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
aacde7174af6c5759b52dc0ceb7b167d323afb6a 03-Feb-2012 Richard Smith <richard-llvm@metafoo.co.uk> Thread safety analysis: at a CFG join point between a block terminating in a
'continue' and another block, prefer the lockset from the other block, and
diagnose the 'continue' block as being the end of a loop.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
e03b2b3ca9032b18fd1c3d0fca7692e4d2551277 21-Jan-2012 DeLesley Hutchins <delesley@google.com> Handle thread safety attributes on functions with separate definitions and declarations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
b4fa418a72759dfe34add850837965cbc00626e4 06-Jan-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: added support for trylock attribute.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147672 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
b37d2b5c0819d9ef596c7baec1e0be0d7c45b547 06-Jan-2012 DeLesley Hutchins <delesley@google.com> Added LocalVariableMap

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147670 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
df49782c54802ca1a4c1d36d66186aa039f32aec 29-Dec-2011 DeLesley Hutchins <delesley@google.com> Support for thread safety attributes on functions

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147331 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
1fa3c0682a52c45c4ad0be3a82d0c85f26657072 08-Dec-2011 DeLesley Hutchins <delesley@google.com> This patch extends thread safety analysis with support for the scoped_lockable attribute.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146174 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
1d26f48dc2eea1c07431ca1519d7034a21b9bcff 24-Oct-2011 Ted Kremenek <kremenek@apple.com> Rename AnalysisContext to AnalysisDeclContext. Not only is this name more accurate, but it frees up the name AnalysisContext for other uses.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142782 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
439ed1656664b29841f70b6c0b91460534ff4d93 22-Oct-2011 Ted Kremenek <kremenek@apple.com> Refactor ThreadSafety to use PostOrderCFGView instead of its own copy (of TopologicallySortedCFG).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142714 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
6db51f707e93816364039a2a904d13d3968c7f05 21-Oct-2011 DeLesley Hutchins <delesley@google.com> Added support for thread safety attributes on destructors.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
f1ac63702143d84db778d32eb185a77fc97db5f5 21-Oct-2011 DeLesley Hutchins <delesley@google.com> Thread safety analysis refactoring: invalid lock expressions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142666 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
e0eaa8531f8fd9189710aac3b6f3aadb62bb14d1 21-Oct-2011 DeLesley Hutchins <delesley@google.com> Thread safety analysis: add support for attributes on constructors.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142665 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
a60448d6dfc91f4c30987e237bf70ef50ac7705b 21-Oct-2011 DeLesley Hutchins <delesley@google.com> Refactoring and code cleanup.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142654 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
8121639910129a2b59aa85fc597e47cacad8b978 17-Oct-2011 DeLesley Hutchins <delesley@google.com> Substitute for arguments in method calls -- functionality

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142267 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
9f80a97408ee0da939654d851ff42ad07d47e9c7 17-Oct-2011 DeLesley Hutchins <delesley@google.com> Substitute for arguments in method calls -- refactoring

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142260 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
9859ea07b55727557a201e730caf01bcd6a7566a 20-Sep-2011 DeLesley Hutchins <delesley@google.com> Test commit

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140149 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
1748b1256646cf0752f172c53ad7482f7beed185 16-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: Adding FIXMEs and a couple cleanups

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
cb96751b25a934b22402c1e4e0805db7608a5f2b 15-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: completeing the implementation of shared/exclusive locks required attributes

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139804 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
4e4bc75d3570835e13183c66ac08974cdc016007 15-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: refactoring various out of scope warnings to use the same inteface. This eliminates a lot of unnecessary duplicated code.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139801 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
19903465e960329c0d5d93327f4046d036b0bc75 14-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: adding additional documentation to the main thread safety interface, and making the destructor for the thread safety handler pure virtual

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139722 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
194418f1db5f5f78bc3e614d1e10a863455d882c 14-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: adding test cases for unparseable lock expressions and expanding the handling of these expressions

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139720 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
7613c73af842a7f989968161409f53a692dc5b30 13-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: small formatting change

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139548 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
afc5b15022886c9e9e84d7aa0f2168b83e712310 10-Sep-2011 Benjamin Kramer <benny.kra@googlemail.com> Silence "end of non-void function" warnings with llvm_unreachable and add an assert.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139474 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
d5b16055782034ca90153880c36bd88b59c63aa0 10-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: removing unnecessary import and reordering import list

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139426 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
0fed26d94553881011aa7ec30cee3ed0da71c7a1 10-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: removing unnecessary import

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
99107ebc0a5aea953b736e12757e0919d5249d43 09-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: This patch deals with previously unhandled cases when building lock expressions. We now resolve this expressions, avoid crashing when encountering cast expressions, and have a diagnostic for unresolved lock expressions

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp
402aa0698fec81e574818a0a6c2000fac0b2c4c6 09-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread Safety: Moving the analysis to a new file

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/Analysis/ThreadSafety.cpp