summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/warn-thread-safety-analysis.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Handle thread safety attributes on functions with separate definitions and ↵DeLesley Hutchins2012-01-201-0/+26
| | | | | | declarations. llvm-svn: 148599
* Delayed template instantiation of late-parsed attributes.DeLesley Hutchins2012-01-201-21/+44
| | | | llvm-svn: 148595
* Instantiate dependent attributes when instantiating templates.DeLesley Hutchins2012-01-201-3/+127
| | | | llvm-svn: 148592
* Thread safety analysis: added support for trylock attribute.DeLesley Hutchins2012-01-061-0/+101
| | | | llvm-svn: 147672
* Support for thread safety attributes on functionsDeLesley Hutchins2011-12-291-0/+22
| | | | llvm-svn: 147331
* Modify how the -verify flag works. Currently, the verification string andRichard Trieu2011-12-151-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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) llvm-svn: 146619
* This patch extends thread safety analysis with support for the ↵DeLesley Hutchins2011-12-081-0/+56
| | | | | | scoped_lockable attribute. llvm-svn: 146174
* UnresolvedMemberExprs need lvalue-to-rvalue conversions during templateRichard Smith2011-10-261-0/+15
| | | | | | instantiations too. llvm-svn: 143016
* Don't forget the lvalue-to-rvalue conversion on the LHS when instantiating aRichard Smith2011-10-251-0/+7
| | | | | | | dependent ->, where the member being referred to is an anonymous struct or union. This path was missed by the fix in r142890. llvm-svn: 142910
* Tidy up testcase from r142890, spotted by Chandler.Richard Smith2011-10-251-5/+1
| | | | llvm-svn: 142895
* Don't forget the lvalue-to-rvalue conversion on the LHS of an -> when rebuildingRichard Smith2011-10-251-0/+21
| | | | | | it during template instantiation, for a known RHS decl. llvm-svn: 142890
* Added support for thread safety attributes on destructors.DeLesley Hutchins2011-10-211-4/+2
| | | | llvm-svn: 142685
* Thread safety analysis refactoring: invalid lock expressions.DeLesley Hutchins2011-10-211-9/+27
| | | | llvm-svn: 142666
* Thread safety analysis: add support for attributes on constructors.DeLesley Hutchins2011-10-211-0/+19
| | | | llvm-svn: 142665
* Substitute for arguments in method calls -- functionalityDeLesley Hutchins2011-10-171-0/+55
| | | | llvm-svn: 142267
* Remove standard library includes from test; they explode on Windows.Eli Friedman2011-09-151-3/+0
| | | | llvm-svn: 139875
* Thread safety: changing naming in error messages based on reviewer commentsCaitlin Sadowski2011-09-151-71/+71
| | | | llvm-svn: 139814
* Thread safety: test cases originally from gcc annotalysis branch. We areCaitlin Sadowski2011-09-151-0/+676
| | | | | | relicensing them under the license for llvm. llvm-svn: 139812
* Thread safety: completeing the implementation of shared/exclusive locks ↵Caitlin Sadowski2011-09-151-0/+10
| | | | | | required attributes llvm-svn: 139804
* Thread safety: refactoring various out of scope warnings to use the same ↵Caitlin Sadowski2011-09-151-17/+19
| | | | | | inteface. This eliminates a lot of unnecessary duplicated code. llvm-svn: 139801
* Thread safety: reverting to use separate warning for requirement to hold any ↵Caitlin Sadowski2011-09-141-8/+8
| | | | | | lock llvm-svn: 139723
* Thread safety: adding test cases for unparseable lock expressions and ↵Caitlin Sadowski2011-09-141-2/+36
| | | | | | expanding the handling of these expressions llvm-svn: 139720
* Thread safety: This patch deals with previously unhandled cases when ↵Caitlin Sadowski2011-09-091-0/+74
| | | | | | building lock expressions. We now resolve this expressions, avoid crashing when encountering cast expressions, and have a diagnostic for unresolved lock expressions llvm-svn: 139370
* Thread safety: refactoring test casesCaitlin Sadowski2011-09-091-9/+9
| | | | llvm-svn: 139368
* Thread Safety: In C++0x Mutexes are the objects that control access to ↵Caitlin Sadowski2011-09-081-55/+55
| | | | | | shared variables, while Locks are the objects that acquire and release Mutexes. We switch to this new terminology. llvm-svn: 139321
* Thread Safety: adding basic no thread safety analysis optionCaitlin Sadowski2011-09-081-0/+10
| | | | llvm-svn: 139310
* Thread safety: Adding basic support for locks required and excluded attributesCaitlin Sadowski2011-09-081-9/+114
| | | | llvm-svn: 139308
* Thread safety: shared vs. exclusive locksCaitlin Sadowski2011-09-081-17/+98
| | | | llvm-svn: 139307
* Thread safety: small formatting change in test commentsCaitlin Sadowski2011-09-081-45/+44
| | | | llvm-svn: 139306
* Thread Safety: Patch to implement delayed parsing of attributes within aCaitlin Sadowski2011-09-081-0/+25
| | | | | | | | class scope. This patch was also written by DeLesley Hutchins. llvm-svn: 139301
* Thread safety: added basic handling for pt_guarded_by/var and guarded_by/var ↵Caitlin Sadowski2011-08-291-1/+113
| | | | | | annotations. We identify situations where we are accessing (reading or writing) guarded variables, and report an error if the appropriate locks are not held. llvm-svn: 138774
* Thread safety: various minor bugfixes, with test casesCaitlin Sadowski2011-08-291-0/+30
| | | | | | This patch is by DeLesley Hutchins. llvm-svn: 138738
* Thread-safety analysis: adding in a basic lockset tracking system. ThisCaitlin Sadowski2011-08-231-0/+267
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. llvm-svn: 138350
OpenPOWER on IntegriCloud