Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Based on usage, the NamedDecl is always set when constructing a ↵ | Aaron Ballman | 2014-03-06 | 1 | -6/+3 | |
| | | | | | | | | CallingContext, but none of the other optional parameters are. Removing the optional parameters, and making the NamedDecl required. No functional changes intended. llvm-svn: 203149 | |||||
* | Refactored to use a simple helper function that wraps the logic of creating ↵ | Aaron Ballman | 2014-03-06 | 1 | -26/+18 | |
| | | | | | | | | an SExprNode and returning the position in which it was inserted. No functional change intended. llvm-svn: 203148 | |||||
* | Very minor simplification and typo correction; no functional changes intended. | Aaron Ballman | 2014-03-06 | 1 | -14/+3 | |
| | | | | llvm-svn: 203144 | |||||
* | DeLesley Hutchins (who wrote the original thread-safety attribute ↵ | Aaron Ballman | 2014-02-18 | 1 | -19/+8 | |
| | | | | | | | | | | | | | | | functionality) and I have agreed to start migrating from lock-specific terminology to "capability"-specific terminology. This opens the door for future threading-related analysis passes so that a common nomenclature can be used. The following attributes have been (silently) deprecated, with their replacements listed: lockable => capability exclusive_locks_required => requires_capability shared_locks_required => requires_shared_capability locks_excluded => requires_capability There are no functional changes intended. llvm-svn: 201585 | |||||
* | Switching getAttrs calls over to using a specific_attr_iterator. No ↵ | Aaron Ballman | 2013-12-19 | 1 | -8/+8 | |
| | | | | | | functional changes intended. llvm-svn: 197681 | |||||
* | Replacing calls to getAttr with calls to hasAttr for clarity. No functional ↵ | Aaron Ballman | 2013-12-19 | 1 | -4/+4 | |
| | | | | | | change intended -- this only replaces Boolean uses of getAttr. llvm-svn: 197648 | |||||
* | Fix a tranche of comment, test and doc typos | Alp Toker | 2013-12-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 196510 | |||||
* | Correct hyphenations in comments and assert messages | Alp Toker | 2013-12-05 | 1 | -1/+1 | |
| | | | | | | | This patch tries to avoid unrelated changes other than fixing a few hyphen-related ambiguities in nearby lines. llvm-svn: 196466 | |||||
* | Thread safety analysis: fix ICE due to missing null check on dyn_cast. | DeLesley Hutchins | 2013-11-26 | 1 | -6/+9 | |
| | | | | llvm-svn: 195777 | |||||
* | Thread-safety analysis: check guarded_by and pt_guarded_by on array access. | DeLesley Hutchins | 2013-11-08 | 1 | -2/+31 | |
| | | | | | | Currently supported only with -Wthread-safety-beta. llvm-svn: 194275 | |||||
* | Thread safety analysis: minor bugfix to smart pointer handling, and expanded | DeLesley Hutchins | 2013-11-06 | 1 | -4/+5 | |
| | | | | | | test case. llvm-svn: 194157 | |||||
* | Thread safety analysis: check pt_guarded_by attribute when calling -> and * | DeLesley Hutchins | 2013-11-05 | 1 | -0/+8 | |
| | | | | | | on smart pointers. -Wthread-safety-beta only. llvm-svn: 194103 | |||||
* | Simplify some implementations of get*Decl. | Rafael Espindola | 2013-10-19 | 1 | -4/+2 | |
| | | | | | | | | | | * 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. llvm-svn: 193039 | |||||
* | Thread Safety Analysis: fix bug when using TryLock with && and || expressions. | DeLesley Hutchins | 2013-08-15 | 1 | -5/+11 | |
| | | | | llvm-svn: 188505 | |||||
* | Thread safety analysis: move warnings within lock/unlock functions out of beta. | DeLesley Hutchins | 2013-08-15 | 1 | -6/+0 | |
| | | | | llvm-svn: 188465 | |||||
* | Updating a link in the comments; no functional change. | Aaron Ballman | 2013-06-26 | 1 | -2/+2 | |
| | | | | llvm-svn: 185013 | |||||
* | Thread safety analysis: fix use after free bug reported by Evgeniy Stepanov. | DeLesley Hutchins | 2013-05-20 | 1 | -7/+21 | |
| | | | | llvm-svn: 182305 | |||||
* | Thread safety analysis: add two new attributes to the thread safety analysis: | DeLesley Hutchins | 2013-05-17 | 1 | -8/+41 | |
| | | | | | | | 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. llvm-svn: 182170 | |||||
* | Thread safety analysis: turn on checking within lock and unlock functions. | DeLesley Hutchins | 2013-04-08 | 1 | -10/+48 | |
| | | | | | | These checks are enabled with the -Wthread-safety-beta flag. llvm-svn: 179046 | |||||
* | Thread safety analysis: Turn on checking for non-scalar types by default. | DeLesley Hutchins | 2013-04-01 | 1 | -49/+43 | |
| | | | | | | | These were previously enabled as a "beta" feature, but they have now been extensively tested. llvm-svn: 178478 | |||||
* | Remove the CFGElement "Invalid" state. | David Blaikie | 2013-02-23 | 1 | -6/+6 | |
| | | | | | | | | | | | | | 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. llvm-svn: 175938 | |||||
* | Replace CFGElement llvm::cast support to be well-defined. | David Blaikie | 2013-02-21 | 1 | -15/+15 | |
| | | | | | | See r175462 for another example/more details. llvm-svn: 175796 | |||||
* | Thread-safety analysis: ignore edges from throw expressions in CFG. | DeLesley Hutchins | 2013-01-18 | 1 | -2/+16 | |
| | | | | llvm-svn: 172858 | |||||
* | Remove useless 'llvm::' qualifier from names like StringRef and others that are | Dmitri Gribenko | 2013-01-12 | 1 | -1/+1 | |
| | | | | | | brought into 'clang' namespace by clang/Basic/LLVM.h llvm-svn: 172323 | |||||
* | Thread-safety analysis: check member access on guarded non-primitive types. | DeLesley Hutchins | 2012-12-08 | 1 | -0/+9 | |
| | | | | llvm-svn: 169669 | |||||
* | Thread-safety analysis: check locks on method calls, operator=, and | DeLesley Hutchins | 2012-12-05 | 1 | -0/+44 | |
| | | | | | | copy constructors. llvm-svn: 169350 | |||||
* | Thread Safety Analysis: refactor to make more methods accept const pointers, | DeLesley Hutchins | 2012-12-05 | 1 | -86/+94 | |
| | | | | | | adjust checkAccess. No change in functionality. llvm-svn: 169348 | |||||
* | Sort all of Clang's files under 'lib', and fix up the broken headers | Chandler Carruth | 2012-12-04 | 1 | -4/+4 | |
| | | | | | | | | | | | | | 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. llvm-svn: 169237 | |||||
* | Pull the Attr iteration parts out of Attr.h, so including DeclBase.h doesn't ↵ | Benjamin Kramer | 2012-12-01 | 1 | -2/+3 | |
| | | | | | | | | | 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. llvm-svn: 169092 | |||||
* | Thread-safety analysis: allow attributes on constructors to refer to 'this'. | DeLesley Hutchins | 2012-10-05 | 1 | -16/+31 | |
| | | | | llvm-svn: 165339 | |||||
* | Thread-safety analysis: better handling of unreachable blocks. Fixes a bug | DeLesley Hutchins | 2012-09-21 | 1 | -17/+20 | |
| | | | | | | | where a call to function marked 'noreturn' is followed by unreachable implicit destructor calls. llvm-svn: 164394 | |||||
* | Thread-safety analysis: fix bug where shared trylock was treated | DeLesley Hutchins | 2012-09-20 | 1 | -1/+1 | |
| | | | | | | as exclusive. llvm-svn: 164332 | |||||
* | Thread safety analysis: properly canonicalize calls to virtual methods within | DeLesley Hutchins | 2012-09-20 | 1 | -4/+16 | |
| | | | | | | lock expressions. llvm-svn: 164324 | |||||
* | Thread-safety analysis: Fix warning when EXCLUSIVE_LOCKS_REQUIRED | DeLesley Hutchins | 2012-09-19 | 1 | -0/+14 | |
| | | | | | | is placed on a function that has no path to the exit block. llvm-svn: 164244 | |||||
* | Thread-safety analysis: fix ICE when EXCLUSIVE_LOCKS_REQUIRED or | DeLesley Hutchins | 2012-09-19 | 1 | -2/+5 | |
| | | | | | | | LOCKS_EXCLUDED is used on a method with a name that is is not a simple identifier. llvm-svn: 164242 | |||||
* | Thread-safety analysis: fix bug in expression matching code. | DeLesley Hutchins | 2012-09-11 | 1 | -2/+3 | |
| | | | | llvm-svn: 163656 | |||||
* | Thread-safety analysis: differentiate between two forms of analysis; a precise | DeLesley Hutchins | 2012-09-10 | 1 | -3/+39 | |
| | | | | | | | | | 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. llvm-svn: 163537 | |||||
* | Ampersand goes with identifier. | Chad Rosier | 2012-09-07 | 1 | -2/+2 | |
| | | | | llvm-svn: 163410 | |||||
* | Bring buildbots back. Fix scoping issue and coding style from r163397. | Chad Rosier | 2012-09-07 | 1 | -6/+8 | |
| | | | | llvm-svn: 163403 | |||||
* | Thread-safety analysis: Add support for selectively turning off warnings | DeLesley Hutchins | 2012-09-07 | 1 | -70/+93 | |
| | | | | | | within part of a particular method. llvm-svn: 163397 | |||||
* | Dont cast away const needlessly. Found by gcc48 -Wcast-qual. | Roman Divacky | 2012-09-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 163325 | |||||
* | Thread-safety analysis: bugfix for case where a trylock occurs in an | DeLesley Hutchins | 2012-09-05 | 1 | -0/+3 | |
| | | | | | | expression involving temporaries. llvm-svn: 163237 | |||||
* | Thread-safety analysis: fix handling of LOCK_RETURNED attribute so that the | DeLesley Hutchins | 2012-08-31 | 1 | -4/+6 | |
| | | | | | | latest definition of a function is always used when computing lock expressions. llvm-svn: 163028 | |||||
* | Thread-safety analysis: fix handling of string constants in mutex | DeLesley Hutchins | 2012-08-31 | 1 | -0/+20 | |
| | | | | | | expressions, which should be ignored right now. llvm-svn: 163026 | |||||
* | Fix an assortment of doxygen comment issues found by -Wdocumentation. | Ted Kremenek | 2012-08-22 | 1 | -19/+19 | |
| | | | | llvm-svn: 162412 | |||||
* | Thread-safety-analysis: adds existential quantification over lock | DeLesley Hutchins | 2012-08-10 | 1 | -14/+61 | |
| | | | | | | | expressions. The syntax &MyClass::mutex is interpreted as a pattern that matches m->mutex for any object m of type MyClass. llvm-svn: 161691 | |||||
* | Thread safety analysis: refactor to support more sophisticated handling | DeLesley Hutchins | 2012-08-10 | 1 | -170/+404 | |
| | | | | | | of expressions, and better error messages. llvm-svn: 161690 | |||||
* | Refactor thread safety analysis to use a different data structure | DeLesley Hutchins | 2012-08-10 | 1 | -117/+213 | |
| | | | | | | to track locksets. This is in preparation for further changes. llvm-svn: 161680 | |||||
* | Fix a typo (the the => the) | Sylvestre Ledru | 2012-07-23 | 1 | -1/+1 | |
| | | | | llvm-svn: 160622 | |||||
* | Thread safety analysis: impove handling of trylock expressions. | DeLesley Hutchins | 2012-07-10 | 1 | -1/+40 | |
| | | | | llvm-svn: 160018 |