Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | ||||
* | Thread-safety analysis: eliminate false positives in case where the definition | DeLesley Hutchins | 2012-07-05 | 1 | -183/+188 |
| | | | | | | | duplicates attributes on the declaration. Also eliminates a false negative in ReleasableMutexLock. Fixing this bug required some refactoring. llvm-svn: 159780 | ||||
* | Thread safety analysis: improve handling of smart pointers. | DeLesley Hutchins | 2012-07-03 | 1 | -0/+19 |
| | | | | llvm-svn: 159679 | ||||
* | Thread Safety Analysis: handle expressions involving temporaries, | DeLesley Hutchins | 2012-07-03 | 1 | -8/+14 |
| | | | | | | e.g. ExprWithCleanups. llvm-svn: 159674 | ||||
* | Thread safety analysis: fixed bug that occurs when very silly people | DeLesley Hutchins | 2012-07-02 | 1 | -14/+33 |
| | | | | | | | use scoped_lockable without putting unlock_function on the destructor. llvm-svn: 159609 | ||||
* | Thread safety analysis: fixed incorrect error message at the end of a ↵ | DeLesley Hutchins | 2012-07-02 | 1 | -6/+15 |
| | | | | | | locks_required function. llvm-svn: 159607 | ||||
* | Thread safety analysis: don't warn in case of duplicate annotation. | DeLesley Hutchins | 2012-07-02 | 1 | -8/+11 |
| | | | | llvm-svn: 159606 | ||||
* | Thread Safety Analysis: turn off checking within trylock functions. | DeLesley Hutchins | 2012-07-02 | 1 | -0/+6 |
| | | | | llvm-svn: 159601 | ||||
* | Thread safety analysis: support release() function on scoped | DeLesley Hutchins | 2012-06-28 | 1 | -20/+44 |
| | | | | | | lockable objects. llvm-svn: 159387 | ||||
* | Thread safety analysis: implement lock_returned attribute. | DeLesley Hutchins | 2012-06-25 | 1 | -46/+88 |
| | | | | llvm-svn: 159152 | ||||
* | Thread safety analysis: fixes a bug in which locksets are not handled | DeLesley Hutchins | 2012-06-22 | 1 | -44/+50 |
| | | | | | | | | 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. llvm-svn: 159008 | ||||
* | Refactor the thread safety analysis so that it is easier to do | DeLesley Hutchins | 2012-04-19 | 1 | -272/+318 |
| | | | | | | path-sensitive analysis like handling of trylock expressions. llvm-svn: 155137 | ||||
* | Remove BlockDeclRefExpr and introduce a bit on DeclRefExpr to | John McCall | 2012-03-10 | 1 | -2/+2 |
| | | | | | | | | track whether the referenced declaration comes from an enclosing local context. I'm amenable to suggestions about the exact meaning of this bit. llvm-svn: 152491 | ||||
* | Thread safety analysis: expand set of expressions that can be used to denote ↵ | DeLesley Hutchins | 2012-03-02 | 1 | -6/+50 |
| | | | | | | locks. llvm-svn: 151956 | ||||
* | Thread safety analysis: handle CFG blocks which call functions marked as ↵ | DeLesley Hutchins | 2012-03-02 | 1 | -0/+4 |
| | | | | | | noreturn. llvm-svn: 151944 | ||||
* | Thread-safety analysis: Disable checking inside constructors, destructors, ↵ | DeLesley Hutchins | 2012-02-16 | 1 | -6/+24 |
| | | | | | | lock, and unlock functions llvm-svn: 150701 | ||||
* | Thread-Safety: added support for 'this' as a lock expression. | DeLesley Hutchins | 2012-02-16 | 1 | -3/+7 |
| | | | | llvm-svn: 150700 | ||||
* | Thread safety analysis: | Richard Smith | 2012-02-03 | 1 | -13/+83 |
| | | | | | | | | | | | | * 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. llvm-svn: 149669 | ||||
* | Thread safety analysis: at a CFG join point between a block terminating in a | Richard Smith | 2012-02-03 | 1 | -0/+39 |
| | | | | | | | 'continue' and another block, prefer the lockset from the other block, and diagnose the 'continue' block as being the end of a loop. llvm-svn: 149666 | ||||
* | Handle thread safety attributes on functions with separate definitions and ↵ | DeLesley Hutchins | 2012-01-20 | 1 | -24/+25 |
| | | | | | | declarations. llvm-svn: 148599 | ||||
* | Thread safety analysis: added support for trylock attribute. | DeLesley Hutchins | 2012-01-06 | 1 | -3/+123 |
| | | | | llvm-svn: 147672 | ||||
* | Added LocalVariableMap | DeLesley Hutchins | 2012-01-06 | 1 | -44/+536 |
| | | | | llvm-svn: 147670 | ||||
* | Support for thread safety attributes on functions | DeLesley Hutchins | 2011-12-29 | 1 | -2/+5 |
| | | | | llvm-svn: 147331 |