Aaron Ballman
							
						 
						
							 
							
							
							
							
								
							
							
								fcd5b7e76e 
								
							 
						 
						
							
							
								
								Updating a link in the comments; no functional change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 185013 
							
						 
						
							2013-06-26 19:17:19 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								3b2c66bbda 
								
							 
						 
						
							
							
								
								Thread safety analysis: fix use after free bug reported by Evgeniy Stepanov.  
							
							 
							
							... 
							
							
							
							llvm-svn: 182305 
							
						 
						
							2013-05-20 17:57:55 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								b682431775 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 182170 
							
						 
						
							2013-05-17 23:02:59 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								fd374bb3dd 
								
							 
						 
						
							
							
								
								Thread safety analysis: turn on checking within lock and unlock functions.  
							
							 
							
							... 
							
							
							
							These checks are enabled with the -Wthread-safety-beta flag.
llvm-svn: 179046 
							
						 
						
							2013-04-08 20:11:11 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								c105ba19e9 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 178478 
							
						 
						
							2013-04-01 17:47:37 +00:00  
						
					 
				
					
						
							
							
								 
								David Blaikie
							
						 
						
							 
							
							
							
							
								
							
							
								00be69ab5c 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 175938 
							
						 
						
							2013-02-23 00:29:34 +00:00  
						
					 
				
					
						
							
							
								 
								David Blaikie
							
						 
						
							 
							
							
							
							
								
							
							
								2a01f5d426 
								
							 
						 
						
							
							
								
								Replace CFGElement llvm::cast support to be well-defined.  
							
							 
							
							... 
							
							
							
							See r175462 for another example/more details.
llvm-svn: 175796 
							
						 
						
							2013-02-21 20:58:29 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								9fa426a666 
								
							 
						 
						
							
							
								
								Thread-safety analysis: ignore edges from throw expressions in CFG.  
							
							 
							
							... 
							
							
							
							llvm-svn: 172858 
							
						 
						
							2013-01-18 22:15:45 +00:00  
						
					 
				
					
						
							
							
								 
								Dmitri Gribenko
							
						 
						
							 
							
							
							
							
								
							
							
								f857950d39 
								
							 
						 
						
							
							
								
								Remove useless 'llvm::' qualifier from names like StringRef and others that are  
							
							 
							
							... 
							
							
							
							brought into 'clang' namespace by clang/Basic/LLVM.h
llvm-svn: 172323 
							
						 
						
							2013-01-12 19:30:44 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								0cfa1a5a1d 
								
							 
						 
						
							
							
								
								Thread-safety analysis: check member access on guarded non-primitive types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 169669 
							
						 
						
							2012-12-08 03:46:30 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								f489d2b86c 
								
							 
						 
						
							
							
								
								Thread-safety analysis: check locks on method calls, operator=, and  
							
							 
							
							... 
							
							
							
							copy constructors.
llvm-svn: 169350 
							
						 
						
							2012-12-05 01:20:45 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								5df82f2155 
								
							 
						 
						
							
							
								
								Thread Safety Analysis: refactor to make more methods accept const pointers,  
							
							 
							
							... 
							
							
							
							adjust checkAccess.  No change in functionality.
llvm-svn: 169348 
							
						 
						
							2012-12-05 00:52:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chandler Carruth
							
						 
						
							 
							
							
							
							
								
							
							
								3a02247dc9 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 169237 
							
						 
						
							2012-12-04 09:13:33 +00:00  
						
					 
				
					
						
							
							
								 
								Benjamin Kramer
							
						 
						
							 
							
							
							
							
								
							
							
								ea70eb30a0 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 169092 
							
						 
						
							2012-12-01 15:09:41 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								1fe885614d 
								
							 
						 
						
							
							
								
								Thread-safety analysis: allow attributes on constructors to refer to 'this'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 165339 
							
						 
						
							2012-10-05 22:38:19 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								10958cae09 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 164394 
							
						 
						
							2012-09-21 17:57:00 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								fcb0ffa622 
								
							 
						 
						
							
							
								
								Thread-safety analysis: fix bug where shared trylock was treated  
							
							 
							
							... 
							
							
							
							as exclusive.
llvm-svn: 164332 
							
						 
						
							2012-09-20 23:14:43 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								b78aeed26e 
								
							 
						 
						
							
							
								
								Thread safety analysis: properly canonicalize calls to virtual methods within  
							
							 
							
							... 
							
							
							
							lock expressions.
llvm-svn: 164324 
							
						 
						
							2012-09-20 22:18:02 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								132f8f6959 
								
							 
						 
						
							
							
								
								Thread-safety analysis:  Fix warning when EXCLUSIVE_LOCKS_REQUIRED  
							
							 
							
							... 
							
							
							
							is placed on a function that has no path to the exit block.
llvm-svn: 164244 
							
						 
						
							2012-09-19 19:49:40 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								a15e1b4f63 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 164242 
							
						 
						
							2012-09-19 19:18:29 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								138568b60a 
								
							 
						 
						
							
							
								
								Thread-safety analysis: fix bug in expression matching code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 163656 
							
						 
						
							2012-09-11 23:04:49 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								5ff1644e62 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 163537 
							
						 
						
							2012-09-10 19:58:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chad Rosier
							
						 
						
							 
							
							
							
							
								
							
							
								37a8563f36 
								
							 
						 
						
							
							
								
								Ampersand goes with identifier.  
							
							 
							
							... 
							
							
							
							llvm-svn: 163410 
							
						 
						
							2012-09-07 19:49:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chad Rosier
							
						 
						
							 
							
							
							
							
								
							
							
								78af00f675 
								
							 
						 
						
							
							
								
								Bring buildbots back.  Fix scoping issue and coding style from r163397.  
							
							 
							
							... 
							
							
							
							llvm-svn: 163403 
							
						 
						
							2012-09-07 18:44:15 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								a5a00e830a 
								
							 
						 
						
							
							
								
								Thread-safety analysis:  Add support for selectively turning off warnings  
							
							 
							
							... 
							
							
							
							within part of a particular method.
llvm-svn: 163397 
							
						 
						
							2012-09-07 17:34:53 +00:00  
						
					 
				
					
						
							
							
								 
								Roman Divacky
							
						 
						
							 
							
							
							
							
								
							
							
								e637711ae0 
								
							 
						 
						
							
							
								
								Dont cast away const needlessly. Found by gcc48 -Wcast-qual.  
							
							 
							
							... 
							
							
							
							llvm-svn: 163325 
							
						 
						
							2012-09-06 15:59:27 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								93b1b031c1 
								
							 
						 
						
							
							
								
								Thread-safety analysis: bugfix for case where a trylock occurs in an  
							
							 
							
							... 
							
							
							
							expression involving temporaries.
llvm-svn: 163237 
							
						 
						
							2012-09-05 20:01:16 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								f5cf7903d9 
								
							 
						 
						
							
							
								
								Thread-safety analysis: fix handling of LOCK_RETURNED attribute so that the  
							
							 
							
							... 
							
							
							
							latest definition of a function is always used when computing lock expressions.
llvm-svn: 163028 
							
						 
						
							2012-08-31 22:09:53 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								3c3d57bc16 
								
							 
						 
						
							
							
								
								Thread-safety analysis: fix handling of string constants in mutex  
							
							 
							
							... 
							
							
							
							expressions, which should be ignored right now.
llvm-svn: 163026 
							
						 
						
							2012-08-31 21:57:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								78094caa56 
								
							 
						 
						
							
							
								
								Fix an assortment of doxygen comment issues found by -Wdocumentation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 162412 
							
						 
						
							2012-08-22 23:50:41 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								0c90c2bc4b 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 161691 
							
						 
						
							2012-08-10 20:29:46 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								9b1d72f3e3 
								
							 
						 
						
							
							
								
								Thread safety analysis: refactor to support more sophisticated handling  
							
							 
							
							... 
							
							
							
							of expressions, and better error messages.
llvm-svn: 161690 
							
						 
						
							2012-08-10 20:19:55 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								c9776faa4f 
								
							 
						 
						
							
							
								
								Refactor thread safety analysis to use a different data structure  
							
							 
							
							... 
							
							
							
							to track locksets.  This is in preparation for further changes.
llvm-svn: 161680 
							
						 
						
							2012-08-10 18:39:05 +00:00  
						
					 
				
					
						
							
							
								 
								Sylvestre Ledru
							
						 
						
							 
							
							
							
							
								
							
							
								830885ca64 
								
							 
						 
						
							
							
								
								Fix a typo (the the => the)  
							
							 
							
							... 
							
							
							
							llvm-svn: 160622 
							
						 
						
							2012-07-23 08:59:39 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								868830f727 
								
							 
						 
						
							
							
								
								Thread safety analysis: impove handling of trylock expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 160018 
							
						 
						
							2012-07-10 21:47:55 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								09bcefcb6d 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 159780 
							
						 
						
							2012-07-05 21:16:29 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								3a8d6cff14 
								
							 
						 
						
							
							
								
								Thread safety analysis: improve handling of smart pointers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 159679 
							
						 
						
							2012-07-03 19:47:18 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								0c1da20bf8 
								
							 
						 
						
							
							
								
								Thread Safety Analysis: handle expressions involving temporaries,  
							
							 
							
							... 
							
							
							
							e.g. ExprWithCleanups.
llvm-svn: 159674 
							
						 
						
							2012-07-03 18:25:56 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								ab0d4e6cd8 
								
							 
						 
						
							
							
								
								Thread safety analysis:  fixed bug that occurs when very silly people  
							
							 
							
							... 
							
							
							
							use scoped_lockable without putting unlock_function on the
destructor.
llvm-svn: 159609 
							
						 
						
							2012-07-02 22:26:29 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								6e6dbb7618 
								
							 
						 
						
							
							
								
								Thread safety analysis: fixed incorrect error message at the end of a locks_required function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 159607 
							
						 
						
							2012-07-02 22:16:54 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								2a15baf968 
								
							 
						 
						
							
							
								
								Thread safety analysis: don't warn in case of duplicate annotation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 159606 
							
						 
						
							2012-07-02 22:12:12 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								c4a6e51596 
								
							 
						 
						
							
							
								
								Thread Safety Analysis: turn off checking within trylock functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 159601 
							
						 
						
							2012-07-02 21:59:24 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								d162c91b1a 
								
							 
						 
						
							
							
								
								Thread safety analysis:  support release() function on scoped  
							
							 
							
							... 
							
							
							
							lockable objects.
llvm-svn: 159387 
							
						 
						
							2012-06-28 22:42:48 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								49979f2e38 
								
							 
						 
						
							
							
								
								Thread safety analysis:  implement lock_returned attribute.  
							
							 
							
							... 
							
							
							
							llvm-svn: 159152 
							
						 
						
							2012-06-25 18:33:18 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								ebbf77016d 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 159008 
							
						 
						
							2012-06-22 17:07:28 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								8c9d9579c4 
								
							 
						 
						
							
							
								
								Refactor the thread safety analysis so that it is easier to do  
							
							 
							
							... 
							
							
							
							path-sensitive analysis like handling of trylock expressions.
llvm-svn: 155137 
							
						 
						
							2012-04-19 16:48:43 +00:00  
						
					 
				
					
						
							
							
								 
								John McCall
							
						 
						
							 
							
							
							
							
								
							
							
								113bee0536 
								
							 
						 
						
							
							
								
								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.
llvm-svn: 152491 
							
						 
						
							2012-03-10 09:33:50 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								e2a3f75a12 
								
							 
						 
						
							
							
								
								Thread safety analysis: expand set of expressions that can be used to denote locks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 151956 
							
						 
						
							2012-03-02 23:36:05 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								a2587ef26d 
								
							 
						 
						
							
							
								
								Thread safety analysis: handle CFG blocks which call functions marked as noreturn.  
							
							 
							
							... 
							
							
							
							llvm-svn: 151944 
							
						 
						
							2012-03-02 22:02:58 +00:00  
						
					 
				
					
						
							
							
								 
								DeLesley Hutchins
							
						 
						
							 
							
							
							
							
								
							
							
								c2286f6402 
								
							 
						 
						
							
							
								
								Thread-safety analysis: Disable checking inside constructors, destructors, lock, and unlock functions  
							
							 
							
							... 
							
							
							
							llvm-svn: 150701 
							
						 
						
							2012-02-16 17:13:43 +00:00