History log of /external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
6b725d120b6b068d9ec3a224133b21c55b5e8bef 16-Aug-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: new test case

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
ed4330bc159b8311080d03caacac9a8cbf42370c 07-Feb-2013 DeLesley Hutchins <delesley@google.com> Thread safety analysis: make sure that expressions in attributes are parsed
in an unevaluated context.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
3ce9fae275ec05cd648d6093b95eb1d05bc14a98 12-Oct-2012 DeLesley Hutchins <delesley@google.com> Thread-safety analysis: support multiple thread-safety attributes on
declarations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
d278dbe43aff06865ae3388ba6b4ac5a9d68e179 26-Sep-2012 DeLesley Hutchins <delesley@google.com> Fix template instantiation of attributes. More specifically, fix the case
where an attribute is attached to a forward declaration of a template function,
and refers to parameters of that declaration, but is then inherited by the
definition of that function. When the definition is instantiated, the
parameter references need to be remapped.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164710 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
24a6c9459a50248e502884f129c789d452f70acc 11-Sep-2012 DeLesley Hutchins <delesley@google.com> Thread safety analysis: fix bug related to lock_returned attribute
on templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
3d074c3828220d94c290a9d3c052b25865760e1f 07-Sep-2012 Chad Rosier <mcrosier@apple.com> Whitespace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@163404 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
43e3deeabf3ca02da427b63df8604e2daf86e8a3 31-Jul-2012 Sylvestre Ledru <sylvestre@debian.org> Fix some minor typos

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@161036 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
aa5498649c7ad1b61e5da2497e8c60c924ac5e55 01-May-2012 Richard Smith <richard-llvm@metafoo.co.uk> Remove -Wc++98-compat warning for an outrageously-rare circumstance of 'this'
being used in an exception specification in a way which isn't otherwise
ill-formed in C++98: this warning also incorrectly triggered on uses of 'this'
inside thread-safety attributes, and the mechanism required to tell these cases
apart is more complex than can be justified by the (minimal) value of this part
of -Wc++98-compat.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155857 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
e31b8fb25b458f00e31dcd657c0840e5238e0f05 05-Apr-2012 David Blaikie <dblaikie@gmail.com> Enable warn_impcast_literal_float_to_integer by default.

This diagnostic seems to be production ready, it's just an oversight that it
wasn't turned on by default.

The test changes are a bit of a mixed bag. Some tests that seemed like they
clearly didn't need to use this behavior have been modified not to use it.
Others that I couldn't be sure about, I added the necessary expected-warnings
to.

It's possible the diagnostic message could be improved to make it clearer that
this warning can be suppressed by using a value that won't lose precision when
converted to the target type (but can still be a floating point literal, such
as "bool b = 1.0;").

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154068 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
7ec419aa8f4ff83bc8ff707b45b9bec47fef3a1a 02-Mar-2012 DeLesley Hutchins <delesley@google.com> Issue warning when late-parsed attributes have no declaration.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151947 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
2287c5e2352fc51cd74e8a9a7725cbf87e41c007 02-Mar-2012 DeLesley Hutchins <delesley@google.com> Make late-parsed attributes follow the conventions of ordinary
GNU attributes to a better extent, by allowing them in more
places on a declator.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
d08d599da101f3fe3fd79e853f1dcea6be89d7c2 25-Feb-2012 DeLesley Hutchins <delesley@google.com> Bugfix: bogus warning -- "invalid use of non-static data member",
when a class is forward declared, and the reference to the data
member in question does not occur within a method body.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
dd5756c04c98e354b85c4f7eb660ae60c6d341ec 16-Feb-2012 DeLesley Hutchins <delesley@google.com> Minor fix to template instantiation, which properly instantiates
dependent attributes on static members of templatized classes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150704 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
c24a2335677f3d1bd2cab1019ac445d650f52123 16-Feb-2012 DeLesley Hutchins <delesley@google.com> Allow thread safety attributes on function definitions.
For compatibility with gcc, clang will now parse gcc attributes on
function definitions, but issue a warning if the attribute is not a
thread safety attribute. Warning controlled by -Wgcc-compat.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150698 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
23323e0253716ff03c95a00fb6903019daafe3aa 20-Jan-2012 DeLesley Hutchins <delesley@google.com> Delayed template instantiation of late-parsed attributes.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148595 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
7b9ff0c09025dcbe48ec7db71330e2066d1e1863 20-Jan-2012 DeLesley Hutchins <delesley@google.com> Instantiate dependent attributes when instantiating templates.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
2fe9b7fb07dff15dd15dd8755a9a9e6de0fe46fc 15-Dec-2011 Richard Trieu <rtrieu@google.com> Modify how the -verify flag works. Currently, the verification string and
diagnostic message are compared. If either is a substring of the other, then
no error is given. This gives rise to an unexpected case:

// expect-error{{candidate function has different number of parameters}}

will match the following error messages from Clang:

candidate function has different number of parameters (expected 1 but has 2)
candidate function has different number of parameters

It will also match these other error messages:

candidate function
function has different number of parameters
number of parameters

This patch will change so that the verification string must be a substring of
the diagnostic message before accepting. Also, all the failing tests from this
change have been corrected. Some stats from this cleanup:

87 - removed extra spaces around verification strings
70 - wording updates to diagnostics
40 - extra leading or trailing characters (typos, unmatched parens or quotes)
35 - diagnostic level was included (error:, warning:, or note:)
18 - flag name put in the warning (-Wprotocol)



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146619 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
601d2ee8dd783503f9d556e1ed3b107abf196a1e 26-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> UnresolvedMemberExprs need lvalue-to-rvalue conversions during template
instantiations too.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143016 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
a01c71191c93691e592c030cc48764e52272eea5 25-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> Don't forget the lvalue-to-rvalue conversion on the LHS when instantiating a
dependent ->, where the member being referred to is an anonymous struct or
union. This path was missed by the fix in r142890.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142910 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
f11e923433b62efb0fbaeb2573e8457f1c4a1b1e 25-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> Tidy up testcase from r142890, spotted by Chandler.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
97f9fe06e7acd55d7d9075a41e33f54855c75eae 25-Oct-2011 Richard Smith <richard-llvm@metafoo.co.uk> Don't forget the lvalue-to-rvalue conversion on the LHS of an -> when rebuilding
it during template instantiation, for a known RHS decl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142890 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
e5326fa87a5431830cd0df296ad5de1eedf63c59 16-Sep-2011 Eli Friedman <eli.friedman@gmail.com> Remove standard library includes from test; they explode on Windows.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139875 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
74558b4c2f4136b0d89bbaa974df1070593b355a 15-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: changing naming in error messages based on reviewer comments

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139814 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
988b5ae14c2157cef36cc5850b294130846c578e 15-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: test cases originally from gcc annotalysis branch. We are
relicensing them under the license for llvm.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139812 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
df8327c28d293cf7c6952b86dba26863235dcc0f 14-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: reverting to use separate warning for requirement to hold any lock

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139723 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.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/test/SemaCXX/warn-thread-safety-analysis.cpp
a49d1d8a34381802040c3d7fa218e93b457d2b1d 09-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: refactoring test cases

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
8bccabeac6b98650dfd88bd1fc84e841eb42af4b 08-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread Safety: In C++0x Mutexes are the objects that control access to shared variables, while Locks are the objects that acquire and release Mutexes. We switch to this new terminology.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139321 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
af37061fea31f3f1d0638edb5486e8d72c701522 08-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread Safety: adding basic no thread safety analysis option

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139310 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
978191e0906606e32965cebcf81627d8e8711b13 08-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: Adding basic support for locks required and excluded attributes

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139308 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
a53257c94a4d871e64070f72edb687dcfb08c15d 08-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: shared vs. exclusive locks

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139307 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
3bb435809c84153bb41a631030b92039598a330c 08-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread safety: small formatting change in test comments

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139306 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
eff98fc3561f6b717f6348f04b3f4fe03e934466 08-Sep-2011 Caitlin Sadowski <supertri@google.com> Thread Safety: Patch to implement delayed parsing of attributes within a
class scope.

This patch was also written by DeLesley Hutchins.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139301 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
05b436ef550837e2141c55c590fb16010b8658d8 30-Aug-2011 Caitlin Sadowski <supertri@google.com> Thread safety: added basic handling for pt_guarded_by/var and guarded_by/var annotations. We identify situations where we are accessing (reading or writing) guarded variables, and report an error if the appropriate locks are not held.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
b4d0a9678f8c592990593233e64c59247f40a74a 29-Aug-2011 Caitlin Sadowski <supertri@google.com> Thread safety: various minor bugfixes, with test cases

This patch is by DeLesley Hutchins.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138738 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
3ac1fbc303d22af2e11a14023ecee7bd7b7d0bfd 23-Aug-2011 Caitlin Sadowski <supertri@google.com> 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
/external/clang/test/SemaCXX/warn-thread-safety-analysis.cpp