Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								8d0b976e7c 
								
							 
						 
						
							
							
								
								Remove code that shouldn't have any effect anymore.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51284 
							
						 
						
							2008-05-20 00:04:21 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								a3a4068949 
								
							 
						 
						
							
							
								
								Implement CodeGen for __builtin_memcpy.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51282 
							
						 
						
							2008-05-19 23:27:48 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ee5794265a 
								
							 
						 
						
							
							
								
								Added Stmt::DestroyChildren, which will be used by the dstors of the subclasses of Stmt to recursively delete their child AST nodes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51278 
							
						 
						
							2008-05-19 22:02:12 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								ca8da1d89d 
								
							 
						 
						
							
							
								
								Make the unused expression warning a bit less aggressive (found in PHP  
							
							 
							
							... 
							
							
							
							code).
llvm-svn: 51276 
							
						 
						
							2008-05-19 21:24:43 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								a68c3006f4 
								
							 
						 
						
							
							
								
								Switch on SemaInit; this makes some code in SemaDecl dead, but I'll give  
							
							 
							
							... 
							
							
							
							it a few days to make sure there aren't any significant regressions.
llvm-svn: 51273 
							
						 
						
							2008-05-19 20:29:35 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								6fcdec280b 
								
							 
						 
						
							
							
								
								Adjust warning so that it doesn't fire when there is an error.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51269 
							
						 
						
							2008-05-19 20:20:43 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								feb4cc1c6a 
								
							 
						 
						
							
							
								
								Add errors for some illegal constructs (specifically, "int a = {{3}};"  
							
							 
							
							... 
							
							
							
							and "int a = {};").  I'll adjust the tests in a bit.
llvm-svn: 51265 
							
						 
						
							2008-05-19 20:12:18 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								5a36d3fffb 
								
							 
						 
						
							
							
								
								Some more SemaInit cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51262 
							
						 
						
							2008-05-19 20:00:43 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								23a9e3176c 
								
							 
						 
						
							
							
								
								Various fixes; solves (almost) all of the test regressions that would be  
							
							 
							
							... 
							
							
							
							caused by enabling SemaInit.
llvm-svn: 51261 
							
						 
						
							2008-05-19 19:16:24 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								f23b6fa41f 
								
							 
						 
						
							
							
								
								Fix the emission of expressions like char a[10] = "asdf"; previously,  
							
							 
							
							... 
							
							
							
							they were causing bad code to be emitted.  There are two fixes here: one 
makes sure we emit a string that is long enough, and one makes sure we 
properly handle string initialization in init lists.
llvm-svn: 51259 
							
						 
						
							2008-05-19 17:51:16 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								8e12298192 
								
							 
						 
						
							
							
								
								Add proper type-checking for pointer additiion; before, we were accepting  
							
							 
							
							... 
							
							
							
							addition with a pointer and an integer even when it didn't make sense.
llvm-svn: 51228 
							
						 
						
							2008-05-18 18:08:51 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								f2442dcc8d 
								
							 
						 
						
							
							
								
								Fix support for _Bool bitfields. The issue is that the bitfield width  
							
							 
							
							... 
							
							
							
							used for _Bool is not the same as the primitive width (which for _Bool 
is 1 bit).  The load and store changes add some casts to make the 
types consistent.  The EmitLValue changes make sure that the pointer is 
of an appropriate type for loading the bitfield.
This isn't perfect, but it's an improvement, and getting everything 
right depends on actually laying out structs in an ABI-compliant way.
llvm-svn: 51224 
							
						 
						
							2008-05-17 20:03:47 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								d727220d1a 
								
							 
						 
						
							
							
								
								Micro-optimization when checking for panic functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51214 
							
						 
						
							2008-05-17 00:42:01 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c8081b4e16 
								
							 
						 
						
							
							
								
								Fix 80 col violation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51213 
							
						 
						
							2008-05-17 00:40:45 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								0e76583574 
								
							 
						 
						
							
							
								
								Added panic function _XCAssertionFailureHandler.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51212 
							
						 
						
							2008-05-17 00:33:23 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								d5a4838e3d 
								
							 
						 
						
							
							
								
								Backout of codegen-based fix to PR2334; this has been fixed differently  
							
							 
							
							... 
							
							
							
							at the Sema layer.
llvm-svn: 51203 
							
						 
						
							2008-05-16 20:38:39 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								928ab4d546 
								
							 
						 
						
							
							
								
								Sema-based fix for PR2334.  The issue is that even if the two sides of  
							
							 
							
							... 
							
							
							
							the condidtional have compatible types, they are not necessarily the 
same type.  Therefore, we cast to the composite type.  As a hack, for 
the moment we assume that the composite type is the type of the 
left-hand expression; this isn't correct, but it's good enough for most 
purposes.
llvm-svn: 51202 
							
						 
						
							2008-05-16 20:37:07 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								9800faa578 
								
							 
						 
						
							
							
								
								Fix some prototypes, and implement some builtins until we have our header files completed.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51199 
							
						 
						
							2008-05-16 18:59:42 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c812b23ce8 
								
							 
						 
						
							
							
								
								Cache leaks by the allocation site, not the leak location.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51198 
							
						 
						
							2008-05-16 18:33:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								590abd363e 
								
							 
						 
						
							
							
								
								Partitioned BugTypeCachedLocation::isCached() into two methods: one that accepts and ExplodedNode, and the other that accepts a ProgramPoint.  The default behavior is to cache bug reports by the  
							
							 
							
							... 
							
							
							
							location they occur (the end node).  Subclasses can override this behavior by providing a different ProgramPoint.
llvm-svn: 51197 
							
						 
						
							2008-05-16 18:33:14 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								823622105e 
								
							 
						 
						
							
							
								
								Review nit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51196 
							
						 
						
							2008-05-16 17:54:49 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								a959a59ac6 
								
							 
						 
						
							
							
								
								Clean up ownership per review comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51195 
							
						 
						
							2008-05-16 17:51:27 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								cb92a3f03b 
								
							 
						 
						
							
							
								
								Patch for PR2334, and a similar ObjC bug.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51193 
							
						 
						
							2008-05-16 17:37:11 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								92137a3d8d 
								
							 
						 
						
							
							
								
								Added CFGBlock::hasBinaryBranchTerminator().  
							
							 
							
							... 
							
							
							
							llvm-svn: 51190 
							
						 
						
							2008-05-16 16:06:00 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								db421caaa3 
								
							 
						 
						
							
							
								
								Minor cleanup to isBuiltinConstantExpr.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51188 
							
						 
						
							2008-05-16 13:28:37 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								dd547b1ce9 
								
							 
						 
						
							
							
								
								Fixed another regression introduced by r51113 caused by some refactoring  
							
							 
							
							... 
							
							
							
							in Sema::CheckFunctionCall:
  http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080512/005706.html 
  
The bug was that the logic from the helper methods used by CheckFunctionCall
were being inverted (a subtle bug).  This would cause the parser to discard
any valid AST nodes involving several builtins (see patch).
This removes the last regression failure I'm seeing in the test suite: Analysis-Apple/NoReturn.
llvm-svn: 51168 
							
						 
						
							2008-05-15 22:24:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								98b730d5bb 
								
							 
						 
						
							
							
								
								Removed bogus "return true" in Expr::isConstantExpr that returned true for all  
							
							 
							
							... 
							
							
							
							expressions. This appears to be a regression introduced in r51113 that caused
many test cases to fail (there is still a test case in the Analysis directory
that is failing):
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080512/005706.html 
llvm-svn: 51164 
							
						 
						
							2008-05-15 21:49:04 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								ad91868aa6 
								
							 
						 
						
							
							
								
								Fix rewriter bug <rdar://problem/5929344> clang ObjC rewriter: "extern int __CFConstantStringClassReference[];" should be extern "C".  
							
							 
							
							... 
							
							
							
							Have clang predefine OBJC_NEW_PROPERTIES (which is what gcc does).
llvm-svn: 51163 
							
						 
						
							2008-05-15 21:12:10 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								212f91107a 
								
							 
						 
						
							
							
								
								Comments fix.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51151 
							
						 
						
							2008-05-15 17:26:35 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								6c59132241 
								
							 
						 
						
							
							
								
								Handle a couple missing builtins that will go away eventually when the various  
							
							 
							
							... 
							
							
							
							intrin.h files are finished
llvm-svn: 51137 
							
						 
						
							2008-05-15 07:38:03 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								f0d0e9e174 
								
							 
						 
						
							
							
								
								Use double-underscores in front of all non-keywords to protect against  
							
							 
							
							... 
							
							
							
							#define pollution.
llvm-svn: 51128 
							
						 
						
							2008-05-14 20:32:22 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								e94e0f66cd 
								
							 
						 
						
							
							
								
								Make header use the new __builtin_shufflevector builtin.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51117 
							
						 
						
							2008-05-14 20:11:29 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								a1b4ed8003 
								
							 
						 
						
							
							
								
								Implementation of __builtin_shufflevector, a portable builtin capable of  
							
							 
							
							... 
							
							
							
							expressing the full flexibility of the LLVM shufflevector instruction.  
The expected immediate usage is in *mmintrin.h, so that they don't 
depend on the mess of gcc-inherited (and not completely implemented)
shuffle builtins.
llvm-svn: 51113 
							
						 
						
							2008-05-14 19:38:39 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								3722daf62d 
								
							 
						 
						
							
							
								
								Change CRLF line endings to LF.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51103 
							
						 
						
							2008-05-14 10:49:47 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								7e452e59e4 
								
							 
						 
						
							
							
								
								An array of VLAs is a VLA.  Shouldn't make any significant difference at  
							
							 
							
							... 
							
							
							
							the moment, but it what you'd expect in the AST from reading the 
standard, and it should make VLA codegen a bit more strightforward.
llvm-svn: 51086 
							
						 
						
							2008-05-14 00:40:18 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								9fd8b68568 
								
							 
						 
						
							
							
								
								Add codegen support for block-level compound literals.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51081 
							
						 
						
							2008-05-13 23:18:27 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								dd7406e65c 
								
							 
						 
						
							
							
								
								Add support for init lists for complex variables.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51080 
							
						 
						
							2008-05-13 23:11:35 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								d386215916 
								
							 
						 
						
							
							
								
								Remove AST dependency on VMCore by switching ExtVectorElementExpr off Constant.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51068 
							
						 
						
							2008-05-13 21:03:02 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								58639e584c 
								
							 
						 
						
							
							
								
								Both operands to && have to be scalars, not just one.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51065 
							
						 
						
							2008-05-13 20:16:47 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								1a5754a26a 
								
							 
						 
						
							
							
								
								Detabify.  
							
							 
							
							... 
							
							
							
							llvm-svn: 51042 
							
						 
						
							2008-05-13 14:40:48 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								a98fe19c7e 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/5924576> clang -fsyntax-only generates "redefinition" errors when parsing AppKit that gcc does not.  
							
							 
							
							... 
							
							
							
							Teach Sema::MergeVarDecl() about __private_extern__.
llvm-svn: 51005 
							
						 
						
							2008-05-12 22:36:43 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								bf1516c618 
								
							 
						 
						
							
							
								
								Fix <rdar://problem/5928590> clang -fsyntax-only: "incompatible operand types ('int' and 'void')" on input that 'gcc -fsyntax-only' eats  
							
							 
							
							... 
							
							
							
							llvm-svn: 51002 
							
						 
						
							2008-05-12 21:44:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								2abde809ce 
								
							 
						 
						
							
							
								
								Unbreak build.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50980 
							
						 
						
							2008-05-12 17:42:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a0055a8ef5 
								
							 
						 
						
							
							
								
								Support StringLiteralVal when comparing LVal types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50979 
							
						 
						
							2008-05-12 17:41:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8322da5fa3 
								
							 
						 
						
							
							
								
								Grammar cleanup in comment.  
							
							 
							
							... 
							
							
							
							Remove redundant assignment.
llvm-svn: 50978 
							
						 
						
							2008-05-12 17:40:56 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								92f78f4c04 
								
							 
						 
						
							
							
								
								When reading in the DeclCtx during deserialization, register the DeclCtx of the  
							
							 
							
							... 
							
							
							
							ScopedDecl with the backpatcher, and *not* a local variable on the stack. The
value of DeclCtx gets filled in *later* by the backpatcher.
This fixes: http://llvm.org/bugs/show_bug.cgi?id=2308 
llvm-svn: 50976 
							
						 
						
							2008-05-12 17:29:34 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								6a7087e455 
								
							 
						 
						
							
							
								
								Emit basic block for switch body; fixes PR2307.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50968 
							
						 
						
							2008-05-12 16:08:04 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								6e31321043 
								
							 
						 
						
							
							
								
								Don't try to take the address of a bitfield; fixes PR2310.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50966 
							
						 
						
							2008-05-12 15:06:05 +00:00  
						
					 
				
					
						
							
							
								 
								Nuno Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								de9746cd45 
								
							 
						 
						
							
							
								
								fix free/delete mismatch problem in add/mergeProperties (found by valgrind)  
							
							 
							
							... 
							
							
							
							llvm-svn: 50945 
							
						 
						
							2008-05-10 10:31:54 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								acdde6f099 
								
							 
						 
						
							
							
								
								Rename IsPointerType to LVal::IsLValType, and update CFRefCount::EvalSummary to use IsLValType when conjuring symbols for return values (this fixes a bug with an assertion firing in the analyzer when two qualified objective-c types were compared).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50924 
							
						 
						
							2008-05-09 23:45:33 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								fa8e15bfa5 
								
							 
						 
						
							
							
								
								-Implement proper name lookup for namespaces.  
							
							 
							
							... 
							
							
							
							-identifierResolver exposes an iterator interface to get all decls through the scope chain.
-The semantic staff (checking IdentifierNamespace and Doug's checking for shadowed tags were moved out of IdentifierResolver and back into Sema. IdentifierResolver just gives an iterator for all reachable decls of an identifier.
llvm-svn: 50923 
							
						 
						
							2008-05-09 23:39:43 +00:00  
						
					 
				
					
						
							
							
								 
								Mon P Wang
							
						 
						
							 
							
							
							
							
								
							
							
								b84407d6ec 
								
							 
						 
						
							
							
								
								Added support to generate some atomic operators (add, sub, and, or etc..)  
							
							 
							
							... 
							
							
							
							llvm-svn: 50919 
							
						 
						
							2008-05-09 22:40:52 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								530c3f9403 
								
							 
						 
						
							
							
								
								DO NOT pre-defined __OBJC2__. The __OBJC2__ macro should only be defined when targeting the new, Apple 2.0 *runtime ABI*. It is not intended to be used to #ifdef ObjC 2.0 langauge features. This is unfortunate (given it's name). In a perfect world, this defined would be named __OBJC2_RUNTIME_ABI__. Oh well.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50913 
							
						 
						
							2008-05-09 20:52:28 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								712c91f8a9 
								
							 
						 
						
							
							
								
								Add attribute "format" support for typedefs of function pointers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50906 
							
						 
						
							2008-05-09 17:36:24 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								1d30431002 
								
							 
						 
						
							
							
								
								Handle all attributes on a parameter  
							
							 
							
							... 
							
							
							
							llvm-svn: 50903 
							
						 
						
							2008-05-09 16:56:01 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								f322eabbce 
								
							 
						 
						
							
							
								
								Extend vector member references to include {.hi, .lo, .e, .o} which return a  
							
							 
							
							... 
							
							
							
							vector of the same element type and half the width, with the high, low, even,
and odd elements respectively.
Allow member references to member references, so that .hi.hi gives you the high
quarter of a vector.  This is fairly convenient syntax for some insert/extract
operations.
Remove some unnecessary methods/types in the ExtVectorElementExpr class.
llvm-svn: 50892 
							
						 
						
							2008-05-09 06:41:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ba7a6c14ed 
								
							 
						 
						
							
							
								
								set long/pointers to 64-bits on ppc64/x86-64  
							
							 
							
							... 
							
							
							
							llvm-svn: 50891 
							
						 
						
							2008-05-09 06:17:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5e2ef0c18a 
								
							 
						 
						
							
							
								
								parameterize pointer size/align better without doing virtual method calls in normal case.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50890 
							
						 
						
							2008-05-09 06:08:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								55258cf278 
								
							 
						 
						
							
							
								
								simplify some code, don't assume that sizeof(long) < sizeof(long long).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50888 
							
						 
						
							2008-05-09 05:59:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5a9aaaf687 
								
							 
						 
						
							
							
								
								parameterize long long.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50887 
							
						 
						
							2008-05-09 05:50:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5dc7ff1cf3 
								
							 
						 
						
							
							
								
								correctly parameterize long, patch by Nate.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50886 
							
						 
						
							2008-05-09 05:47:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								adb86418db 
								
							 
						 
						
							
							
								
								Fix rdar://5921025 a crash on the included testcase.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50885 
							
						 
						
							2008-05-09 05:34:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2fdcddd78d 
								
							 
						 
						
							
							
								
								Don't call into objc front-end when not parsing objc code.  This avoids  
							
							 
							
							... 
							
							
							
							crashes because objc types aren't set up right.
llvm-svn: 50884 
							
						 
						
							2008-05-09 05:28:21 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								0ae11a6f2e 
								
							 
						 
						
							
							
								
								Added initial support for supporting __NSString__ in attribute "format".  
							
							 
							
							... 
							
							
							
							Still need to iron out some of the semantics (fixmes are present).
This addresses <rdar://problem/5916348>
llvm-svn: 50866 
							
						 
						
							2008-05-08 19:43:35 +00:00  
						
					 
				
					
						
							
							
								 
								Sanjiv Gupta
							
						 
						
							 
							
							
							
							
								
							
							
								15cb669039 
								
							 
						 
						
							
							
								
								Added -g command line options to clang for generating source level debug information. This patch currently enables generation of line number debug information (stoppoints) and region begin/end debug information. The new files CGDebugInfo.h and CGDebugInfo.cpp implements the debug info manager class CGDebugInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50848 
							
						 
						
							2008-05-08 08:54:20 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b781dc79aa 
								
							 
						 
						
							
							
								
								Add basic support for the pic-* target triples and add support for  
							
							 
							
							... 
							
							
							
							targets that do not support recursion (and thus codegen stack variables
as globals).
Patch contributed by Alireza Moshtaghi!
llvm-svn: 50844 
							
						 
						
							2008-05-08 05:58:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d330036c06 
								
							 
						 
						
							
							
								
								The awesome GNU "comma elision extension" works with both the standard  
							
							 
							
							... 
							
							
							
							__VA_ARGS__ syntax as well as with the amazingly awesome GNU "named 
variadic macro" extension.  Allow it with the GNU syntax as well.
llvm-svn: 50843 
							
						 
						
							2008-05-08 05:10:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2b88c1e4c4 
								
							 
						 
						
							
							
								
								Fix rdar://5919567: assertion failure: split didn't occur before erase!  
							
							 
							
							... 
							
							
							
							llvm-svn: 50839 
							
						 
						
							2008-05-08 03:23:46 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								ac25fc6f2e 
								
							 
						 
						
							
							
								
								Begin handling union bitfields.  
							
							 
							
							... 
							
							
							
							Note, this is just beginning.
llvm-svn: 50835 
							
						 
						
							2008-05-07 22:28:29 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								bcdb46830b 
								
							 
						 
						
							
							
								
								Added support for "drain".  
							
							 
							
							... 
							
							
							
							llvm-svn: 50831 
							
						 
						
							2008-05-07 21:17:39 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								8983f17ba0 
								
							 
						 
						
							
							
								
								Synthesized getter/setter method declarations need not have  
							
							 
							
							... 
							
							
							
							an implementation. This fixes couple of failing prperty tests
caused by my previous patch.
llvm-svn: 50830 
							
						 
						
							2008-05-07 20:53:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f958ec50c0 
								
							 
						 
						
							
							
								
								Expand the CF retain checker to allow the Create/Get rule to apply to any  
							
							 
							
							... 
							
							
							
							function that returns a CFxxxRef, not just functions whose name begins with
CF.  This implements <rdar://problem/5917879>.
Added test case for this feature.
Updated calls to CStrInCStrNoCase to swap their arguments, per compatibility
with strcasestr.
llvm-svn: 50829 
							
						 
						
							2008-05-07 20:06:41 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								fcf060fd2f 
								
							 
						 
						
							
							
								
								Flip order of arguments to CStrInStrNoCase.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50824 
							
						 
						
							2008-05-07 18:57:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b6cbf28d82 
								
							 
						 
						
							
							
								
								Use llvm::CStrInCStrNoCase instead of strcasestr, since the latter is not portable.  
							
							 
							
							... 
							
							
							
							Correctly check if the result of CStrInCStrNoCase is NULL to generate summaries; before we were inverting the condition.
llvm-svn: 50822 
							
						 
						
							2008-05-07 18:36:45 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								ec6e4c8096 
								
							 
						 
						
							
							
								
								This patch introduces declaration of getter methods for ObjC2's  
							
							 
							
							... 
							
							
							
							properties. Couple of property tests will fail with this patch.
Will fix them next.
llvm-svn: 50818 
							
						 
						
							2008-05-07 17:43:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								89bd0fc27d 
								
							 
						 
						
							
							
								
								copy-paste: NS types are not typedefs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50817 
							
						 
						
							2008-05-07 17:35:41 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								456c0f6738 
								
							 
						 
						
							
							
								
								Fixup InitListExpr::child_begin/end. Thanks to Ted for catching the regression.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50816 
							
						 
						
							2008-05-07 17:35:03 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								6eda39c345 
								
							 
						 
						
							
							
								
								Fix off-by-one error.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50815 
							
						 
						
							2008-05-07 16:50:14 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7bf9dc773c 
								
							 
						 
						
							
							
								
								Do not treat **instance** methods "copyWithZone:" and "mutableCopyWithZone:" from NSObject as allocators.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50802 
							
						 
						
							2008-05-07 05:34:45 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								caa8acebe7 
								
							 
						 
						
							
							
								
								Diagnose attempts to use C++ default arguments outside of a function declaration  
							
							 
							
							... 
							
							
							
							llvm-svn: 50799 
							
						 
						
							2008-05-07 04:49:29 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								9930bd8c4f 
								
							 
						 
						
							
							
								
								Be less promiscuous with generating summaries for "new", "copy", "create".  
							
							 
							
							... 
							
							
							
							llvm-svn: 50798 
							
						 
						
							2008-05-07 04:25:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								08eb30f193 
								
							 
						 
						
							
							
								
								Added auto-summary generation for createXXX, copyXXX, newXXX methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50795 
							
						 
						
							2008-05-07 03:45:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								aec1811c6c 
								
							 
						 
						
							
							
								
								Don't report leaks for autoreleased objects.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50777 
							
						 
						
							2008-05-06 23:07:13 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								767d0742c7 
								
							 
						 
						
							
							
								
								More comments.  
							
							 
							
							... 
							
							
							
							"#if 0" out some assumptions when auto-generating method summaries.
llvm-svn: 50772 
							
						 
						
							2008-05-06 21:26:51 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								243d5cd283 
								
							 
						 
						
							
							
								
								Fix PR2101 - Codegen crash during bitfield initialization.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50769 
							
						 
						
							2008-05-06 19:57:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								10427bdbb9 
								
							 
						 
						
							
							
								
								Experiment with not converting bug names to lower case.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50753 
							
						 
						
							2008-05-06 18:11:36 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8bcc1bd3d5 
								
							 
						 
						
							
							
								
								More refactorings in GeneratePathDiagnostic: use ExecutionContinues to display  
							
							 
							
							... 
							
							
							
							"Execution continues..." message, which does a better job at handling corner cases.
llvm-svn: 50751 
							
						 
						
							2008-05-06 18:11:09 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								09367d68ff 
								
							 
						 
						
							
							
								
								Patch to refactor setter/getter names of property attributes into Selector  
							
							 
							
							... 
							
							
							
							(was IdentifierInfo * before). This will make method declartations whole
lot easier.
llvm-svn: 50747 
							
						 
						
							2008-05-06 18:09:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								cb2e636606 
								
							 
						 
						
							
							
								
								Generate "stop" summaries for selectors involving receivers whose type is not NSxxxx.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50721 
							
						 
						
							2008-05-06 15:44:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								68f463b88e 
								
							 
						 
						
							
							
								
								Use strncmp correctly.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50715 
							
						 
						
							2008-05-06 06:17:42 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5f478e9a0a 
								
							 
						 
						
							
							
								
								Make string comparison legible and remove buffer overrun introduced by typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50714 
							
						 
						
							2008-05-06 06:09:09 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								2f08fedec1 
								
							 
						 
						
							
							
								
								String comparison cleanups.  
							
							 
							
							... 
							
							
							
							Added test case.
llvm-svn: 50711 
							
						 
						
							2008-05-06 04:28:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								041d02201f 
								
							 
						 
						
							
							
								
								Fix logic error in string processing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50710 
							
						 
						
							2008-05-06 04:21:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c9f4948bba 
								
							 
						 
						
							
							
								
								Remove assertion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50709 
							
						 
						
							2008-05-06 04:21:10 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								015c3561ad 
								
							 
						 
						
							
							
								
								Use EvalSummary to process message expressions, thereby unifying the checker  
							
							 
							
							... 
							
							
							
							logic for function calls and message expressions.
Use the following heuristic to infer "allocating" instance methods:
  [ClassName classWithXXX]  allocates an object
  
Update testcase to reflect this heuristic.
llvm-svn: 50708 
							
						 
						
							2008-05-06 04:20:12 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								821537ecdb 
								
							 
						 
						
							
							
								
								Added receiver effects to EvalSummary.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50700 
							
						 
						
							2008-05-06 02:41:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b0862dca6c 
								
							 
						 
						
							
							
								
								Expand summaries to include "Receiver" effects.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50697 
							
						 
						
							2008-05-06 02:26:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dbcc2ca6b2 
								
							 
						 
						
							
							
								
								simplify some builder calls.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50694 
							
						 
						
							2008-05-06 00:56:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								222c6123df 
								
							 
						 
						
							
							
								
								remove a stray printout  
							
							 
							
							... 
							
							
							
							llvm-svn: 50691 
							
						 
						
							2008-05-06 00:44:00 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								be7c56ed78 
								
							 
						 
						
							
							
								
								Added initialization code to generate initial set of ObjC method summaries (non-instance methods).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50690 
							
						 
						
							2008-05-06 00:38:54 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								0806f910d4 
								
							 
						 
						
							
							
								
								Added code to generate initial set of summaries for instance methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50689 
							
						 
						
							2008-05-06 00:30:21 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								125d73dc84 
								
							 
						 
						
							
							
								
								Several fixes to SemaInit.cpp. It's still not enabled (since it fails a few tests). Expect to enable it very soon.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50688 
							
						 
						
							2008-05-06 00:23:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3d1e972275 
								
							 
						 
						
							
							
								
								Add summary generation for "initXXX" methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50684 
							
						 
						
							2008-05-05 23:55:01 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								046845e842 
								
							 
						 
						
							
							
								
								Make CF retain diagnostics more succinct.  
							
							 
							
							... 
							
							
							
							In a leak's "name", indicate GC or non-GC bugs.
llvm-svn: 50680 
							
						 
						
							2008-05-05 23:16:31 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f15cd14a3d 
								
							 
						 
						
							
							
								
								Emit dead store warnings for ++ and -- operators.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50679 
							
						 
						
							2008-05-05 23:12:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4dd2710222 
								
							 
						 
						
							
							
								
								Fix rdar://5905347 a crash on invalid builtin, due to the  
							
							 
							
							... 
							
							
							
							params not getting installed for builtins when synthesized.
llvm-svn: 50676 
							
						 
						
							2008-05-05 22:18:14 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								00daccdd2a 
								
							 
						 
						
							
							
								
								Initial work on refactoring the CFRefCount checker so that it is more  
							
							 
							
							... 
							
							
							
							generic and handles reference counts for NSObjects.
llvm-svn: 50674 
							
						 
						
							2008-05-05 22:11:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								00e2607de2 
								
							 
						 
						
							
							
								
								Add support for -Wimplicit-function-declaration, rdar://5907433  
							
							 
							
							... 
							
							
							
							llvm-svn: 50672 
							
						 
						
							2008-05-05 21:18:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca2b318233 
								
							 
						 
						
							
							
								
								Fix typo, improve comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50666 
							
						 
						
							2008-05-05 20:09:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								db65ff7223 
								
							 
						 
						
							
							
								
								Fix a few more bugs in preprocessor expressions w.r.t. ?:.  Now I  
							
							 
							
							... 
							
							
							
							think it is really right. :)  This fixes PR2284.
llvm-svn: 50665 
							
						 
						
							2008-05-05 20:07:41 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								8d91686b0d 
								
							 
						 
						
							
							
								
								percolate @optional/@required protocols down to ASTs for  
							
							 
							
							... 
							
							
							
							properties declared in the protocol.
llvm-svn: 50662 
							
						 
						
							2008-05-05 18:51:55 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								627c3074dd 
								
							 
						 
						
							
							
								
								Improve leak diagnostics to not report a leak on the same line where  
							
							 
							
							... 
							
							
							
							the object was last used.  This can be confusing to users.
For example:
 // 'y' is leaked
x = foo(y);
instead:
x = foo(y);
  // 'y' is leaked
llvm-svn: 50661 
							
						 
						
							2008-05-05 18:50:19 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3917b82e85 
								
							 
						 
						
							
							
								
								Improved leak diagnostics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50657 
							
						 
						
							2008-05-05 17:53:17 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								875db81301 
								
							 
						 
						
							
							
								
								Minor refactorings/cleanups in CF retain checker and added support for NSMakeCollectable.  
							
							 
							
							... 
							
							
							
							Added test case for NSMakeCollectable.
llvm-svn: 50653 
							
						 
						
							2008-05-05 16:51:50 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								db04a9e967 
								
							 
						 
						
							
							
								
								When reporting branch conditions that evaluate to an uninitialized value,  
							
							 
							
							... 
							
							
							
							highlight the most nested subexpression that appears most responsible (giving
the user better diagnostic feedback).
Updated test cases to illustrate this feature.
Implements: <rdar://problem/5880443>
llvm-svn: 50647 
							
						 
						
							2008-05-05 15:56:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3565c8e343 
								
							 
						 
						
							
							
								
								Neil pointed out that clang doesn't generate ranges from diagnostics  
							
							 
							
							... 
							
							
							
							related to pp-expressions.  Doing so is pretty simple and this
patch implements it, yielding nice diagnostics like:
t.c:2:7: error: division by zero in preprocessor expression
#if 1 / (0 + 0)
    ~ ^ ~~~~~~~
t.c:5:14: error: expected ')' in preprocessor expression
#if (412 + 42
     ~~~~~~~~^
t.c:5:5: error: to match this '('
#if (412 + 42
    ^
t.c:10:10: warning: left side of operator converted from negative value to unsigned: -42 to 18446744073709551574
#if (-42 + 0U) / -2
     ~~~ ^ ~~
t.c:10:16: warning: right side of operator converted from negative value to unsigned: -2 to 18446744073709551614
#if (-42 + 0U) / -2
    ~~~~~~~~~~ ^ ~~
5 diagnostics generated.
llvm-svn: 50638 
							
						 
						
							2008-05-05 06:45:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3c57f7ebab 
								
							 
						 
						
							
							
								
								fix a bug handling right associative operators that Neil noticed, hopefully  
							
							 
							
							... 
							
							
							
							the final part of PR2279
llvm-svn: 50635 
							
						 
						
							2008-05-05 04:10:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca671b0e51 
								
							 
						 
						
							
							
								
								||/&& do not do UAC's either.  This silences a bogus warning on #if -1 || 4U.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50632 
							
						 
						
							2008-05-04 23:46:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4af72c76dd 
								
							 
						 
						
							
							
								
								Neil points out that commas don't do UACs either.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50631 
							
						 
						
							2008-05-04 23:38:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d89e458ce0 
								
							 
						 
						
							
							
								
								Fix the rest of PR2279:  
							
							 
							
							... 
							
							
							
							a) correct rejection of ',' in pp expressions.
b) the precedence of ',' was wrong w.r.t. ?:.
Thanks again to Neil for finding these and providing testcases.
llvm-svn: 50625 
							
						 
						
							2008-05-04 18:36:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a08f869c22 
								
							 
						 
						
							
							
								
								Fix PR2279 part C: shifts don't perform the UACs, thanks to Neil  
							
							 
							
							... 
							
							
							
							for pointing this out.
llvm-svn: 50624 
							
						 
						
							2008-05-04 18:25:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1e151816b2 
								
							 
						 
						
							
							
								
								use simplified API for making fp constants.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50623 
							
						 
						
							2008-05-04 18:23:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0a9718eab0 
								
							 
						 
						
							
							
								
								fix a nasty bug that Neil identifier in pp-expr parsing (this is PR2279 part D).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50617 
							
						 
						
							2008-05-04 07:15:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7b9293ba20 
								
							 
						 
						
							
							
								
								Simplify FunctionDecl::AddRedeclaration a bit by using std::swap.  
							
							 
							
							... 
							
							
							
							Fix 'swapping' of attributes to not insert null values into the 
DeclAttrs map.
llvm-svn: 50612 
							
						 
						
							2008-05-04 02:29:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bc22b5b327 
								
							 
						 
						
							
							
								
								if a decl is both 'static' and weak or static and inline, its linkage  
							
							 
							
							... 
							
							
							
							type should be internal, not weak/linkonce.
llvm-svn: 50611 
							
						 
						
							2008-05-04 01:44:26 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a5e2df015a 
								
							 
						 
						
							
							
								
								Rename member variable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50597 
							
						 
						
							2008-05-02 23:21:21 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								983be7cee6 
								
							 
						 
						
							
							
								
								Improved diagnostics for leaks: now we report which variable was leaked.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50588 
							
						 
						
							2008-05-02 20:53:50 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								98a6c4fa77 
								
							 
						 
						
							
							
								
								This patch is about merging ObjC2's properties declared in class  
							
							 
							
							... 
							
							
							
							protocols into class's property list and performing semantics
on them for while doing so.
llvm-svn: 50587 
							
						 
						
							2008-05-02 19:17:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3b33e2544a 
								
							 
						 
						
							
							
								
								Fixed bug in ObjCIVarExpr: the child iterator now iterates over the Base expression.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50585 
							
						 
						
							2008-05-02 18:40:22 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								789942cfda 
								
							 
						 
						
							
							
								
								When running the reference count checker twice (GC and non-GC mode), only emit  
							
							 
							
							... 
							
							
							
							basic warnings (dead stores, null dereferences) on the first pass.
llvm-svn: 50584 
							
						 
						
							2008-05-02 18:01:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a06e7120bb 
								
							 
						 
						
							
							
								
								Bug fix in StmtPrinter to handle pretty-printing ObjCMessageExprs involving variadic methods (also did some cosmetic cleanups in the printing output).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50583 
							
						 
						
							2008-05-02 17:32:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								bb7386aff5 
								
							 
						 
						
							
							
								
								Really noreturn on exceptions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50579 
							
						 
						
							2008-05-02 17:12:56 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								63d76df236 
								
							 
						 
						
							
							
								
								Fix copy-paste bug.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50557 
							
						 
						
							2008-05-01 23:38:35 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								2722f36465 
								
							 
						 
						
							
							
								
								Remove no longer valid assertion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50556 
							
						 
						
							2008-05-01 23:28:56 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								1097b4c61f 
								
							 
						 
						
							
							
								
								Added line number diagnostics to indicate the allocation site of the leaked object.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50553 
							
						 
						
							2008-05-01 23:13:35 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								fabfb4677d 
								
							 
						 
						
							
							
								
								Do not highlight bogus ranges for leaks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50549 
							
						 
						
							2008-05-01 22:50:36 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								f8ecff2a94 
								
							 
						 
						
							
							
								
								Replace Sema::CheckInitializerListTypes() with a helper class (InitListChecker) that synthesizes implicit InitListExpr's when appropriate (see InitListExpr comments in Expr.h for more details). I also moved the code to SemaInit.cpp, to help reduce clutter in SemaDecl.cpp.  
							
							 
							
							... 
							
							
							
							NOTE: This work is incomplete and still fails many tests (as a result, it isn't enabled yet). Nevertheless, I wanted to check it in so I can work on it from home.
llvm-svn: 50544 
							
						 
						
							2008-05-01 22:18:59 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								2be96ae68b 
								
							 
						 
						
							
							
								
								Convert CRLF to LF.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50542 
							
						 
						
							2008-05-01 21:44:34 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8a56b06b5c 
								
							 
						 
						
							
							
								
								Correctly invalidate reference count state when passing objects by reference in message expressions we don't understand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50541 
							
						 
						
							2008-05-01 21:31:50 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								694dda1e4e 
								
							 
						 
						
							
							
								
								Implicitly defined functions were getting the DeclContext of the function where they appeared, causing the bug:  http://llvm.org/bugs/show_bug.cgi?id=2266 .  
							
							 
							
							... 
							
							
							
							Fix it by making implicitly defined functions get the DeclContext of translation unit.
llvm-svn: 50538 
							
						 
						
							2008-05-01 21:04:16 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7f824734e0 
								
							 
						 
						
							
							
								
								Added temporary fix for Obj-C exception handling in the static analyzer: treat these as panic functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50535 
							
						 
						
							2008-05-01 18:33:28 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f0b0f2edfe 
								
							 
						 
						
							
							
								
								Renamed static method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50533 
							
						 
						
							2008-05-01 18:31:44 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								f303bdabdf 
								
							 
						 
						
							
							
								
								Patch to match and issue diagnostics on property type mismatch.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50532 
							
						 
						
							2008-05-01 18:05:01 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b99d01269a 
								
							 
						 
						
							
							
								
								Added __assert_rtn to list of panic functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50530 
							
						 
						
							2008-05-01 17:52:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b8861a6ccf 
								
							 
						 
						
							
							
								
								Use pointer swizziling to unify in ObjCMessageExpr the receiver and classname "fields".  This saves us a pointer.  
							
							 
							
							... 
							
							
							
							Implemented serialization for ObjCMessageExpr.
llvm-svn: 50528 
							
						 
						
							2008-05-01 17:26:20 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ed36e4b9a4 
								
							 
						 
						
							
							
								
								Added ziperr as a panic function.  Eventually inter-procedural analysis  
							
							 
							
							... 
							
							
							
							should catch this one easily.
llvm-svn: 50526 
							
						 
						
							2008-05-01 15:55:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								9f696852c4 
								
							 
						 
						
							
							
								
								When processing "release", "retain", and "autorelease" messages return the  
							
							 
							
							... 
							
							
							
							lval passed as an argument.
Fix: Inverted diagnostic messages.
llvm-svn: 50513 
							
						 
						
							2008-05-01 04:02:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4828aa3152 
								
							 
						 
						
							
							
								
								Added support for "autorelease" message in CF ref. count checker.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50512 
							
						 
						
							2008-05-01 02:18:37 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								20348b5653 
								
							 
						 
						
							
							
								
								Extend InitListExpr API/IMPL to support arbitrary add/remove (in support of the initializer rewrite I am doing).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50511 
							
						 
						
							2008-05-01 02:04:18 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7cf18862c2 
								
							 
						 
						
							
							
								
								More ObjC2 property semantics work. Work in progress.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50508 
							
						 
						
							2008-05-01 00:03:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b0f87c48cb 
								
							 
						 
						
							
							
								
								added preliminary diagnostics in scan-build results to denote whether  
							
							 
							
							... 
							
							
							
							a CF memory leak occurred with GC enabled, etc.
llvm-svn: 50507 
							
						 
						
							2008-04-30 23:47:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f20e2285c9 
								
							 
						 
						
							
							
								
								More cleanups with ObjCQualifiedIdType in the static analyzer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50503 
							
						 
						
							2008-04-30 22:48:21 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a16dacb6aa 
								
							 
						 
						
							
							
								
								Add placeholder code in the static analyzer for MemberExprs involving struct temporaries.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50502 
							
						 
						
							2008-04-30 22:17:15 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ca67cab1e8 
								
							 
						 
						
							
							
								
								Add workaround for __builtin_offsetof in the static analyzer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50500 
							
						 
						
							2008-04-30 21:45:55 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								99057462aa 
								
							 
						 
						
							
							
								
								Provide SizeOfAlignTypeExpr workaround in the static analyzer for taking the sizeof of a ObjCInterfaceType.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50499 
							
						 
						
							2008-04-30 21:31:12 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								e0e8b535cf 
								
							 
						 
						
							
							
								
								Support implicit casts from pointers to references.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50498 
							
						 
						
							2008-04-30 21:10:19 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								84dea154fc 
								
							 
						 
						
							
							
								
								When creating LVals for array entries, canonicalize entries with a 0 index.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50497 
							
						 
						
							2008-04-30 21:05:35 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								20d8006e93 
								
							 
						 
						
							
							
								
								Teach more of the static analyzer about ObjCQualifiedIdType.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50494 
							
						 
						
							2008-04-30 20:17:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								0940b99e3b 
								
							 
						 
						
							
							
								
								Teach the static analysis engine about ObjCQualifiedIdType.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50493 
							
						 
						
							2008-04-30 20:01:29 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5ce35cc514 
								
							 
						 
						
							
							
								
								Add conjured symbols for decl initializations.  
							
							 
							
							... 
							
							
							
							Add db_error as panic function.
llvm-svn: 50489 
							
						 
						
							2008-04-30 17:54:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								39a736f723 
								
							 
						 
						
							
							
								
								Handle lval::ArrayOffset and lval::FieldOffset in EvalNE and EvalEQ.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50486 
							
						 
						
							2008-04-30 16:07:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dd477ce32b 
								
							 
						 
						
							
							
								
								Verify the whole module after codegen to catch silly IR bugs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50485 
							
						 
						
							2008-04-30 16:05:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e16406d2b1 
								
							 
						 
						
							
							
								
								fix 'var unused' warning.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50484 
							
						 
						
							2008-04-30 16:04:01 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5cc9e60a5f 
								
							 
						 
						
							
							
								
								Invalidate old subexpression bindings when binding UnknownVal.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50466 
							
						 
						
							2008-04-30 04:23:07 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								9700bd42f0 
								
							 
						 
						
							
							
								
								Simplify RemoveDeadBindings.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50458 
							
						 
						
							2008-04-29 23:58:03 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								10246e8bfa 
								
							 
						 
						
							
							
								
								Add lval::ArrayOffset, which represent the locations of entries in an array.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50453 
							
						 
						
							2008-04-29 23:24:44 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								2dfcec129f 
								
							 
						 
						
							
							
								
								Default visbility for instance variables is protected.  
							
							 
							
							... 
							
							
							
							Patch by Emerson Murhpy-Hill.
llvm-svn: 50452 
							
						 
						
							2008-04-29 23:03:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								0d2ccffa83 
								
							 
						 
						
							
							
								
								Added lval::FieldOffset, which represents symbolic lvalues for field offsets from other Lvalues.  
							
							 
							
							... 
							
							
							
							This removes the failure in null-deref-ps.c (test suite).
llvm-svn: 50449 
							
						 
						
							2008-04-29 22:17:41 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								fa5a3d0fe7 
								
							 
						 
						
							
							
								
								Major rewrite/refactoring of static analysis engine. We now use  
							
							 
							
							... 
							
							
							
							EvalStore/EvalLoad to handle all loads/stores from symbolic memory, allowing us
to do checks for null dereferences, etc., at any arbitrary load/store (these
were missed checks before). This also resulted in some major cleanups, some
conceptual, and others just in the structure of the code.
This temporarily introduces a regression in the test suite (null-deref-ps.c)
before I add a new LVal type for structure fields.
llvm-svn: 50443 
							
						 
						
							2008-04-29 21:04:26 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a374ea9a35 
								
							 
						 
						
							
							
								
								Update typestate logic to support GC-mode.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50396 
							
						 
						
							2008-04-29 05:44:10 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4b7ca776cf 
								
							 
						 
						
							
							
								
								Implement semantics of CFMakeCollectable for the CF-reference count checker.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50395 
							
						 
						
							2008-04-29 05:33:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4d1f422c6f 
								
							 
						 
						
							
							
								
								Provide the option to run the CF-retain checker in GC enabled mode.  
							
							 
							
							... 
							
							
							
							The transfer functions for the checker don't do anything special yet in GC mode.
llvm-svn: 50394 
							
						 
						
							2008-04-29 05:13:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								d796c18d7b 
								
							 
						 
						
							
							
								
								Add -fobjc-gc and -fobjc-gc-only options to the driver.  
							
							 
							
							... 
							
							
							
							Add corresponding enum in LangOptions.
llvm-svn: 50387 
							
						 
						
							2008-04-29 04:37:03 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								6065ef6b9b 
								
							 
						 
						
							
							
								
								Bug fix in CFG::getBlockEdgeImpl(): Use a BumpPtrAllocator to allocate  
							
							 
							
							... 
							
							
							
							std::pair<CFGBlock*, CFGBlock*> that have an 8-byte alignment for use with
ProgramPoint. This fixes a bug reported by Argiris where using std::set<> on
Windows would result in a 4-byte alignment, not an 8-byte alignment.
Fixes: <rdar://problem/5892265>
llvm-svn: 50364 
							
						 
						
							2008-04-28 18:00:46 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								8eab584388 
								
							 
						 
						
							
							
								
								Call ExitScope before ActOnFinishNamespaceDef.  
							
							 
							
							... 
							
							
							
							This is the same for functions and it's preferable to have the namespace as DeclContext during ActOnPopScope.
llvm-svn: 50322 
							
						 
						
							2008-04-27 14:10:57 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								081148986a 
								
							 
						 
						
							
							
								
								Parsing of namespaces:  
							
							 
							
							... 
							
							
							
							-NamespaceDecl for the AST
-Checks for name clashes between namespaces and tag/normal declarations.
This commit doesn't implement proper name lookup for namespaces.
llvm-svn: 50321 
							
						 
						
							2008-04-27 13:50:30 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								ed1eec4812 
								
							 
						 
						
							
							
								
								Use PushOnScopeChains to introduce a decl into scope.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50320 
							
						 
						
							2008-04-27 13:30:35 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								fa2d2f2886 
								
							 
						 
						
							
							
								
								Make assertions for all addresses passed to ProgramPoint that they have at least an 8-byte alignment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50310 
							
						 
						
							2008-04-26 15:19:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								dd38e0bd0d 
								
							 
						 
						
							
							
								
								Fix bug in BugReporter where we didn't handle emitting diagnostics for  
							
							 
							
							... 
							
							
							
							empty CFGBlocks that only contained a terminator.
Added improved diagnostics for break and continue statements and default branches in switch statements.
This fixes <rdar://problem/5889244>.
llvm-svn: 50286 
							
						 
						
							2008-04-25 19:01:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								73669defed 
								
							 
						 
						
							
							
								
								remove the 'unused static' diagnostic from codegen.  This should be  
							
							 
							
							... 
							
							
							
							reimplemented in Sema someday.  This is tracked in PR2236.  Until then
disabling it removes some bogus diagnostics (see 2236).
llvm-svn: 50263 
							
						 
						
							2008-04-25 15:47:13 +00:00  
						
					 
				
					
						
							
							
								 
								Nuno Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								0276933b4b 
								
							 
						 
						
							
							
								
								initial support for recognizing __transparent_union__ attributes  
							
							 
							
							... 
							
							
							
							comments on the ML will follow
llvm-svn: 50262 
							
						 
						
							2008-04-25 09:32:00 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								99131c9f5a 
								
							 
						 
						
							
							
								
								Handle dereferences of function pointers (which return a handle to the function).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50246 
							
						 
						
							2008-04-25 01:56:50 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								2e5092320e 
								
							 
						 
						
							
							
								
								Don't abort on GetRVal when the LVal is a StringLiteralVal.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50245 
							
						 
						
							2008-04-25 01:45:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4dd412e022 
								
							 
						 
						
							
							
								
								Don't emit empty strings for path diagnostics when taking the default branch of a switch statement that has no label.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50242 
							
						 
						
							2008-04-25 01:29:56 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ecbdf75049 
								
							 
						 
						
							
							
								
								Do a better job at computing dead symbols.  
							
							 
							
							... 
							
							
							
							Implemented support for better localized leaks in the CF reference count checker.
Now leaks should be flagged close to where they occur.
This should implement the desired functionality in <rdar://problem/5879592>, although the diagnostics still need to be improved.
llvm-svn: 50241 
							
						 
						
							2008-04-25 01:25:15 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b0daf2f6f5 
								
							 
						 
						
							
							
								
								Add preliminary support for flagging leaks around when they happen (doesn't work yet).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50237 
							
						 
						
							2008-04-24 23:57:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ae8014cb7e 
								
							 
						 
						
							
							
								
								More boilerplate for handling specialized-transfer function logic for dead symbols.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50233 
							
						 
						
							2008-04-24 23:35:58 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								0a070ff570 
								
							 
						 
						
							
							
								
								Patch to diagnose inconsistancies between properties declared in current and  
							
							 
							
							... 
							
							
							
							its super class. This patch is incomplete.
llvm-svn: 50228 
							
						 
						
							2008-04-24 19:58:34 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3812b7676c 
								
							 
						 
						
							
							
								
								Added initial boilerplate in GRExprEngine to allow checker-specific transfer  
							
							 
							
							... 
							
							
							
							function logic to act when symbols become dead.
llvm-svn: 50221 
							
						 
						
							2008-04-24 18:31:42 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f7141597e8 
								
							 
						 
						
							
							
								
								CF reference count checker: handle variadic functions that allocate CF objects.  
							
							 
							
							... 
							
							
							
							This fixes <rdar://problem/5886141>.
Part of this change resulted in creating sparser summaries.  I also added
some more comments and did some minor code cleanups.
llvm-svn: 50214 
							
						 
						
							2008-04-24 17:22:33 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b44485b835 
								
							 
						 
						
							
							
								
								Have ValidateOutputConstraint return false instead of firing an assertion  
							
							 
							
							... 
							
							
							
							when processing a constraint we don't understand.  This allows the frontend
to gracefully fail.
llvm-svn: 50213 
							
						 
						
							2008-04-24 16:36:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								21bf6006b0 
								
							 
						 
						
							
							
								
								For case statements involving enums, BugReporter now generates PathDiagnostics  
							
							 
							
							... 
							
							
							
							that say that we are jumping to "case a" instead of "case 0".
This is a feature implementation for <rdar://problem/5880430>.
llvm-svn: 50197 
							
						 
						
							2008-04-23 23:35:07 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								05e6267466 
								
							 
						 
						
							
							
								
								Fix minor regression in bug report generation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50195 
							
						 
						
							2008-04-23 23:04:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f26bc55b9a 
								
							 
						 
						
							
							
								
								When building PathDiagnostics for bug reports, generate a trimmed ExplodedGraph with a single path that BugReport objects can safely walk and introspect.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50194 
							
						 
						
							2008-04-23 23:02:12 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								dd43aeee54 
								
							 
						 
						
							
							
								
								Fixed: <rdar://problem/5881148>  
							
							 
							
							... 
							
							
							
							Problem:
In the recently refactored VisitDeref (which processes dereferences), we
were incorrectly skipping the node just generated for the subexpression
of the dereference.  This was a horrible regression.
llvm-svn: 50176 
							
						 
						
							2008-04-23 20:12:28 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								467297ab48 
								
							 
						 
						
							
							
								
								TranslationUnit now owns IdentifierTable, TargetInfo, and Selectors objects  
							
							 
							
							... 
							
							
							
							when it is constructed via deserialization.  This is done by recording a flag
indicating that this is the case, and it deletes these objects by getting
the references stored in the ASTContext object.  This fixes some memory
leaks that occurs when we deserialize translation units from bitcode files.
The rationale between having TranslationUnit sometimes own these objects and
sometimes not is that a TranslationUnit object can be constructed from
state generated by the parser (Preprocessor; semantic analyzer, etc.), and thus
in these cases won't own the IdentifierTable or Selectors, etc.  During
deserialization, there is no Preprocessor, so somebody needs to own these
objects in order for them to be properly reclaimed.
llvm-svn: 50149 
							
						 
						
							2008-04-23 16:25:39 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								d2419a0730 
								
							 
						 
						
							
							
								
								Remove false path where the default branch in a switch statement would  
							
							 
							
							... 
							
							
							
							always be taken even if it was not feasible.
llvm-svn: 50132 
							
						 
						
							2008-04-23 05:03:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								68a27fac9d 
								
							 
						 
						
							
							
								
								fix a rewriter crash on zero length files.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50126 
							
						 
						
							2008-04-23 03:21:50 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ef9af73887 
								
							 
						 
						
							
							
								
								Added panic function "assfail".  
							
							 
							
							... 
							
							
							
							llvm-svn: 50119 
							
						 
						
							2008-04-23 00:41:25 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								6efdf1ddab 
								
							 
						 
						
							
							
								
								Patch to build AST for property implementation declarations and  
							
							 
							
							... 
							
							
							
							to print declaration from its AST.
llvm-svn: 50117 
							
						 
						
							2008-04-23 00:06:01 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								0224ac57e0 
								
							 
						 
						
							
							
								
								For default branches in switch statements with no default label, print out  
							
							 
							
							... 
							
							
							
							the line we are going to.
llvm-svn: 50113 
							
						 
						
							2008-04-22 22:29:46 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3b42715930 
								
							 
						 
						
							
							
								
								Rewrote VisitDeclStmt to properly handle initializers that can do anything.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50112 
							
						 
						
							2008-04-22 22:25:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c79c0591d6 
								
							 
						 
						
							
							
								
								Added lval type (and tracking) for StringLiterals.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50109 
							
						 
						
							2008-04-22 21:39:21 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								eccf3e5821 
								
							 
						 
						
							
							
								
								Added "nonlval::LValAsInteger" to represent abstract LVals casted to integers, allowing us to track lvals when they are casted back to pointers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50108 
							
						 
						
							2008-04-22 21:10:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bec41348e2 
								
							 
						 
						
							
							
								
								"This patch renames  
							
							 
							
							... 
							
							
							
							DeclContext *CtxDecl -> DeclContext *DeclCtx
DeclContext *CD -> DeclContext *DC
It makes the code more consistent."
Patch by Zhongxing Xu!
llvm-svn: 50105 
							
						 
						
							2008-04-22 18:39:57 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								9718c9e8ee 
								
							 
						 
						
							
							
								
								PathDiagnosticClients now retain ownership of passed PathDiagnostics, requiring  
							
							 
							
							... 
							
							
							
							them to not be stack-allocated.
HTMLDiagnostics now batches PathDiagnostics before emitting HTML in its dtor.
This is a workaround for a problem when we trampled the Preprocessor state
when highlighting macros (sometimes resulting in an assertion failure).
llvm-svn: 50102 
							
						 
						
							2008-04-22 16:15:03 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								901a4e406b 
								
							 
						 
						
							
							
								
								Use back() instead of end()-1  
							
							 
							
							... 
							
							
							
							llvm-svn: 50098 
							
						 
						
							2008-04-22 07:37:18 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								80f2c111bd 
								
							 
						 
						
							
							
								
								Added panic function "dtrace_assfail".  
							
							 
							
							... 
							
							
							
							llvm-svn: 50091 
							
						 
						
							2008-04-22 06:09:33 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a2cca7dbdf 
								
							 
						 
						
							
							
								
								Hardcode "Assert" as a no-return function (panic).  
							
							 
							
							... 
							
							
							
							llvm-svn: 50089 
							
						 
						
							2008-04-22 05:37:33 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								2908fa0715 
								
							 
						 
						
							
							
								
								Add some basic ARM asm constraints  
							
							 
							
							... 
							
							
							
							llvm-svn: 50085 
							
						 
						
							2008-04-22 05:03:19 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								da5cdda248 
								
							 
						 
						
							
							
								
								Added null-dereference check for ArraySubscriptExpr.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50083 
							
						 
						
							2008-04-22 04:56:29 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								a591a12ea5 
								
							 
						 
						
							
							
								
								Allow property in base class to be implemented in a  
							
							 
							
							... 
							
							
							
							derived class.
llvm-svn: 50074 
							
						 
						
							2008-04-21 23:57:08 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								38213f9573 
								
							 
						 
						
							
							
								
								Added support for detected bad dereferences involving MemberExprs, e.g. x->f where "x" is NULL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50071 
							
						 
						
							2008-04-21 23:43:38 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								c6bec7b6dc 
								
							 
						 
						
							
							
								
								More semantics checks of properties. Property implementation can implicitly use  
							
							 
							
							... 
							
							
							
							ivar of same name. 
Better diagnostics to bring home this point.
llvm-svn: 50065 
							
						 
						
							2008-04-21 21:57:36 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								f2a7d7c949 
								
							 
						 
						
							
							
								
								Support for @dynamic AST build.  
							
							 
							
							... 
							
							
							
							More property semantics checking.
First test case for ObjC2's property implementation.
llvm-svn: 50057 
							
						 
						
							2008-04-21 21:05:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0dcd9aa8fd 
								
							 
						 
						
							
							
								
								Fix pasto, thanks to Anders for pointing this out.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50055 
							
						 
						
							2008-04-21 20:19:54 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								a054e99fa8 
								
							 
						 
						
							
							
								
								Continuation of work on ObjC2's properties.  
							
							 
							
							... 
							
							
							
							Added iterators, methods to find property and categories.
Use them in doing semantic analysis on property implementation
declarations. Fixed typos.
llvm-svn: 50050 
							
						 
						
							2008-04-21 19:04:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								17df24e736 
								
							 
						 
						
							
							
								
								add arm support  
							
							 
							
							... 
							
							
							
							llvm-svn: 50049 
							
						 
						
							2008-04-21 18:56:49 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								89f238cbe1 
								
							 
						 
						
							
							
								
								Clean up handling of function redeclarations  
							
							 
							
							... 
							
							
							
							llvm-svn: 50021 
							
						 
						
							2008-04-21 02:02:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5fa90e49a9 
								
							 
						 
						
							
							
								
								Fix improper dereference of end() iterator.  Patch by Argiris Kirtzidis!  
							
							 
							
							... 
							
							
							
							llvm-svn: 50012 
							
						 
						
							2008-04-20 23:54:24 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								1c906206b8 
								
							 
						 
						
							
							
								
								Fix PR2236  
							
							 
							
							... 
							
							
							
							Add test
Implement feedback from Chris re: PR1998
llvm-svn: 50001 
							
						 
						
							2008-04-20 20:38:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								14cd1ee95f 
								
							 
						 
						
							
							
								
								Two improvements to initializer parsing:  
							
							 
							
							... 
							
							
							
							1. If we hit a semantic error, try harder to recover to emit
   diagnostics for later initializer errors (PR2241).
2. Don't leak parsed initializers on an error.
llvm-svn: 49998 
							
						 
						
							2008-04-20 19:07:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4885b97664 
								
							 
						 
						
							
							
								
								for exponent-related errors, emit the diagnostic on the 'e' or 'p'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49997 
							
						 
						
							2008-04-20 18:47:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								48a9b9beeb 
								
							 
						 
						
							
							
								
								when emitting diagnostics about some character in a numeric  
							
							 
							
							... 
							
							
							
							literal, indicate what character the error is about or where
it would be.  For example:
pr2241.c:1:17: error: exponent has no digits
float f[] = { 1e  , 1ee0 };
                ^
llvm-svn: 49996 
							
						 
						
							2008-04-20 18:41:46 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								8e8d498d34 
								
							 
						 
						
							
							
								
								Only generate code for static functions and global variables that are actually used.  
							
							 
							
							... 
							
							
							
							Warn about unused static functions and variables.
This fixes PR1998.
llvm-svn: 49987 
							
						 
						
							2008-04-20 06:29:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2cc4e23252 
								
							 
						 
						
							
							
								
								Restructure and simplify Sema::ObjCQualifiedIdTypesAreCompatible,  
							
							 
							
							... 
							
							
							
							deleting dead code, making other code more obvious, and fixing a
bug.  This fixes these (bogus) warnings in release mode:
SemaExprObjC.cpp:383: warning: 'RHSProtoE' may be used uninitialized in this function
SemaExprObjC.cpp:383: warning: 'RHSProtoI' may be used uninitialized in this function
llvm-svn: 49984 
							
						 
						
							2008-04-20 02:09:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ff2367c0c9 
								
							 
						 
						
							
							
								
								implement a fixme, add support for ++/-- on long double.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49980 
							
						 
						
							2008-04-20 00:50:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1886e71e47 
								
							 
						 
						
							
							
								
								use simplified ConstantFP:get method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49979 
							
						 
						
							2008-04-20 00:45:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1e517a78a8 
								
							 
						 
						
							
							
								
								replace form feeds with an <hr> tag.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49975 
							
						 
						
							2008-04-19 23:56:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ba1f37bfdf 
								
							 
						 
						
							
							
								
								simplify ownership of the predefines buffer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49973 
							
						 
						
							2008-04-19 23:09:31 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								575f24ef73 
								
							 
						 
						
							
							
								
								Gracefully handle when the receiver of a message expression is not a pointer type.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49959 
							
						 
						
							2008-04-19 19:12:50 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								faae081131 
								
							 
						 
						
							
							
								
								Generate code for annotation attributes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49951 
							
						 
						
							2008-04-19 04:17:09 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								7fab578b0d 
								
							 
						 
						
							
							
								
								Add support to module codegen for adding and emitting annotations  
							
							 
							
							... 
							
							
							
							llvm-svn: 49944 
							
						 
						
							2008-04-18 23:43:57 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								46bd037c07 
								
							 
						 
						
							
							
								
								Ignore qualifiers when attempting to match arguments to parameter types for  
							
							 
							
							... 
							
							
							
							__builtin_overload
llvm-svn: 49943 
							
						 
						
							2008-04-18 23:35:14 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								ce4d7fce6b 
								
							 
						 
						
							
							
								
								OCUVector -> ExtVector, shorthand for extended vector, per feedback from Chris.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49942 
							
						 
						
							2008-04-18 23:10:10 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								423edc2384 
								
							 
						 
						
							
							
								
								Another bug fix in emitting warnings without a path: construct a unit PathDiagnostic as we did  
							
							 
							
							... 
							
							
							
							before.  This allows the HTMLDiagnostic object to retrieve the bug type, bug description, etc.
llvm-svn: 49939 
							
						 
						
							2008-04-18 22:56:53 +00:00  
						
					 
				
					
						
							
							
								 
								Nuno Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								42dd577238 
								
							 
						 
						
							
							
								
								fix __attribute__(format) for struct function pointer fields  
							
							 
							
							... 
							
							
							
							llvm-svn: 49938 
							
						 
						
							2008-04-18 22:43:39 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								bf27dc9659 
								
							 
						 
						
							
							
								
								Reenable using the PathDiagnosticClient for BugReports without paths.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49934 
							
						 
						
							2008-04-18 22:11:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								31484b2477 
								
							 
						 
						
							
							
								
								Generalize caching mechanism for bugs reports.  Now individual BugTypes  
							
							 
							
							... 
							
							
							
							can decide the policy on how to cache related bugs.  This allows us to
properly to handle warning about multiple leaks in the same location in the
ref count checker (not yet done).
llvm-svn: 49918 
							
						 
						
							2008-04-18 20:54:29 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c072b820cf 
								
							 
						 
						
							
							
								
								Fixed more caching bugs related to the one fixed in r49914.  Silence  
							
							 
							
							... 
							
							
							
							compiler warning introduced by a recent patch of mine.
llvm-svn: 49917 
							
						 
						
							2008-04-18 20:35:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								acefba896c 
								
							 
						 
						
							
							
								
								Fixed elusive caching bug that led to false positives.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49914 
							
						 
						
							2008-04-18 19:34:16 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4d83728a57 
								
							 
						 
						
							
							
								
								Added "GetErrorNodes()" to BugType so that -trim-egraph can recognize errors  
							
							 
							
							... 
							
							
							
							from registered BugTypes.  This helps with debugging.
Add detection of NULL values in ref count checker; this suppresses false positives.
llvm-svn: 49912 
							
						 
						
							2008-04-18 19:23:43 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3388381993 
								
							 
						 
						
							
							
								
								Added "EvalAssume" virtual method to GRTransferFuncs; this is for evaluating  
							
							 
							
							... 
							
							
							
							the checker-specific logic of symbolic assumptions.
llvm-svn: 49910 
							
						 
						
							2008-04-18 17:20:23 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								65bea23674 
								
							 
						 
						
							
							
								
								Tabs -> spaces  
							
							 
							
							... 
							
							
							
							llvm-svn: 49909 
							
						 
						
							2008-04-18 17:17:24 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								d004c418b6 
								
							 
						 
						
							
							
								
								Fixed bug in GREndPathNodeBuilder: only return a node if it wasn't in the node cache.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49907 
							
						 
						
							2008-04-18 16:30:14 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								c00bed3871 
								
							 
						 
						
							
							
								
								Initialize default double width and alignment  
							
							 
							
							... 
							
							
							
							llvm-svn: 49899 
							
						 
						
							2008-04-18 05:49:49 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								26ed25253e 
								
							 
						 
						
							
							
								
								Allow targets to override double size, alignment, and semantics, and tie this  
							
							 
							
							... 
							
							
							
							information into the IR type codegen.  This allows a target to codegen the C
'double' type as either double or float.
llvm-svn: 49898 
							
						 
						
							2008-04-18 05:41:31 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a960be4bd4 
								
							 
						 
						
							
							
								
								Provide a version of html::HighlightMacros that takes a Preprocessor&.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49896 
							
						 
						
							2008-04-18 05:34:33 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f03e07c34d 
								
							 
						 
						
							
							
								
								More grammar fixes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49895 
							
						 
						
							2008-04-18 05:32:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ca8892b456 
								
							 
						 
						
							
							
								
								Fix plurality debacle.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49894 
							
						 
						
							2008-04-18 05:13:26 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								40d601f958 
								
							 
						 
						
							
							
								
								Added path diagnostics for reference counts.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49892 
							
						 
						
							2008-04-18 04:55:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4bbd164a7a 
								
							 
						 
						
							
							
								
								Make tab insertion really right: the number of spaces inserted  
							
							 
							
							... 
							
							
							
							depends on the column number of the start of the tab.
llvm-svn: 49891 
							
						 
						
							2008-04-18 04:54:20 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								396f43620f 
								
							 
						 
						
							
							
								
								BugReport::VisitNode now takes BugReporter& instead of ASTContext&.  
							
							 
							
							... 
							
							
							
							Shuffled around code in CFRefCount to better pair classes with implementation,
and started adding subclasses of RangedBugReport to handle better diagnostics
for reference count bugs.
llvm-svn: 49889 
							
						 
						
							2008-04-18 03:39:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a3d02636ef 
								
							 
						 
						
							
							
								
								Use HTML5 doctype when generating HTML.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49888 
							
						 
						
							2008-04-18 03:37:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								89e6a9b98c 
								
							 
						 
						
							
							
								
								Added null check.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49887 
							
						 
						
							2008-04-18 02:24:50 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a821e087de 
								
							 
						 
						
							
							
								
								Updated CSS colors.  Patch by Cedric Venet!  
							
							 
							
							... 
							
							
							
							llvm-svn: 49886 
							
						 
						
							2008-04-18 02:12:39 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								cffe635699 
								
							 
						 
						
							
							
								
								Simplified internal logic of BugReporter, consolidating EmitWarning and  
							
							 
							
							... 
							
							
							
							EmitPathWarning into one method.  We now properly handle emitting warnings
without a PathDiagnosticClient when the warning does not involve a particular
statement.
llvm-svn: 49884 
							
						 
						
							2008-04-18 01:56:37 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								d83bdd3841 
								
							 
						 
						
							
							
								
								Fixed a bug in categories and properties.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49883 
							
						 
						
							2008-04-18 00:30:47 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								ffe97a3925 
								
							 
						 
						
							
							
								
								Initial work for property implementation declarations.  
							
							 
							
							... 
							
							
							
							Mostly semantic checking in this patch. This is on going
and incomplete.
llvm-svn: 49882 
							
						 
						
							2008-04-18 00:19:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								69049c272f 
								
							 
						 
						
							
							
								
								Modified BugReport::getEndPath() to handle the case where end path is at  
							
							 
							
							... 
							
							
							
							the exit block of the CFG.
llvm-svn: 49880 
							
						 
						
							2008-04-17 23:44:37 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								cc0951bde1 
								
							 
						 
						
							
							
								
								Hook up reporting reference count memory leaks to the BugReporter mechanism.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49879 
							
						 
						
							2008-04-17 23:43:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								54349c5f4d 
								
							 
						 
						
							
							
								
								Fix a problem noticed by Nuno, where we wouldn't escape characters in  
							
							 
							
							... 
							
							
							
							macro expansions.
llvm-svn: 49877 
							
						 
						
							2008-04-17 23:03:14 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f42f3fb47d 
								
							 
						 
						
							
							
								
								class Preprocessor: Now owns the "predefines" char*; it deletes [] it in its dstor.  
							
							 
							
							... 
							
							
							
							clang.cpp: InitializePreprocessor now makes a copy of the contents of PredefinesBuffer and
  passes it to the preprocessor object.
  
clang.cpp: DriverPreprocessorFactory now calls "InitializePreprocessor" instead of this being done in main().
html::HighlightMacros() now takes a PreprocessorFactory, allowing it to conjure up a new
Preprocessor to highlight macros.
class HTMLDiagnostics now takes a PreprocessorFactory* that it can use for html::HighlightMacros().
Updated clients of HTMLDiagnostics to use this new interface.
llvm-svn: 49875 
							
						 
						
							2008-04-17 22:31:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6929bd8047 
								
							 
						 
						
							
							
								
								don't give macros a background  
							
							 
							
							... 
							
							
							
							llvm-svn: 49871 
							
						 
						
							2008-04-17 21:32:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f219126107 
								
							 
						 
						
							
							
								
								Make sure popup is on top over other spans.  wrap long line.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49870 
							
						 
						
							2008-04-17 21:28:41 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								219bab3be9 
								
							 
						 
						
							
							
								
								Added "PreprocessorFactory", an interface for lazily creating Preprocessor objects on-demand.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49868 
							
						 
						
							2008-04-17 21:23:07 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c2c08caf9c 
								
							 
						 
						
							
							
								
								Add support in HTML macro expansion for hovering over a macro and automatically  
							
							 
							
							... 
							
							
							
							expanding its definition.  This is a pure CSS solution.
Tested on IE7, Firefox 3b4, and Safari 3.1.
Patch by Cedric Venet!
llvm-svn: 49865 
							
						 
						
							2008-04-17 19:57:27 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								8e36cddde0 
								
							 
						 
						
							
							
								
								Added property decl support for protocols.  
							
							 
							
							... 
							
							
							
							Added assertion if unexpected property decls are found where they don't belong.
Consolidated property decl. printing by using a helper function.
llvm-svn: 49862 
							
						 
						
							2008-04-17 18:25:18 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a506fec90a 
								
							 
						 
						
							
							
								
								Added transfer function support for ReturnStmt to support detecting leaks  
							
							 
							
							... 
							
							
							
							involving objects that are returned but have an excessive reference count.
llvm-svn: 49861 
							
						 
						
							2008-04-17 18:12:53 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								6d05303342 
								
							 
						 
						
							
							
								
								Use TranslationUnitDecl as DeclContext of builtin functions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49856 
							
						 
						
							2008-04-17 14:47:13 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								c3b69ae815 
								
							 
						 
						
							
							
								
								Addition of TranslationUnitDecl to the AST:  
							
							 
							
							... 
							
							
							
							-Added TranslationUnitDecl class to serve as top declaration context
-ASTContext gets a TUDecl member and a getTranslationUnitDecl() function
-All ScopedDecls get the TUDecl as DeclContext when declared at global scope
llvm-svn: 49855 
							
						 
						
							2008-04-17 14:40:12 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								fc2f058230 
								
							 
						 
						
							
							
								
								Fix MSVC compiler error: "initialization of 'VD' is skipped by 'case' label"  
							
							 
							
							... 
							
							
							
							llvm-svn: 49853 
							
						 
						
							2008-04-17 13:52:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f1c70d79b8 
								
							 
						 
						
							
							
								
								insert macro expansions into floating divs.  For now, they are always displayed,  
							
							 
							
							... 
							
							
							
							but we want some javascript or something toggle their display.
llvm-svn: 49836 
							
						 
						
							2008-04-17 00:40:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								775fdd3618 
								
							 
						 
						
							
							
								
								correctly hilight multi-line macro definitions and other  
							
							 
							
							... 
							
							
							
							preprocessor directives.
llvm-svn: 49828 
							
						 
						
							2008-04-16 23:21:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								10dbbb0c5a 
								
							 
						 
						
							
							
								
								Make HighlightRange correctly handle multi-line ranges.  This causes us to  
							
							 
							
							... 
							
							
							
							correctly handle multi-line comments.
llvm-svn: 49827 
							
						 
						
							2008-04-16 23:06:45 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								9c375158a0 
								
							 
						 
						
							
							
								
								Handle ReturnStmts by dispatching to "EvalReturn" in the transfer function object.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49826 
							
						 
						
							2008-04-16 23:05:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8e3006a4e3 
								
							 
						 
						
							
							
								
								add a new HighlightRange API, it doesn't handle multiline ranges  
							
							 
							
							... 
							
							
							
							yet, but it will soon...
llvm-svn: 49825 
							
						 
						
							2008-04-16 22:45:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								cbf4c6134e 
								
							 
						 
						
							
							
								
								CF ref. count checker: Register memory leaks at the end of a path.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49824 
							
						 
						
							2008-04-16 22:32:20 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								86051690ea 
								
							 
						 
						
							
							
								
								Bug fix in GREndPathNodeBuilderImpl: Use the specified state to construct  
							
							 
							
							... 
							
							
							
							a node, not the state of the predecessor.
llvm-svn: 49823 
							
						 
						
							2008-04-16 22:30:40 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								549e83caa0 
								
							 
						 
						
							
							
								
								New AST class for property implementation declarations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49821 
							
						 
						
							2008-04-16 22:00:24 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								d634dfae0f 
								
							 
						 
						
							
							
								
								Fixed a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49819 
							
						 
						
							2008-04-16 21:11:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c1f9a28e4d 
								
							 
						 
						
							
							
								
								Added CFGBlock::getTerminatorCondition() to get the Expr* of the condition a block's terminator.  
							
							 
							
							... 
							
							
							
							Refactored LiveVariables to use getTerminatorCondition() in VisitTerminator().
Bug fix: CFG now computes Block-level expression numbers using information
from block terminators.  This fixes <rdar://problem/5868189>.
llvm-svn: 49818 
							
						 
						
							2008-04-16 21:10:48 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								9d981eb9ae 
								
							 
						 
						
							
							
								
								This patch adds support for declaraing properties in categories,  
							
							 
							
							... 
							
							
							
							just as they are declared in objc classes.
llvm-svn: 49817 
							
						 
						
							2008-04-16 21:08:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e9786c3199 
								
							 
						 
						
							
							
								
								reenable highlighting of (the first line of) comments  
							
							 
							
							... 
							
							
							
							llvm-svn: 49816 
							
						 
						
							2008-04-16 20:54:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0bb0e7ee8a 
								
							 
						 
						
							
							
								
								switch from relexing with the preprocessor to do syntax highlighting to relexing  
							
							 
							
							... 
							
							
							
							with the Lexer.  This is cheaper and gives us some advantages.  For now we start
highlighting preprocessor directives (which need improvement), and disable 
comments.  Comments to be restored later.
llvm-svn: 49815 
							
						 
						
							2008-04-16 20:51:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7145489c37 
								
							 
						 
						
							
							
								
								Small tweaks to EvalStore: pass an "RVal" instead of "LVal" for the TargetLV to  
							
							 
							
							... 
							
							
							
							represent possible stores to "Unknown."
llvm-svn: 49811 
							
						 
						
							2008-04-16 20:40:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								673b5c1e42 
								
							 
						 
						
							
							
								
								Add missing file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49805 
							
						 
						
							2008-04-16 18:39:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								90c7cb6810 
								
							 
						 
						
							
							
								
								Hook up "EvalStore" from GRTransferFuncs to GRExprEngine.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49804 
							
						 
						
							2008-04-16 18:39:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								2044a5183d 
								
							 
						 
						
							
							
								
								Take first step to migrating handling of "stores" to values from GRExprEngine  
							
							 
							
							... 
							
							
							
							to the plug-in GRTransferFuncs object.
llvm-svn: 49801 
							
						 
						
							2008-04-16 18:21:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ed30e8da56 
								
							 
						 
						
							
							
								
								LiveVariables now updates the liveness state of block-level expressions that  
							
							 
							
							... 
							
							
							
							are referenced by CFGBlock terminators.
llvm-svn: 49798 
							
						 
						
							2008-04-16 17:07:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								08e562d3c8 
								
							 
						 
						
							
							
								
								In ExplodedGraphImpl::Trim, prioritize for paths that don't span loops by using  
							
							 
							
							... 
							
							
							
							two worklists: for nodes whose locations are block edges with loop terminators
and another for nodes with all other locations.  We only dequeue from the loop
worklist when the other is empty.  Exploration of the graph is still in
reverse-BFS.
llvm-svn: 49791 
							
						 
						
							2008-04-16 15:51:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								03b8fcc247 
								
							 
						 
						
							
							
								
								Take a stab at highlighting #defines and #includes.  This doesn't work yet.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49781 
							
						 
						
							2008-04-16 06:53:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5e69a2dd9a 
								
							 
						 
						
							
							
								
								Syntax highlight keywords.  I assume someone else will pick less appaling colors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49780 
							
						 
						
							2008-04-16 06:35:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a5a75e7a10 
								
							 
						 
						
							
							
								
								split syntax highlighting of macros from keywords and comments,  
							
							 
							
							... 
							
							
							
							allowing us to use a cheaper means to highlight keywords and making
it so that comments won't foul up macro expansions.
Start highlighting macro expansions.
llvm-svn: 49779 
							
						 
						
							2008-04-16 06:32:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								060d8aa2ed 
								
							 
						 
						
							
							
								
								Add a mode of hackily syntax highlighting comments.  This has a number of  
							
							 
							
							... 
							
							
							
							problems, including the fact that it doesn't work well with multi-line 
comments due to Ted's crazy table.  However, that could be fixed, and it
does work with single-line ones :).
llvm-svn: 49778 
							
						 
						
							2008-04-16 06:11:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c326f7e860 
								
							 
						 
						
							
							
								
								Switch AddLineNumbers to hack on a rewritebuffer instead of on a  
							
							 
							
							... 
							
							
							
							rewriter, getting sourcelocations out of the picture.
llvm-svn: 49775 
							
						 
						
							2008-04-16 04:37:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e7d696ec7f 
								
							 
						 
						
							
							
								
								In html::EscapeText, instead of going through the rewriter with  
							
							 
							
							... 
							
							
							
							a SourceLocation to get a RewriteBuffer, poke the RewriteBuffer
with an offset directly.  THis is no faster, but results in 
cleaner code.
llvm-svn: 49774 
							
						 
						
							2008-04-16 04:33:23 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b65a67d7b6 
								
							 
						 
						
							
							
								
								Remove uses of "Selector&" and "const Selector&", since Selector is just an  
							
							 
							
							... 
							
							
							
							immutable smart pointer (we don't need to pass references, just pass Selector).
llvm-svn: 49773 
							
						 
						
							2008-04-16 04:30:16 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8cb96e92a1 
								
							 
						 
						
							
							
								
								Implemented toll-free bridging support for CF Reference count checker.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49771 
							
						 
						
							2008-04-16 04:28:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								05e5310ad8 
								
							 
						 
						
							
							
								
								switch AddLineNumber to use a SmallString instead of sstream.  This  
							
							 
							
							... 
							
							
							
							speeds up -emit-html on ted's testcase by 29% (.138 -> 0.107s) in a
release build.
llvm-svn: 49767 
							
						 
						
							2008-04-16 04:11:35 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								e556f9e39c 
								
							 
						 
						
							
							
								
								Simplify some code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49763 
							
						 
						
							2008-04-16 02:59:55 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								748c7ce4ba 
								
							 
						 
						
							
							
								
								Added initial boilerplate to support toll-free bridging in the ref-count checker.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49756 
							
						 
						
							2008-04-15 23:44:31 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								667cacb2ff 
								
							 
						 
						
							
							
								
								Added some comments to GRExprEngine.  Reorder some of the method definitions  
							
							 
							
							... 
							
							
							
							to start logically organizing them.
Added initial plug-in transfer function support for Objective-C message expressions.
llvm-svn: 49752 
							
						 
						
							2008-04-15 23:06:53 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								6204498aad 
								
							 
						 
						
							
							
								
								Change "VisitBlockVarDecl" to "VisitVarDecl".  UninitializedValues now works  
							
							 
							
							... 
							
							
							
							as before r49748 (where BlockVarDecl was removed).
llvm-svn: 49749 
							
						 
						
							2008-04-15 23:02:18 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								08899ff85d 
								
							 
						 
						
							
							
								
								Remove FileVarDecl and BlockVarDecl. They are replaced by VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl().  
							
							 
							
							... 
							
							
							
							This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it).
llvm-svn: 49748 
							
						 
						
							2008-04-15 22:42:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7d6219f501 
								
							 
						 
						
							
							
								
								For HTML diagnostics, output more information about a bug report.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49742 
							
						 
						
							2008-04-15 21:25:08 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								82ff6d65bc 
								
							 
						 
						
							
							
								
								Fix bug in terminator processing for uninitialized-values: simply ignore the terminator, don't reprocess it.  
							
							 
							
							... 
							
							
							
							LiveVariables analysis now does a flow-insensitive analysis to determine what variables have their address taken; these variables are now always treated as being live.
The DataflowSolver now uses "SetTopValue()" when getting the initial value for the entry/exit block.
llvm-svn: 49734 
							
						 
						
							2008-04-15 18:35:30 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								45887902b6 
								
							 
						 
						
							
							
								
								Fix a compiler error on MSVC (variable name 'E' clash).  
							
							 
							
							... 
							
							
							
							llvm-svn: 49727 
							
						 
						
							2008-04-15 16:30:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3e142b2585 
								
							 
						 
						
							
							
								
								finish commenting RewriteRope  
							
							 
							
							... 
							
							
							
							llvm-svn: 49712 
							
						 
						
							2008-04-15 06:37:11 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								6d41b82ea4 
								
							 
						 
						
							
							
								
								Improve dead store diagnostic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49711 
							
						 
						
							2008-04-15 05:31:00 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8adeebb274 
								
							 
						 
						
							
							
								
								Added initial support into the flow-sensitive dataflow solver to visit the Block-level expression  
							
							 
							
							... 
							
							
							
							in a block's terminator.  This expression is visited within a block, but it is accessed by the
terminator.  This is important to observe because for live-variables analysis the block-level
expression is live between the terminator and where the expression occurs in the block.  So far
this hasn't been an issue to not observe this because the block-level expression used in the
terminator is always the last one in the block, and we have never queried the liveness information
about this point (but before the terminator).
llvm-svn: 49709 
							
						 
						
							2008-04-15 04:39:08 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								66279073f7 
								
							 
						 
						
							
							
								
								Bug fix in dead stores: don't always check the liveness of the first decl  
							
							 
							
							... 
							
							
							
							in a DeclStmt.
llvm-svn: 49708 
							
						 
						
							2008-04-15 04:11:48 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								cd76f95dd0 
								
							 
						 
						
							
							
								
								++/-- makes a variable live since it is used; thus the liveness state is  
							
							 
							
							... 
							
							
							
							"Alive" as opposed to staying the same.
llvm-svn: 49707 
							
						 
						
							2008-04-15 04:08:54 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f4212bdbc3 
								
							 
						 
						
							
							
								
								Bug fix in LiveVariables: Operators ++/-- may kill a value, but the variable  
							
							 
							
							... 
							
							
							
							is still live.
llvm-svn: 49705 
							
						 
						
							2008-04-15 03:47:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								52bc4ac84f 
								
							 
						 
						
							
							
								
								Fix a corner case that ted hit in -emit-html, rdar://5863212  
							
							 
							
							... 
							
							
							
							llvm-svn: 49703 
							
						 
						
							2008-04-15 02:26:21 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								0152a1a5db 
								
							 
						 
						
							
							
								
								New AST representation for each objc2's property declaration.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49699 
							
						 
						
							2008-04-14 23:36:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								492530d2df 
								
							 
						 
						
							
							
								
								simplify the implementation of the insert/split operation to return  
							
							 
							
							... 
							
							
							
							the new RHS directly instead of indirecting through the 'InsertResult'
struct.  This eliminates InsertResult.
llvm-svn: 49694 
							
						 
						
							2008-04-14 22:10:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e58408d8db 
								
							 
						 
						
							
							
								
								Add a bunch of comments, move RewriteRope::MakeRopeString out of line.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49689 
							
						 
						
							2008-04-14 21:41:00 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f6aad13242 
								
							 
						 
						
							
							
								
								Fix regression in Diagnostic that caused it to not register the number  
							
							 
							
							... 
							
							
							
							of errors.
llvm-svn: 49686 
							
						 
						
							2008-04-14 21:21:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								17acadebb4 
								
							 
						 
						
							
							
								
								Added "getCanonicalID()", "isFromSameFile", and "isFromMainFile" to compare  
							
							 
							
							... 
							
							
							
							the files of different SourceLocations.  These methods correctly handle the
case where a file may have multiple FileIDs due to it being large enough
to be spread across several chunks.
llvm-svn: 49682 
							
						 
						
							2008-04-14 21:04:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dc217191d1 
								
							 
						 
						
							
							
								
								fix more uninit ivars, who wrote this junk? :)  
							
							 
							
							... 
							
							
							
							llvm-svn: 49679 
							
						 
						
							2008-04-14 20:07:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ca94e4263b 
								
							 
						 
						
							
							
								
								Fix an assertion ted was hitting, due to an uninitialized variable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49678 
							
						 
						
							2008-04-14 20:05:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								193f185902 
								
							 
						 
						
							
							
								
								Only increment the number of diagnostics when the DiagnosticClient used  
							
							 
							
							... 
							
							
							
							is the one attached to the Diagnostic object.
llvm-svn: 49677 
							
						 
						
							2008-04-14 19:56:12 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								87bfc03f4a 
								
							 
						 
						
							
							
								
								Don't flag dead stores that occur in macros.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49672 
							
						 
						
							2008-04-14 18:28:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								bae225d57a 
								
							 
						 
						
							
							
								
								Have BugReporter::EmitWarning use the PathDiagnosticClient if it is available.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49668 
							
						 
						
							2008-04-14 18:06:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d80edddccd 
								
							 
						 
						
							
							
								
								move a ton of code out of line, from RewriteRope.h -> RewriteRope.cpp  
							
							 
							
							... 
							
							
							
							llvm-svn: 49664 
							
						 
						
							2008-04-14 17:54:23 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								75ff623e2e 
								
							 
						 
						
							
							
								
								Bug fix in dead-store checker when walking the Decls in a DeclStmt: don't  
							
							 
							
							... 
							
							
							
							assume that DeclStmts only have VarDecls; they can have TypedefDecls.
llvm-svn: 49662 
							
						 
						
							2008-04-14 17:52:13 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								12e721a728 
								
							 
						 
						
							
							
								
								Treat calls to unresolved functions in the CF-ref count checker as calls  
							
							 
							
							... 
							
							
							
							to functions with NULL summaries.
llvm-svn: 49660 
							
						 
						
							2008-04-14 17:45:13 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7e15130dc9 
								
							 
						 
						
							
							
								
								Hooked up the dead-store checker to the BugReporter interface.  Now dead-store  
							
							 
							
							... 
							
							
							
							warnings are emitted as part of the warnings registered by GRSimpleVals.
llvm-svn: 49658 
							
						 
						
							2008-04-14 17:39:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								04df1bb8b5 
								
							 
						 
						
							
							
								
								remove ifdefs  
							
							 
							
							... 
							
							
							
							llvm-svn: 49651 
							
						 
						
							2008-04-14 17:12:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3374b039d9 
								
							 
						 
						
							
							
								
								Change the RewriteRope::Chunks data structure from an std::list into  
							
							 
							
							... 
							
							
							
							a nice shiny B+ Tree variant.  This fixes the last of the known algorithmic
issues with the rewriter, allowing a significant speedup.  For example,
-emit-html on Ted's 500K .i file speeds up from 26.8s -> 0.64s in a 
debug build (41x!) and 5.475s -> 0.132s (41x!) in an optimized build.
This code is functional but needs to be cleaned up, ifdefs removed, better
commented, and moved to a .cpp file.  I plan to do this tomorrow.
llvm-svn: 49635 
							
						 
						
							2008-04-14 07:17:29 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								91f40e3680 
								
							 
						 
						
							
							
								
								Enable clang to codegen emmintrin.h until we have our own emmintrin.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 49633 
							
						 
						
							2008-04-14 04:49:57 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								5eee93328e 
								
							 
						 
						
							
							
								
								Fix typo  
							
							 
							
							... 
							
							
							
							llvm-svn: 49632 
							
						 
						
							2008-04-14 02:26:39 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								2daae31e9a 
								
							 
						 
						
							
							
								
								Argiris Kirtzidis's fix for handling empty IdDeclInfo's in IdentifierResolver::AddDecl  
							
							 
							
							... 
							
							
							
							llvm-svn: 49631 
							
						 
						
							2008-04-14 00:26:07 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								423984d33b 
								
							 
						 
						
							
							
								
								Make Parser::getAccessSpecifierIfPresent const, since it does not modify the state  
							
							 
							
							... 
							
							
							
							llvm-svn: 49629 
							
						 
						
							2008-04-14 00:13:42 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								25f54c72ac 
								
							 
						 
						
							
							
								
								Move IdDeclInfoMap class in an anonymous namespace. Suggestion by Chris Lattner.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49628 
							
						 
						
							2008-04-14 00:09:21 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								556877c1e6 
								
							 
						 
						
							
							
								
								This patch adds very basic support for parsing and type-checking class  
							
							 
							
							... 
							
							
							
							inheritance in C++. It'll parse the base-specifier list, e.g.,
 class D : public B1, virtual public B2 { };
and do some of the simpler semantic checks (B1 and B2 are classes;
they aren't unions or incomplete types, etc).
llvm-svn: 49623 
							
						 
						
							2008-04-13 21:30:24 +00:00  
						
					 
				
					
						
							
							
								 
								Douglas Gregor
							
						 
						
							 
							
							
							
							
								
							
							
								83a586ec19 
								
							 
						 
						
							
							
								
								Introduce support for finding class and enum names via ordinary name lookup in C++  
							
							 
							
							... 
							
							
							
							llvm-svn: 49621 
							
						 
						
							2008-04-13 21:07:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f8f945499c 
								
							 
						 
						
							
							
								
								Fix PR2220, making diagnostics for unexpected tokens in pp expressions  
							
							 
							
							... 
							
							
							
							more nice.
llvm-svn: 49619 
							
						 
						
							2008-04-13 20:38:43 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								861a226586 
								
							 
						 
						
							
							
								
								This patch is just the easy part of the class names patch, which  
							
							 
							
							... 
							
							
							
							allows the parsing of "class" in addition to "struct" and "union" to
declare a record.  So this patch allows:
 class C { };
 class C c1;
But it does not contain the lookup bits, so this won't work yet:
 C c2;
Patch by Doug Gregor!
llvm-svn: 49613 
							
						 
						
							2008-04-13 18:59:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cc0ef63a13 
								
							 
						 
						
							
							
								
								Change the btree algorithm to split nodes bottom-up instead of top-down.  
							
							 
							
							... 
							
							
							
							This results in an (IMO) simpler algorithm, results in fewer splits, and
is more amenable to delta handling (there is no reason to mutate the tree
at all when adding a delta to a position that already exists in the tree).
llvm-svn: 49609 
							
						 
						
							2008-04-13 08:52:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cdefa7a6fc 
								
							 
						 
						
							
							
								
								split node splitting from interior node restructuring.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49608 
							
						 
						
							2008-04-13 08:22:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								61705c1a6e 
								
							 
						 
						
							
							
								
								update to follow mainline llvm API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49607 
							
						 
						
							2008-04-13 07:32:11 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								fcd78b02c2 
								
							 
						 
						
							
							
								
								Use static_cast<> instead of cast<> in Decl::Destroy().  Suggestion by Argiris  
							
							 
							
							... 
							
							
							
							Kirtzidis!
llvm-svn: 49603 
							
						 
						
							2008-04-13 04:32:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b0d3844fb8 
								
							 
						 
						
							
							
								
								Default argument cleanups and minor improvements, patch by  
							
							 
							
							... 
							
							
							
							Doug Gregor!
llvm-svn: 49598 
							
						 
						
							2008-04-12 23:52:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8fc77b7945 
								
							 
						 
						
							
							
								
								final cleanup, the code is now in a reviewable state.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49592 
							
						 
						
							2008-04-12 22:04:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cbb6bad435 
								
							 
						 
						
							
							
								
								move the DeltaTree implementation out of line, remove debugging printfs etc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49591 
							
						 
						
							2008-04-12 22:00:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0c8d17fc43 
								
							 
						 
						
							
							
								
								remove ifdefs  
							
							 
							
							... 
							
							
							
							llvm-svn: 49587 
							
						 
						
							2008-04-12 20:34:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d154731131 
								
							 
						 
						
							
							
								
								Do an initial hack at replacing one of the incredibly inefficient  
							
							 
							
							... 
							
							
							
							(but simple!) datastructures in the rewriter with a more complex but
more efficient one.
This replaces the Deltas vector with a specialized BTree that makes
delta lookups much more efficient.  This speeds up -emit-html on a 500K
.i file from 157.154 to 27.127 seconds on my machine (5.8x).
While this code is functional, it isn't very pretty, I have much 
refactoring planned for it, and will remove the USE_VECTOR ifdef.
Stay tuned.
llvm-svn: 49586 
							
						 
						
							2008-04-12 20:28:24 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								740525a6b7 
								
							 
						 
						
							
							
								
								Use std::list's push_back instead of resize to add an element.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49582 
							
						 
						
							2008-04-12 12:38:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8f96d04ceb 
								
							 
						 
						
							
							
								
								don't diagnose empty source files, thanks Neil!  
							
							 
							
							... 
							
							
							
							llvm-svn: 49575 
							
						 
						
							2008-04-12 05:54:25 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								dfd52220d7 
								
							 
						 
						
							
							
								
								Fixed comments.  
							
							 
							
							... 
							
							
							
							Moved IdDeclInfo class to anonymous namespace.
Replaced array with a std::vector.
llvm-svn: 49570 
							
						 
						
							2008-04-12 01:50:47 +00:00  
						
					 
				
					
						
							
							
								 
								Argyrios Kyrtzidis
							
						 
						
							 
							
							
							
							
								
							
							
								b8a4920d62 
								
							 
						 
						
							
							
								
								Added PushOnScopeChains method to Sema, that adds a decl to both the IdResolver and the Scope.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49567 
							
						 
						
							2008-04-12 00:47:19 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								4572b45574 
								
							 
						 
						
							
							
								
								AST generation for objc2's property declarations.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49565 
							
						 
						
							2008-04-11 23:40:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8784a7c006 
								
							 
						 
						
							
							
								
								Add some boilerplate to report memory leaks at the end of an analyzed function.  
							
							 
							
							... 
							
							
							
							Still need some boilerplate in BugReporter to report bugs at the end
of a function (not associated with a particular statement).
llvm-svn: 49564 
							
						 
						
							2008-04-11 22:25:11 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								811c2b4edb 
								
							 
						 
						
							
							
								
								Added "GREndPathNodeBuilder", a new node builder that will be used for  
							
							 
							
							... 
							
							
							
							evaluating transfer functions at the end-of-path.
llvm-svn: 49561 
							
						 
						
							2008-04-11 22:03:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								0a86fdb1ff 
								
							 
						 
						
							
							
								
								Added FIXME  
							
							 
							
							... 
							
							
							
							llvm-svn: 49558 
							
						 
						
							2008-04-11 20:51:02 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								831f327568 
								
							 
						 
						
							
							
								
								Fix regression introduced by my last commit.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49556 
							
						 
						
							2008-04-11 20:23:24 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a7c44113bc 
								
							 
						 
						
							
							
								
								Changed behavior of how we handle "NULL" summaries: just call  
							
							 
							
							... 
							
							
							
							GRSimpleVals::EvalCal(), and don't change reference counts.
Remove "getDoNothingSummary()", as a NULL summary does the same thing.
Added temporary hack for the "Get" rule for objects that return a pointer type:
treat them as non-owned CF objects.
Added test case to detect the release of a non-owned object.
llvm-svn: 49555 
							
						 
						
							2008-04-11 20:11:19 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								5a4611cdda 
								
							 
						 
						
							
							
								
								Add class and super class location info to ObjCInterfaceDecl...  
							
							 
							
							... 
							
							
							
							llvm-svn: 49553 
							
						 
						
							2008-04-11 19:35:35 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								988990f842 
								
							 
						 
						
							
							
								
								Use RangedBugReport to report better ranges for reference count errors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49552 
							
						 
						
							2008-04-11 18:40:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								6e38ffa517 
								
							 
						 
						
							
							
								
								Added "RangedBugReport".  
							
							 
							
							... 
							
							
							
							llvm-svn: 49551 
							
						 
						
							2008-04-11 18:40:29 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								ef8b94ae84 
								
							 
						 
						
							
							
								
								Invoke destructors in Decl::Destroy().  
							
							 
							
							... 
							
							
							
							llvm-svn: 49547 
							
						 
						
							2008-04-11 18:04:39 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								963767476c 
								
							 
						 
						
							
							
								
								Minor changes per Chris L's review.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49539 
							
						 
						
							2008-04-11 16:55:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9b7206eb4f 
								
							 
						 
						
							
							
								
								don't read off the front of the buffer.  Thanks to Sam for pointing this out.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49535 
							
						 
						
							2008-04-11 16:20:41 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								703ae9624b 
								
							 
						 
						
							
							
								
								Stub out and start using a Decl::Destroy() method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49532 
							
						 
						
							2008-04-11 15:01:25 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								4c088b766d 
								
							 
						 
						
							
							
								
								Use the ASTContext allocator when creating deserialized Decl objects.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49530 
							
						 
						
							2008-04-11 14:49:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9950c80c83 
								
							 
						 
						
							
							
								
								two new files for previous patch, by Argiris Kirtzidis  
							
							 
							
							... 
							
							
							
							llvm-svn: 49521 
							
						 
						
							2008-04-11 07:06:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c5c95b52a8 
								
							 
						 
						
							
							
								
								Switch sema to maintaining its own scope chain information for variable  
							
							 
							
							... 
							
							
							
							shadowing, instead of threading it through the AST.  This patch contributed
by Argiris Kirtzidis!
llvm-svn: 49520 
							
						 
						
							2008-04-11 07:00:53 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4b77209694 
								
							 
						 
						
							
							
								
								Fixed some logic errors in the CF ref count checker; we now can detect simple  
							
							 
							
							... 
							
							
							
							use-after-release errors.  Added test case.
llvm-svn: 49509 
							
						 
						
							2008-04-10 23:44:06 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								de615836f3 
								
							 
						 
						
							
							
								
								Patch for:  
							
							 
							
							... 
							
							
							
							1) objc ivar processing is split out of ActOnField into its own ActOnIvar method.
2) the new objc ivar action takes visibility info directly, eliminating 
  AllVisibilities in ParseObjCClassInstanceVariables.
llvm-svn: 49506 
							
						 
						
							2008-04-10 23:32:45 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3c03d52d6e 
								
							 
						 
						
							
							
								
								Simplify CF ref. count checker state machine.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49505 
							
						 
						
							2008-04-10 23:09:18 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								22bd628056 
								
							 
						 
						
							
							
								
								Fix some bonehead bugs in summary generation in CFRefCount.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49503 
							
						 
						
							2008-04-10 22:58:08 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4a78c3ae11 
								
							 
						 
						
							
							
								
								Refactored all logic to run the GRSimpleVals and CFRef checker into a common  
							
							 
							
							... 
							
							
							
							code path in the clang driver.
Renamed options --grsimple to -checker-simple and -check-cfref to -checker-cfref.
llvm-svn: 49500 
							
						 
						
							2008-04-10 22:16:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5c7fce453d 
								
							 
						 
						
							
							
								
								reduce the amount of 'C++ magic' this code depends on :)  
							
							 
							
							... 
							
							
							
							llvm-svn: 49489 
							
						 
						
							2008-04-10 16:37:40 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ea1bc3bec6 
								
							 
						 
						
							
							
								
								CFRefCount analysis now properly calls "EmitWarnings" after analyzing a function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49488 
							
						 
						
							2008-04-10 16:21:09 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								42d9db75f0 
								
							 
						 
						
							
							
								
								When not emitting path diagnostics in BugReporter::EmitWarning(), use the  
							
							 
							
							... 
							
							
							
							BugReport-specific SourceRanges (when available).
llvm-svn: 49486 
							
						 
						
							2008-04-10 16:12:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								83744ddbd9 
								
							 
						 
						
							
							
								
								Fixed regressions in error reporting due to copy-paste errors (using the "begin"  
							
							 
							
							... 
							
							
							
							iterator instead of "end") and not implementing "getDescription()" for Nil
argument checks.
llvm-svn: 49485 
							
						 
						
							2008-04-10 16:05:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a12405b0ef 
								
							 
						 
						
							
							
								
								refactor Parser::ParseStructDeclaration to return a vector of uninterpreted  
							
							 
							
							... 
							
							
							
							declarators.  This allows the clients (C structs, objc classes, objc 
properties, [future] C++ classes) etc, to do custom processing before invoking
an action.
This has two benefits in the short term:
1) objc ivar processing should be split out of ActOnField into its own ActOn method.
2) the new objc ivar action can take visibility info directly, eliminating 
   AllVisibilities in ParseObjCClassInstanceVariables.
3) objc properties can pass their own special sauce down to sema as well.
llvm-svn: 49468 
							
						 
						
							2008-04-10 06:46:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								32295d344a 
								
							 
						 
						
							
							
								
								Simplify lifetime of location object.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49467 
							
						 
						
							2008-04-10 06:15:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0e91b41902 
								
							 
						 
						
							
							
								
								typedef void T;  
							
							 
							
							... 
							
							
							
							void f(T);
is only invalid in C++ mode, not C89 mode.
llvm-svn: 49460 
							
						 
						
							2008-04-10 02:26:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								58258246ec 
								
							 
						 
						
							
							
								
								Several improvements from Doug Gregor related to default  
							
							 
							
							... 
							
							
							
							argument handling.  I'll fix up the c89 (void) thing next.
llvm-svn: 49459 
							
						 
						
							2008-04-10 02:22:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c8bef6a076 
								
							 
						 
						
							
							
								
								Hooked up initial reference-count checks to the BugReporter interface.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49455 
							
						 
						
							2008-04-09 23:49:11 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7acc3a36ef 
								
							 
						 
						
							
							
								
								Major refactoring/cleanup of GRExprEngine, ExplodedGraph, and BugReporter.  
							
							 
							
							... 
							
							
							
							Bugs are now reported using a combination of "BugType" (previously
BugDescription) and Bug "BugReport" objects, which are fed to BugReporter (which
generates PathDiagnostics). This provides a far more modular way of registering
bug types and plugging in diagnostics.
GRExprEngine now owns its copy of GRCoreEngine, and is not owned by the
ExplodedGraph.
ExplodedGraph is no longer templated on the "checker", but instead on the state
contained in the nodes.
llvm-svn: 49453 
							
						 
						
							2008-04-09 21:41:14 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								43e0633048 
								
							 
						 
						
							
							
								
								The dtor CGObjCRuntime::~CGObjCRuntime() was implemented twice, once  
							
							 
							
							... 
							
							
							
							in CGObjCGNU.cpp and once in CGObjCEtoile.cpp.  Moved its definition to
CGObjC.cpp.  This resolves a build error in Xcode, and also cleans things up.
llvm-svn: 49429 
							
						 
						
							2008-04-09 15:51:31 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f17d5758fc 
								
							 
						 
						
							
							
								
								Micro-optimization: Don't use ostringstream when using a C-string literal  
							
							 
							
							... 
							
							
							
							will work just fine.
llvm-svn: 49427 
							
						 
						
							2008-04-09 15:40:40 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ce8e881dc3 
								
							 
						 
						
							
							
								
								Added some boilerplate for emitting warnings from the CF-reference count checker.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49414 
							
						 
						
							2008-04-09 01:10:13 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3cef454e2e 
								
							 
						 
						
							
							
								
								Added new "BugReporterHelper" class which is used by BugReporter to emit  
							
							 
							
							... 
							
							
							
							checker-specific diagnostics.
llvm-svn: 49412 
							
						 
						
							2008-04-09 00:20:43 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5f7ece0bff 
								
							 
						 
						
							
							
								
								Don't expand tabs in EscapeText, but rather expand them when writing out  
							
							 
							
							... 
							
							
							
							the HTML file.  This should reduce the amount of memory pressure on the
rewriter for files that have a lot of tabs.
llvm-svn: 49406 
							
						 
						
							2008-04-08 22:37:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b1f773ca98 
								
							 
						 
						
							
							
								
								When substituting tabs during HTMLification, only add " " when we are  
							
							 
							
							... 
							
							
							
							"escaping" spaces.
llvm-svn: 49404 
							
						 
						
							2008-04-08 22:28:15 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								506215c708 
								
							 
						 
						
							
							
								
								Changed the Decl::Kind enum of the ObjCPropertyDecl class, so that it follows  
							
							 
							
							... 
							
							
							
							the pattern of the other Decl classes.
llvm-svn: 49399 
							
						 
						
							2008-04-08 20:49:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								199abbcb26 
								
							 
						 
						
							
							
								
								Add support for C++ default arguments, and rework Parse-Sema  
							
							 
							
							... 
							
							
							
							interaction for function parameters, fixing PR2046.
Patch by Doug Gregor!
llvm-svn: 49370 
							
						 
						
							2008-04-08 05:04:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aa9c7aed0f 
								
							 
						 
						
							
							
								
								Add support for C++ default arguments, and rework Parse-Sema  
							
							 
							
							... 
							
							
							
							interaction for function parameters, fixing PR2046.
Patch by Doug Gregor!
llvm-svn: 49369 
							
						 
						
							2008-04-08 04:40:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a9077ab6b7 
								
							 
						 
						
							
							
								
								Add ids for line numbers, allowing us to jump to arbitrary line numbers within  
							
							 
							
							... 
							
							
							
							an HTMLified source file.
llvm-svn: 49359 
							
						 
						
							2008-04-07 23:53:30 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								bd1bd88423 
								
							 
						 
						
							
							
								
								Tweak message bubble color (gold)  
							
							 
							
							... 
							
							
							
							llvm-svn: 49357 
							
						 
						
							2008-04-07 23:43:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								e73006ee45 
								
							 
						 
						
							
							
								
								Improve BugReport diagnostics for loops and ? operator.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49356 
							
						 
						
							2008-04-07 23:35:17 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								e0680b7e7a 
								
							 
						 
						
							
							
								
								Pass the ASTContext object around when deserializing Decl and Stmt objects, so  
							
							 
							
							... 
							
							
							
							they can be created using the same allocator as in the "from source code" case.
llvm-svn: 49353 
							
						 
						
							2008-04-07 21:55:54 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								fba3942438 
								
							 
						 
						
							
							
								
								Have Parser::FuzzyParseMicrosoftAsmStatement() return the null statement (';').  
							
							 
							
							... 
							
							
							
							llvm-svn: 49349 
							
						 
						
							2008-04-07 21:06:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4ba0cef93b 
								
							 
						 
						
							
							
								
								random whitespace fixes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49328 
							
						 
						
							2008-04-07 07:01:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fa00732562 
								
							 
						 
						
							
							
								
								fix a bug I introduced in my previous checkin.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49327 
							
						 
						
							2008-04-07 06:58:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e6b27c6ecd 
								
							 
						 
						
							
							
								
								simplify array compatibility testing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49326 
							
						 
						
							2008-04-07 06:56:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7460fd297d 
								
							 
						 
						
							
							
								
								simplify reference handling.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49325 
							
						 
						
							2008-04-07 06:52:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								49af6a4beb 
								
							 
						 
						
							
							
								
								move some code around, no other change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49324 
							
						 
						
							2008-04-07 06:51:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ec646834e7 
								
							 
						 
						
							
							
								
								simplify compatibility testing for tag types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49323 
							
						 
						
							2008-04-07 06:49:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3c7961597f 
								
							 
						 
						
							
							
								
								merge compatibility testing of qualified/unqualified interfaces together  
							
							 
							
							... 
							
							
							
							and fix a bug.
llvm-svn: 49322 
							
						 
						
							2008-04-07 06:38:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								64bf6ba308 
								
							 
						 
						
							
							
								
								Fix a really bad bug where type uniquing would merge a<x> with b<x> as the same  
							
							 
							
							... 
							
							
							
							type, because it did not include a/b in the hash.
llvm-svn: 49321 
							
						 
						
							2008-04-07 06:37:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c9062d01d7 
								
							 
						 
						
							
							
								
								MyOtherClass<MyProtocol>* is compatible with MyClass*  
							
							 
							
							... 
							
							
							
							if MyClass is a superclass of MyOtherClass, there is no need for
an exact interface match.
llvm-svn: 49320 
							
						 
						
							2008-04-07 06:06:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7bbd3d75ef 
								
							 
						 
						
							
							
								
								Remove a dead check for compatible builtin types  
							
							 
							
							... 
							
							
							
							llvm-svn: 49319 
							
						 
						
							2008-04-07 05:55:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								90bef90ad4 
								
							 
						 
						
							
							
								
								futher simplify compatibility testing of objc interface types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49318 
							
						 
						
							2008-04-07 05:53:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9555466f7e 
								
							 
						 
						
							
							
								
								ocuvector and vector should be compatible.  Fix ASQual compatibility.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49316 
							
						 
						
							2008-04-07 05:43:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aee96c3a90 
								
							 
						 
						
							
							
								
								Fix comment typo, do reference eval at the correct type.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49315 
							
						 
						
							2008-04-07 05:37:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f8a6b4d4fc 
								
							 
						 
						
							
							
								
								simplify vector type compatibility testing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49314 
							
						 
						
							2008-04-07 05:36:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2a3569b5d9 
								
							 
						 
						
							
							
								
								move ObjCQualifiedIdTypesAreCompatible out of ASTContext into Sema.  
							
							 
							
							... 
							
							
							
							While it is similar to the other compatibility predicates in ASTContext,
it is not used by them and is different.
In addition, greatly simplify ObjCQualifiedIdTypesAreCompatible and
fix some canonical type bugs.  Also, simplify my Type::getAsObjC* methods.
llvm-svn: 49313 
							
						 
						
							2008-04-07 05:30:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ae947fe3f9 
								
							 
						 
						
							
							
								
								Replace an O(n^2) algorithm in areCompatObjCQualInterfaces with  
							
							 
							
							... 
							
							
							
							an O(n) algorithm by taking advantage of the fact that the
protocol qualifier list is already guaranteed sorted.
llvm-svn: 49312 
							
						 
						
							2008-04-07 05:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e0ea37ace7 
								
							 
						 
						
							
							
								
								move sorting of qualifying protocols from the parser into  
							
							 
							
							... 
							
							
							
							sema.  This allows clients of the parser to have the unmolested 
list if desired, and guarantees that noone can create an
ObjCQualifiedInterfaceType with an unsorted list.
llvm-svn: 49310 
							
						 
						
							2008-04-07 04:56:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bd7981a978 
								
							 
						 
						
							
							
								
								eliminate getReferencedProtocols from  
							
							 
							
							... 
							
							
							
							ObjCQualifiedIdType/ObjCQualifiedInterfaceType, adding an interator 
interface instead.
llvm-svn: 49308 
							
						 
						
							2008-04-07 04:44:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f96084ee73 
								
							 
						 
						
							
							
								
								make QualifiedInterfaceTypesAreCompatible a static function  
							
							 
							
							... 
							
							
							
							and start simplifying it.
llvm-svn: 49307 
							
						 
						
							2008-04-07 04:17:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ae1b6078e3 
								
							 
						 
						
							
							
								
								This predicate is just a generic "issuperclass" predicate, move it to the  
							
							 
							
							... 
							
							
							
							ObjCInterfaceType as a method.
llvm-svn: 49306 
							
						 
						
							2008-04-07 04:13:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ddfdaf9a69 
								
							 
						 
						
							
							
								
								Simplify some objc compatibility testing, make interfaceTypesAreCompatible  
							
							 
							
							... 
							
							
							
							a static function named isCompatibleInterfaceAssign.
llvm-svn: 49305 
							
						 
						
							2008-04-07 04:07:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f8c3e82897 
								
							 
						 
						
							
							
								
								simplify the logic in ASTContext::objcTypesAreCompatible  
							
							 
							
							... 
							
							
							
							llvm-svn: 49302 
							
						 
						
							2008-04-07 01:30:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ba5862e74c 
								
							 
						 
						
							
							
								
								clean up some logic in objc type handling.  Specifically, make it so that  
							
							 
							
							... 
							
							
							
							there are QualType::getAsObjc* type methods, and make isa<ObjCInterfaceType>
return true for ObjCQualifiedInterfaceType's.
llvm-svn: 49300 
							
						 
						
							2008-04-07 00:27:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b9dfb03ddb 
								
							 
						 
						
							
							
								
								trivial changes to getFloatingTypeOfSizeWithinDomain, nothing significant.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49298 
							
						 
						
							2008-04-06 23:58:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d4bacd68bf 
								
							 
						 
						
							
							
								
								simplify max type computation by making it return an integer (like  
							
							 
							
							... 
							
							
							
							getFloatingTypeOrder) instead of a type.  Fix a fixme.
llvm-svn: 49297 
							
						 
						
							2008-04-06 23:55:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b90739d556 
								
							 
						 
						
							
							
								
								minor simplifications/cleanups to type comparisons.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49296 
							
						 
						
							2008-04-06 23:38:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								fc4379f916 
								
							 
						 
						
							
							
								
								remove the Decl::getCanonicalType() method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49295 
							
						 
						
							2008-04-06 23:10:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f1e4ec2898 
								
							 
						 
						
							
							
								
								remove a use of getCanonicalType.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49294 
							
						 
						
							2008-04-06 23:09:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								76a00cf3ff 
								
							 
						 
						
							
							
								
								Start switching clients over from CT.getCanonicalType() to Context.getCanonicalType(CT) for PR2189.  
							
							 
							
							... 
							
							
							
							While I'm at it, clean up a bit of maxIntegerType.
llvm-svn: 49292 
							
						 
						
							2008-04-06 22:59:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ed0d0795ff 
								
							 
						 
						
							
							
								
								introduce a new ASTContext::getCanonicalType method.  This is the first  
							
							 
							
							... 
							
							
							
							step towards fixing PR2189.
llvm-svn: 49291 
							
						 
						
							2008-04-06 22:41:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7d9b6a9d50 
								
							 
						 
						
							
							
								
								Use EnumType to simplify some code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49289 
							
						 
						
							2008-04-06 22:29:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8b23c25b21 
								
							 
						 
						
							
							
								
								make use of EnumType to simplify some code, eliminate warnings  
							
							 
							
							... 
							
							
							
							when assertions are disabled.
llvm-svn: 49288 
							
						 
						
							2008-04-06 22:05:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e07e912f5e 
								
							 
						 
						
							
							
								
								Make EnumType/RecordType classof predicates simpler and more efficient in  
							
							 
							
							... 
							
							
							
							some cases.
llvm-svn: 49287 
							
						 
						
							2008-04-06 22:04:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3fb61c1fbb 
								
							 
						 
						
							
							
								
								add a helper EnumType object for asking about tagtypes for enums.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49286 
							
						 
						
							2008-04-06 21:58:47 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								d36afd7d65 
								
							 
						 
						
							
							
								
								tracking API changes arising from r49277  
							
							 
							
							... 
							
							
							
							llvm-svn: 49279 
							
						 
						
							2008-04-06 20:42:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								784903e4c1 
								
							 
						 
						
							
							
								
								move a semantic check out of the parser into sema.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49273 
							
						 
						
							2008-04-06 07:49:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								371ed4e7a9 
								
							 
						 
						
							
							
								
								now that identifier list parsing is split out, simplify handling of  
							
							 
							
							... 
							
							
							
							normal typed argument lists.
llvm-svn: 49272 
							
						 
						
							2008-04-06 06:57:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								285a3e47be 
								
							 
						 
						
							
							
								
								reject 'int test(x, x) int x; {}'  
							
							 
							
							... 
							
							
							
							llvm-svn: 49271 
							
						 
						
							2008-04-06 06:50:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								67b450cb48 
								
							 
						 
						
							
							
								
								reject 'typedef int y; int test(x, y)'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49270 
							
						 
						
							2008-04-06 06:47:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9186f556cc 
								
							 
						 
						
							
							
								
								simplify Parser::ParseFunctionDeclaratorIdentifierList  
							
							 
							
							... 
							
							
							
							llvm-svn: 49269 
							
						 
						
							2008-04-06 06:39:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6c940e6e6a 
								
							 
						 
						
							
							
								
								split parsing of identifier lists in function declarators out into  
							
							 
							
							... 
							
							
							
							their own method.
llvm-svn: 49268 
							
						 
						
							2008-04-06 06:34:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								69740a60b6 
								
							 
						 
						
							
							
								
								minor simplification  
							
							 
							
							... 
							
							
							
							llvm-svn: 49267 
							
						 
						
							2008-04-06 06:03:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								65dd843cb4 
								
							 
						 
						
							
							
								
								finish up throw parsing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49266 
							
						 
						
							2008-04-06 06:02:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c0a1c7d387 
								
							 
						 
						
							
							
								
								split code for handling grouping parens in declarators from code that  
							
							 
							
							... 
							
							
							
							handles function argument parens in declarators.
llvm-svn: 49265 
							
						 
						
							2008-04-06 05:45:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c439f0de6d 
								
							 
						 
						
							
							
								
								another minor simplification  
							
							 
							
							... 
							
							
							
							llvm-svn: 49264 
							
						 
						
							2008-04-06 05:27:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								521ff2b430 
								
							 
						 
						
							
							
								
								Use token lookahead to simplify some code that is rarely executed.  
							
							 
							
							... 
							
							
							
							Since it is rare, the cost is not significant and we enjoy the 
simplification.
llvm-svn: 49263 
							
						 
						
							2008-04-06 05:26:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								713e6592be 
								
							 
						 
						
							
							
								
								Fix a bug I introduced in my const'ification patch.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49262 
							
						 
						
							2008-04-06 05:25:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0a5ff0d34a 
								
							 
						 
						
							
							
								
								This patch contains these changes:  
							
							 
							
							... 
							
							
							
							-Renamed ContextDecl -> DeclContext
-Removed DeclContext pointer from FieldDecl
-EnumDecl inherits from DeclContext, instead of TagDecl
Patch by Argiris Kirtzidis!
llvm-svn: 49261 
							
						 
						
							2008-04-06 04:47:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e8e1e1131d 
								
							 
						 
						
							
							
								
								fix css font name, patch by Cédric Venet  
							
							 
							
							... 
							
							
							
							llvm-svn: 49260 
							
						 
						
							2008-04-06 04:37:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1e830c07a2 
								
							 
						 
						
							
							
								
								templates can't be static.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49258 
							
						 
						
							2008-04-06 04:22:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								157dd0811e 
								
							 
						 
						
							
							
								
								fix a number of const qualification bugs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49257 
							
						 
						
							2008-04-06 04:11:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c4f02b6bed 
								
							 
						 
						
							
							
								
								add a missing #include  
							
							 
							
							... 
							
							
							
							llvm-svn: 49256 
							
						 
						
							2008-04-06 04:02:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9d51f2b9d4 
								
							 
						 
						
							
							
								
								Fix handling of implicit int, resolving PR2012 and reverting (and  
							
							 
							
							... 
							
							
							
							subsuming) my patch for PR1999.
llvm-svn: 49251 
							
						 
						
							2008-04-05 06:32:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								94fc8063b4 
								
							 
						 
						
							
							
								
								Step  #1  to fixing PR2012: c89 allows declspecs to be completely  
							
							 
							
							... 
							
							
							
							missing from function definitions only.  If we see a function 
definiton with missing declspecs, just fudge in an int.
llvm-svn: 49250 
							
						 
						
							2008-04-05 05:52:15 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								a1f414517c 
								
							 
						 
						
							
							
								
								Support MS-specific integer suffixes (i8, i16, i32, i64, i128).  
							
							 
							
							... 
							
							
							
							llvm-svn: 49229 
							
						 
						
							2008-04-04 21:02:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								579a05d767 
								
							 
						 
						
							
							
								
								Fix PR2049, updating Eli's patch that fixes to mainline.  This produces incorrect  
							
							 
							
							... 
							
							
							
							code, but the codegen doesn't crash.  I'll file a bugzilla for the AST being wrong.
llvm-svn: 49226 
							
						 
						
							2008-04-04 18:42:16 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								c7d38433cd 
								
							 
						 
						
							
							
								
								Rename ScopedDecl::getContext() -> getContextDecl(). Two motivations:  
							
							 
							
							... 
							
							
							
							#1 : To be consistent with FieldDecl::getContextDecl(), which serves the same purpose.
#2 : From my perspective, getContext() is too general (and used by several other classes for different purposes).
llvm-svn: 49224 
							
						 
						
							2008-04-04 18:15:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3bc75afcf 
								
							 
						 
						
							
							
								
								Since isComplexType() no longer returns true for _Complex integers, the code  
							
							 
							
							... 
							
							
							
							generator needs to call isAnyComplexType().  This fixes PR1960.
llvm-svn: 49220 
							
						 
						
							2008-04-04 16:54:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								019193acea 
								
							 
						 
						
							
							
								
								updates from David.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49217 
							
						 
						
							2008-04-04 15:59:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								15c6b7c948 
								
							 
						 
						
							
							
								
								various bug fixes, add to xcode project.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49216 
							
						 
						
							2008-04-04 15:47:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6175bbbee2 
								
							 
						 
						
							
							
								
								initial checkin of Étoilé runtime support, patch by David Chisnall  
							
							 
							
							... 
							
							
							
							llvm-svn: 49215 
							
						 
						
							2008-04-04 15:45:52 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								3913ea4bfb 
								
							 
						 
						
							
							
								
								Add explicit support for diagnosing implicit function decls.  
							
							 
							
							... 
							
							
							
							Without this, the diagnostic is very confusing. The diag is now consistent with gcc as well.
llvm-svn: 49214 
							
						 
						
							2008-04-04 14:32:09 +00:00  
						
					 
				
					
						
							
							
								 
								Seo Sanghyeon
							
						 
						
							 
							
							
							
							
								
							
							
								055c94f2f8 
								
							 
						 
						
							
							
								
								PR1963: Address of function is a constant expression  
							
							 
							
							... 
							
							
							
							llvm-svn: 49212 
							
						 
						
							2008-04-04 09:45:30 +00:00  
						
					 
				
					
						
							
							
								 
								Torok Edwin
							
						 
						
							 
							
							
							
							
								
							
							
								602647aa70 
								
							 
						 
						
							
							
								
								fix build error: add missing braces.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49209 
							
						 
						
							2008-04-04 06:16:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c5ffed4a66 
								
							 
						 
						
							
							
								
								Introduce ContextDecl, patch by Argiris Kirtzidis!  
							
							 
							
							... 
							
							
							
							-Added ContextDecl (no TranslationUnitDecl)
-ScopedDecl class has a ContextDecl member
-FieldDecl class has a ContextDecl member, so that a Field or a ObjCIvar can be traced back to their RecordDecl/ObjCInterfaceDecl easily
-FunctionDecl, ObjCMethodDecl, TagDecl, ObjCInterfaceDecl inherit from ContextDecl. With TagDecl as ContextDecl, enum constants have a EnumDecl as their context.
-Moved Decl class to a "DeclBase.h" along with ContextDecl class
-CurContext is handled by Sema
llvm-svn: 49208 
							
						 
						
							2008-04-04 06:12:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5506f8cf4c 
								
							 
						 
						
							
							
								
								Codegen assignment to self correctly, patch by David Chisnall!  
							
							 
							
							... 
							
							
							
							llvm-svn: 49201 
							
						 
						
							2008-04-04 04:07:35 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								002e4bd158 
								
							 
						 
						
							
							
								
								Ignore qualifiers when checking vector operands, just like scalar operands.  
							
							 
							
							... 
							
							
							
							This prevents things like 
a += b[0]; where a is a float4 and b is a float4 * (address_space 1)
llvm-svn: 49199 
							
						 
						
							2008-04-04 01:30:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								d1a2efadba 
								
							 
						 
						
							
							
								
								Added investigate patch for an occasionally failing assertion (heisenbug?)  
							
							 
							
							... 
							
							
							
							llvm-svn: 49193 
							
						 
						
							2008-04-03 21:44:24 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								11b6bb408e 
								
							 
						 
						
							
							
								
								Teach clang how to codegen punpcklbw and punpcklwd  
							
							 
							
							... 
							
							
							
							llvm-svn: 49186 
							
						 
						
							2008-04-03 19:58:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								10569cdd87 
								
							 
						 
						
							
							
								
								Better range highlight for undefined-argument checks.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49184 
							
						 
						
							2008-04-03 18:52:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5f5592062b 
								
							 
						 
						
							
							
								
								When reporting "bad receiver" warnings, highlight the receiver.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49183 
							
						 
						
							2008-04-03 18:46:16 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								89575b7bcb 
								
							 
						 
						
							
							
								
								Use "getRanges" in default implementation of "getEndPath" to determine  
							
							 
							
							... 
							
							
							
							the ranges of highlighted elements in the source code.
llvm-svn: 49181 
							
						 
						
							2008-04-03 18:00:37 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								cb2dc8eca5 
								
							 
						 
						
							
							
								
								Hooked up GRSimpleAPICheck and the simple Objective-C Foundation checks to use  
							
							 
							
							... 
							
							
							
							the new BugReporter interface.
llvm-svn: 49180 
							
						 
						
							2008-04-03 17:57:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								406192d163 
								
							 
						 
						
							
							
								
								Added "getLogicalLineNumber" and "getLogicalColumnNumber" to FullSourceLoc.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49177 
							
						 
						
							2008-04-03 17:55:15 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								2f8a31ca92 
								
							 
						 
						
							
							
								
								trivial whitespace fix  
							
							 
							
							... 
							
							
							
							llvm-svn: 49160 
							
						 
						
							2008-04-03 14:20:28 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ca40664275 
								
							 
						 
						
							
							
								
								Handle the case when getEndPath() returns NULL.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49155 
							
						 
						
							2008-04-03 07:33:55 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c599179267 
								
							 
						 
						
							
							
								
								Some cleanups in EscapeText and AddLineNumbers.  Still investigating performance  
							
							 
							
							... 
							
							
							
							issues.
llvm-svn: 49150 
							
						 
						
							2008-04-03 07:12:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e799eb5daa 
								
							 
						 
						
							
							
								
								Fix PR2081 (problems codegen'ing some recursive structures) patch  
							
							 
							
							... 
							
							
							
							by Lauro Venancio!
llvm-svn: 49144 
							
						 
						
							2008-04-03 05:50:42 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								2289459bf6 
								
							 
						 
						
							
							
								
								Created a destructor so that the top-level decls can be deleted.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49142 
							
						 
						
							2008-04-03 05:35:20 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								e4c029e7aa 
								
							 
						 
						
							
							
								
								Add back bug name to PathDiagnostic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49139 
							
						 
						
							2008-04-03 05:23:19 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3a0702e631 
								
							 
						 
						
							
							
								
								Fix a bug where we didn't check the RHS for null, we checked  
							
							 
							
							... 
							
							
							
							the LHS for null twice.
llvm-svn: 49138 
							
						 
						
							2008-04-03 05:07:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								efdc7685d4 
								
							 
						 
						
							
							
								
								qualifier comparisons should be done on canonical types.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49137 
							
						 
						
							2008-04-03 05:07:04 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								ca6226628e 
								
							 
						 
						
							
							
								
								Call "delete" on the body of FunctionDecls.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49135 
							
						 
						
							2008-04-03 05:01:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4e9cc3f272 
								
							 
						 
						
							
							
								
								When creating PathDiagnostics, created a trimmed graph first and report the  
							
							 
							
							... 
							
							
							
							BFS path to the root.  This also avoids problems with loops in the ExplodedGraph.
llvm-svn: 49133 
							
						 
						
							2008-04-03 04:59:14 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								505a36afc6 
								
							 
						 
						
							
							
								
								Created new path-sensitive bug-reporting scheme based on the classes  
							
							 
							
							... 
							
							
							
							"BugReporter" and "BugDescription".  BugDescription is used to describe
a bug and provide pieces of the PathDiagnostic, and BugReporter creates
the actual PathDiagnostic by crawling through the ExplodedGraph.
Migrated checks done by GRSimpleVals to be reported using the new BugReporter
mechanism.
llvm-svn: 49127 
							
						 
						
							2008-04-03 04:42:52 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								84041843af 
								
							 
						 
						
							
							
								
								CSS tweaking on blue boxes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49121 
							
						 
						
							2008-04-02 22:50:50 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								33d03a52f0 
								
							 
						 
						
							
							
								
								80 col violation  
							
							 
							
							... 
							
							
							
							llvm-svn: 49120 
							
						 
						
							2008-04-02 22:08:09 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								744fb6d9e7 
								
							 
						 
						
							
							
								
								Added more PathDiagnostic rendering for terminators: switch, goto, loops.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49119 
							
						 
						
							2008-04-02 22:03:53 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ab2a52c4bf 
								
							 
						 
						
							
							
								
								Blue diagnostic boxes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49117 
							
						 
						
							2008-04-02 21:14:04 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								258493c188 
								
							 
						 
						
							
							
								
								Added path sequence numbers in HTML output of PathDiagnostics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49116 
							
						 
						
							2008-04-02 21:04:20 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								778927532d 
								
							 
						 
						
							
							
								
								Change ObjCInterfaceDecl to inherit from NamedDecl (not TypeDecl). While ObjCInterfaceDecl is arguably a TypeDecl, it isn't a ScopedDecl. Since TypeDecl's are scoped, it makes sense to simply treat them as NamedDecl's. I could have fiddled a bit more with the hierarchy (in terms of creating a non-scoped TypeDecl), however this probably isn't worth the effort.  
							
							 
							
							... 
							
							
							
							I also finished unifying access to scope decl change by converting Sema::getObjCInterfaceDecl() to use Sema::LookupDecl(). This is much cleaner now:-)
llvm-svn: 49107 
							
						 
						
							2008-04-02 18:30:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								383bfd27d0 
								
							 
						 
						
							
							
								
								Shorted bug-description.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49102 
							
						 
						
							2008-04-02 18:02:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								182f660d8d 
								
							 
						 
						
							
							
								
								simplify some code by using PointerLikeType.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49101 
							
						 
						
							2008-04-02 17:45:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								db5f1fa3d8 
								
							 
						 
						
							
							
								
								add a common base class "PointerLikeType" for PointerType and ReferenceType,  
							
							 
							
							... 
							
							
							
							allowing them to be treated the same in some contexts.  A suggestion for a
better name is welcome :)
llvm-svn: 49100 
							
						 
						
							2008-04-02 17:35:06 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b1f7398b1c 
								
							 
						 
						
							
							
								
								properly handle array decay in objc message exprs.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49098 
							
						 
						
							2008-04-02 17:17:33 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								2fc93f5c43 
								
							 
						 
						
							
							
								
								Two changes to Sema::LookupDecl() interface.  
							
							 
							
							... 
							
							
							
							(1) Remove IdLoc (it's never used). 
(2) Add a bool to enable/disable lazy builtin creaation (defaults to true).
This enables us to use LookupDecl() in Sema::isTypeName(), which is also part of this commit.
To make this work, I changed isTypeName() to be a non-const member function. I'm not happy with this, however I fiddled with making LookupDecl() and friends const and it got ugly pretty quickly. We can certainly add it back if/when someone has time to fiddle with it. For now, I thought this simplification was more important than retaining the const-ness. 
llvm-svn: 49087 
							
						 
						
							2008-04-02 14:35:35 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								d12d21c000 
								
							 
						 
						
							
							
								
								Beginning of some cleanups; start generating path diagnostics using objects  
							
							 
							
							... 
							
							
							
							that describe a bug.
llvm-svn: 49086 
							
						 
						
							2008-04-02 07:05:46 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b3a176da9f 
								
							 
						 
						
							
							
								
								Various parts of the standard require something to be an "incomplete or  
							
							 
							
							... 
							
							
							
							object type".  Add a predicate that checks exactly this, as it is equivalent
to checking ot see if the type is *not* a function type, which is faster
to check.
llvm-svn: 49082 
							
						 
						
							2008-04-02 06:59:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								daaa8ba77e 
								
							 
						 
						
							
							
								
								1) Enforce C99 6.7.3p2: "Types other than pointer types derived from  
							
							 
							
							... 
							
							
							
							object or incomplete types shall not be restrict-qualified."
2) Warn about qualifiers on function types: C99 6.7.3p8: "If the 
specification of a function type includes any type qualifiers, the 
behavior is undefined."
3) Implement restrict on C++ references.
4) fix some locations for various C++ reference diagnostics.
llvm-svn: 49081 
							
						 
						
							2008-04-02 06:50:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								53be405c3a 
								
							 
						 
						
							
							
								
								Add a citation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49080 
							
						 
						
							2008-04-02 06:06:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a21ad8058a 
								
							 
						 
						
							
							
								
								Fix several bugs in array -> pointer decomposition.  
							
							 
							
							... 
							
							
							
							First, we got several CVR propagation cases wrong, which Eli pointed
out in PR2039.
Second, we didn't propagate address space qualifiers correctly, leading
to incorrect lowering of code in CodeGen/address-space.c.
Third, we didn't uniformly propagate the specifier in the array to the
pointer ("int[restrict 4]" -> "int *restrict").
This adds an ASTContext::getArrayDecayedType member that handles the 
non-trivial logic for this seemingly simple operation.
llvm-svn: 49078 
							
						 
						
							2008-04-02 05:18:44 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								2c71d51513 
								
							 
						 
						
							
							
								
								Added initial hacked support for display path diagnostics with  
							
							 
							
							... 
							
							
							
							GRSimpleVals warnings.  Cleaning up, but now we get multiple bubbles (branches are annotated).
llvm-svn: 49077 
							
						 
						
							2008-04-02 05:15:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								800817bf6d 
								
							 
						 
						
							
							
								
								remove blank line.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49075 
							
						 
						
							2008-04-02 05:09:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								091718d300 
								
							 
						 
						
							
							
								
								print cvr qualifiers on simplified typedefs  
							
							 
							
							... 
							
							
							
							llvm-svn: 49074 
							
						 
						
							2008-04-02 05:06:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								24d5bfe0b2 
								
							 
						 
						
							
							
								
								rename some variables, fix 80 col violation.  No  
							
							 
							
							... 
							
							
							
							functionality change.
llvm-svn: 49072 
							
						 
						
							2008-04-02 04:24:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								81cb9e8637 
								
							 
						 
						
							
							
								
								Fix PR2017 and silence some bogus errors.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49068 
							
						 
						
							2008-04-02 01:05:10 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								9b94b17806 
								
							 
						 
						
							
							
								
								Fix a comment typo and add a couple suggestions from Chris.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49066 
							
						 
						
							2008-04-02 00:39:51 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								257520b1b4 
								
							 
						 
						
							
							
								
								Fairly large "cleaup" related to changing ObjCCompatibleAliasDecl superclass (to inherit from NamedDecl, instead of ScopedDecl).  
							
							 
							
							... 
							
							
							
							- Added a DenseMap to associate an IdentifierInfo with the ObjCCompatibleAliasDecl.
- Renamed LookupScopedDecl->LookupDecl and changed it's return type to Decl. Also added lookup for ObjCCompatibleAliasDecl's.
- Removed Sema::LookupInterfaceDecl(). Converted clients to used LookupDecl().
- Some minor indentation changes.
Will deal with ObjCInterfaceDecl and getObjCInterfaceDecl() in a separate commit...
llvm-svn: 49058 
							
						 
						
							2008-04-01 23:04:06 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								94896e17bb 
								
							 
						 
						
							
							
								
								Patch by Argiris Kirtzidis:  Fix a dangling pointer error!  
							
							 
							
							... 
							
							
							
							llvm-svn: 49057 
							
						 
						
							2008-04-01 22:35:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								595cf9ff81 
								
							 
						 
						
							
							
								
								Update to match simplified llvm MemoryBuffer interfaces for files.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49042 
							
						 
						
							2008-04-01 18:04:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4f6002c79a 
								
							 
						 
						
							
							
								
								prune dead #includes  
							
							 
							
							... 
							
							
							
							llvm-svn: 49033 
							
						 
						
							2008-04-01 06:08:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								47448288ee 
								
							 
						 
						
							
							
								
								MemoryBuffer::getFile got smarter, obviating the need for readfilefast.  
							
							 
							
							... 
							
							
							
							The new MemoryBuffer doesn't "leak" file descriptors and handles the
small file case efficiently.
llvm-svn: 49032 
							
						 
						
							2008-04-01 06:06:37 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3bcfc6edc0 
								
							 
						 
						
							
							
								
								Better handling for tabs with message bubbles.  
							
							 
							
							... 
							
							
							
							llvm-svn: 49001 
							
						 
						
							2008-03-31 23:14:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								e9f2a90d1f 
								
							 
						 
						
							
							
								
								Do not prepend the keyword "[CHECKER]" to checker messages when using  
							
							 
							
							... 
							
							
							
							a PathDiagnosticClient.
llvm-svn: 48996 
							
						 
						
							2008-03-31 20:42:43 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								93eea6e1a0 
								
							 
						 
						
							
							
								
								Hack ReadFileFast() to raise the threshold of memory mapped files (from 4->12 pages).  
							
							 
							
							... 
							
							
							
							This is a temporary solution to avoid running out of file descriptors (which defaults to 256).
Need to benchmark to understand the speed benefit. If the benefit is small, the simple solution is to avoid memory mapping files. If the benefit is significant, more thought is necessary.
llvm-svn: 48991 
							
						 
						
							2008-03-31 18:44:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								bb7f03f926 
								
							 
						 
						
							
							
								
								Include ranges in GRSimpleVals diagnostics.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48990 
							
						 
						
							2008-03-31 18:44:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c27815ca82 
								
							 
						 
						
							
							
								
								Inlined clang/Analysis/Analyses/GRSimpleVals.h into LocalCheckers.h and removed  
							
							 
							
							... 
							
							
							
							GRSimpleVals.h
Added a PathDiagnosticClient option to the driver functions for the
CFRefCountChecker and the GRSimpleVals analysis. Both analyses now accept a "-o"
argument from the driver that specifies where HTML reports should be dumped.
llvm-svn: 48989 
							
						 
						
							2008-03-31 18:26:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								491dc9f4a0 
								
							 
						 
						
							
							
								
								Added variation of the "Report" method in the class Diagnostic that takes  
							
							 
							
							... 
							
							
							
							an optional DiagnosticClient argument that differs from the client stored
internally in the Diagnostic object.
llvm-svn: 48986 
							
						 
						
							2008-03-31 18:23:15 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								f646774f32 
								
							 
						 
						
							
							
								
								Added path-sensitive check for return statements that return the address  
							
							 
							
							... 
							
							
							
							of a stack variable.  This is the path-sensitive version of a check that
is already done during semantic analysis.
llvm-svn: 48980 
							
						 
						
							2008-03-31 15:02:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								59a2594f3f 
								
							 
						 
						
							
							
								
								rename Decl::CompatibleAlias -> ObjCCompatibleAlias.  
							
							 
							
							... 
							
							
							
							Fix objc ivar lookup.  Ivar lookup should occur between lookup
of method-local values and lookup of globals.  Emulate this with
some logic in the handling of Sema::ActOnIdentifierExpr.
Two todo's left:
 1) sema shouldn't turn a bare reference to an ivar into "self->ivar"
    in the AST.  This is a hack.
 2) The new ScopedDecl::isDefinedOutsideFunctionOrMethod method does
    not correctly handle typedefs and enum constants yet.
llvm-svn: 48972 
							
						 
						
							2008-03-31 00:36:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c00c35a857 
								
							 
						 
						
							
							
								
								some cleanups on top of David's patch.  There are still two  
							
							 
							
							... 
							
							
							
							remaining open issues I've communicated to him:
1) self can be assigned to, and his patch didn't handle it correctly.
2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses
   all parent class ivars) and flattens classes.  If A derives from B, 
   and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}.
David, please review.
llvm-svn: 48970 
							
						 
						
							2008-03-30 23:25:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4bd5596d08 
								
							 
						 
						
							
							
								
								Add initial support for objc codegen for methods, ivars, and the  
							
							 
							
							... 
							
							
							
							etoile runtime, patch by David Chisnall!
llvm-svn: 48969 
							
						 
						
							2008-03-30 23:03:07 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								0de4199ca0 
								
							 
						 
						
							
							
								
								Make sure Sema::ActOnClassMessage() correctly diagnoses "super".  
							
							 
							
							... 
							
							
							
							llvm-svn: 48924 
							
						 
						
							2008-03-28 21:37:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c719424caa 
								
							 
						 
						
							
							
								
								Added skeleton checking for NSString's method initWithFormat: (do not pass nil).  This won't be useful in most cases right now  
							
							 
							
							... 
							
							
							
							because the analyzer isn't tracking expected types for an object, and [NSString alloc] just runs "id".
llvm-svn: 48917 
							
						 
						
							2008-03-28 16:09:38 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								276278e5d2 
								
							 
						 
						
							
							
								
								Expanded NSString checking to check for nil for a few more methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48898 
							
						 
						
							2008-03-27 22:05:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								2e4e7ccb22 
								
							 
						 
						
							
							
								
								Add line SourceLocation to NSString checks.  
							
							 
							
							... 
							
							
							
							Added test case to test warning about passing 'nil' to NSString's compare: method.
llvm-svn: 48896 
							
						 
						
							2008-03-27 21:23:57 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								27156c8c9f 
								
							 
						 
						
							
							
								
								Hooked up initial NSString interface checking to GRSimpleVals.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48895 
							
						 
						
							2008-03-27 21:15:17 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								64b95a024e 
								
							 
						 
						
							
							
								
								Minor CSS tweaking (smaller h1 tags).  
							
							 
							
							... 
							
							
							
							Bug fix in EscapeText (for std::string) where spaces were not properly emitted.
llvm-svn: 48889 
							
						 
						
							2008-03-27 17:28:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a4d60b6de3 
								
							 
						 
						
							
							
								
								Add creation of BasicObjCFoundationChecks when running GRSimpleVals from the driver.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48886 
							
						 
						
							2008-03-27 17:17:22 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								561dfe3153 
								
							 
						 
						
							
							
								
								Add html::EscapeText for std::string; use this function to escape text in message bubbles.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48884 
							
						 
						
							2008-03-27 17:15:29 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8cc4842a76 
								
							 
						 
						
							
							
								
								Added <h3> tag in HTML file output that contains the name of the source file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48869 
							
						 
						
							2008-03-27 07:35:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								c04149299c 
								
							 
						 
						
							
							
								
								Added "GRAuditor" and "GRSimpleAPICheck" interface to allow simple stateless checkers to be injected into the analyzer.  
							
							 
							
							... 
							
							
							
							Added "AnnotatedPath" class to record an annotated path that will be useful for inspecting paths.
Added some boilerplate code for simple checks of Apple's Foundation API.
llvm-svn: 48867 
							
						 
						
							2008-03-27 07:25:52 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								710714c365 
								
							 
						 
						
							
							
								
								PathDiagnosticPiece no longer contains a vector of strings; just one string.  
							
							 
							
							... 
							
							
							
							PathDiagnostic no longer contains a diagnostic ID or diagnostic level.
llvm-svn: 48864 
							
						 
						
							2008-03-27 06:16:40 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4fa20c9bba 
								
							 
						 
						
							
							
								
								Added classes "PathDiagnosticPiece", "PathDiagnostic", and "PathDiagnosticClient", which encapsulate diagnostic reporting for paths.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48861 
							
						 
						
							2008-03-27 03:49:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								ea128437b3 
								
							 
						 
						
							
							
								
								Bug fix: use GetRVal instead of GetLVal (were getting the value of a DeclRefExpr, not it's address).  
							
							 
							
							... 
							
							
							
							llvm-svn: 48846 
							
						 
						
							2008-03-26 22:21:58 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								cb047289a8 
								
							 
						 
						
							
							
								
								Bug fix in transfer function for ObjCMessageExpr: Visit the receiver expression as an ordinary expression, not using VisitLVal.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48842 
							
						 
						
							2008-03-26 21:36:08 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								c06ee808d7 
								
							 
						 
						
							
							
								
								Alloc redeclaration of typedefs within ExternCSystemHeaderDir's AND SystemHeaderDir's.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48841 
							
						 
						
							2008-03-26 21:27:00 +00:00  
						
					 
				
					
						
							
							
								 
								Nuno Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								623207d603 
								
							 
						 
						
							
							
								
								allow the format attribute to be specified in function pointer prototypes  
							
							 
							
							... 
							
							
							
							# this is my first commit here, so please be gentle :)
llvm-svn: 48807 
							
						 
						
							2008-03-25 23:01:48 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								c506c78117 
								
							 
						 
						
							
							
								
								Extend QualType::getAddressSpace to do the right thing for array types, and in  
							
							 
							
							... 
							
							
							
							the future, RecordTypes.
llvm-svn: 48784 
							
						 
						
							2008-03-25 18:36:32 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								4b55badc39 
								
							 
						 
						
							
							
								
								GRSimple analysis now outputs additional diagnostic warnings about  
							
							 
							
							... 
							
							
							
							passing an uninitialized value to a message expresion.
llvm-svn: 48776 
							
						 
						
							2008-03-25 16:40:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3335120f69 
								
							 
						 
						
							
							
								
								Tweak to transfer function for ObjCMessageExpr: handle both instance methods  
							
							 
							
							... 
							
							
							
							and message expressions with a specified receiver.
llvm-svn: 48773 
							
						 
						
							2008-03-25 16:07:41 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								945a246ad8 
								
							 
						 
						
							
							
								
								Added logic to check for uninitialized values as the receivers for message expressions  
							
							 
							
							... 
							
							
							
							and uninitialized values passed-by-value as arguments to message expressions.
llvm-svn: 48760 
							
						 
						
							2008-03-25 02:10:28 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								64100da427 
								
							 
						 
						
							
							
								
								Added initial transfer function support for ObjCMessageExpr.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48757 
							
						 
						
							2008-03-25 00:34:37 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b2f4d3138f 
								
							 
						 
						
							
							
								
								Minor CSS tweaking: use webkit style CSS properties for shadows/rounded edges  
							
							 
							
							... 
							
							
							
							for message bubbles.
llvm-svn: 48754 
							
						 
						
							2008-03-24 23:38:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								22fc992f59 
								
							 
						 
						
							
							
								
								Avoid overflowing buffer, patch by Algeris Kirtzidis!  
							
							 
							
							... 
							
							
							
							llvm-svn: 48741 
							
						 
						
							2008-03-24 21:14:55 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								fb475ec504 
								
							 
						 
						
							
							
								
								Changed merge operation for uninitialized values analysis to "intersect" (previous union).  
							
							 
							
							... 
							
							
							
							The effect is that if a variable is uninitialized along a branch (but initialized along another), at merge points it is considered uninitialized.  Previously we had the opposite behavior.  The new behavior is more conservative, and more in line with gcc's behavior.
llvm-svn: 48689 
							
						 
						
							2008-03-22 20:11:00 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								181f72369f 
								
							 
						 
						
							
							
								
								Rename "Nodify" to "MakeNode"  
							
							 
							
							... 
							
							
							
							llvm-svn: 48659 
							
						 
						
							2008-03-21 21:30:14 +00:00  
						
					 
				
					
						
							
							
								 
								Sam Bishop
							
						 
						
							 
							
							
							
							
								
							
							
								27654983dc 
								
							 
						 
						
							
							
								
								Plug a memory leak in the "this macro expands into a single trivially-  
							
							 
							
							... 
							
							
							
							expanded token" case.
llvm-svn: 48637 
							
						 
						
							2008-03-21 07:13:02 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								b7151c7ca8 
								
							 
						 
						
							
							
								
								LiveVariables analysis now uses intersect for the merge of block-level expression liveness information.  
							
							 
							
							... 
							
							
							
							The rationale is that a block-level expression cannot be live in a parent block unless it is live in all of the successor blocks.
llvm-svn: 48618 
							
						 
						
							2008-03-20 21:46:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								bc24962566 
								
							 
						 
						
							
							
								
								Added HTML highlighting for ranges.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48572 
							
						 
						
							2008-03-19 23:55:53 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								157c403cb8 
								
							 
						 
						
							
							
								
								Fix typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48571 
							
						 
						
							2008-03-19 23:46:26 +00:00  
						
					 
				
					
						
							
							
								 
								Steve Naroff
							
						 
						
							 
							
							
							
							
								
							
							
								c5f8120ad0 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=2161 .  
							
							 
							
							... 
							
							
							
							llvm-svn: 48568 
							
						 
						
							2008-03-19 23:07:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								161d16e083 
								
							 
						 
						
							
							
								
								Change colors of HTML message bubble.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48563 
							
						 
						
							2008-03-19 22:44:21 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7ee6a1474f 
								
							 
						 
						
							
							
								
								More CSS enhancements to HTML code printing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48557 
							
						 
						
							2008-03-19 22:06:25 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								1651b7cd2d 
								
							 
						 
						
							
							
								
								Misc. cleanups to HTML printing: make code rendered using tables; add  
							
							 
							
							... 
							
							
							
							better div positioning for messages.
llvm-svn: 48555 
							
						 
						
							2008-03-19 21:59:05 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								216624ce58 
								
							 
						 
						
							
							
								
								Initial experimentation with adding boxed "annotations" to HTMLized source.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48540 
							
						 
						
							2008-03-19 07:53:42 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								966da4acc3 
								
							 
						 
						
							
							
								
								Moved generation of html header/footer with builtin CSS to the rewriter library.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48537 
							
						 
						
							2008-03-19 06:14:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								554221e9fb 
								
							 
						 
						
							
							
								
								simplify code by using the variadic StructType::get method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48535 
							
						 
						
							2008-03-19 05:24:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3e593cdb98 
								
							 
						 
						
							
							
								
								simplify the clang codegen by using the new Builder.CreateStructGEP method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48534 
							
						 
						
							2008-03-19 05:19:41 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								3f8392626b 
								
							 
						 
						
							
							
								
								More cleanups to the HTML rewriter (with line formatting), with better  
							
							 
							
							... 
							
							
							
							pretty-printing of line numbers.
llvm-svn: 48533 
							
						 
						
							2008-03-19 05:07:26 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								54d62b6d64 
								
							 
						 
						
							
							
								
								Change "style" to "class" in HTML output.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48525 
							
						 
						
							2008-03-19 01:44:27 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5ddff02861 
								
							 
						 
						
							
							
								
								More cleanups to HTML rewriter API: remove the InsertTag method; was too complicated  
							
							 
							
							... 
							
							
							
							and clients can achieve a cleaner design just by inserting tags directly.  Reserve
the "html" namespace for meta-level operations (e.g., escaping text, etc.)
llvm-svn: 48524 
							
						 
						
							2008-03-19 01:30:02 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								8800ae68a0 
								
							 
						 
						
							
							
								
								More HTML rewriter cleanups.  Preliminary CSS support in code pretty-printing.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48518 
							
						 
						
							2008-03-18 23:55:46 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								5792cebb08 
								
							 
						 
						
							
							
								
								Some cleanups to the HTMLRewrite API. Added support for printing out line  
							
							 
							
							... 
							
							
							
							numbers (more work to be done on aesthetics).
llvm-svn: 48512 
							
						 
						
							2008-03-18 23:08:51 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								1b580f98aa 
								
							 
						 
						
							
							
								
								Modified "InsertTag" (HTML rewriter) to have an optional "OutermostTag" flag to  
							
							 
							
							... 
							
							
							
							indicate whether or not the new tag should be the outermost tag at the specified
location (in the case that other tags have been inserted at the same spot).
llvm-svn: 48506 
							
						 
						
							2008-03-18 21:26:34 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7dcc82220e 
								
							 
						 
						
							
							
								
								Added the beginning of a set of rewriter functions for pretty-printing source  
							
							 
							
							... 
							
							
							
							code as HTML.  Added a new driver option "--emit-html" to dump the source
of the main input file as HTML.
llvm-svn: 48505 
							
						 
						
							2008-03-18 21:19:49 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								45467ef372 
								
							 
						 
						
							
							
								
								Added variant of "InsertText" in the Rewriter to support inserting text both  
							
							 
							
							... 
							
							
							
							*before* and after a specific location.
llvm-svn: 48504 
							
						 
						
							2008-03-18 21:17:59 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								af5b820af3 
								
							 
						 
						
							
							
								
								Bug fix in RewriteBuffer::getMappedOffset: potentially multiple deltas  
							
							 
							
							... 
							
							
							
							need to be skipped over when AfterInserts == true, as multiple deltas
may share the same FileLoc.
llvm-svn: 48503 
							
						 
						
							2008-03-18 21:00:57 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0725a3e055 
								
							 
						 
						
							
							
								
								move #include to the file that needs it.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48485 
							
						 
						
							2008-03-18 05:59:11 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								a9b30c0651 
								
							 
						 
						
							
							
								
								Fix assertion.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48470 
							
						 
						
							2008-03-17 22:18:22 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								9eae403cde 
								
							 
						 
						
							
							
								
								Fix integer overflow bug when processing switch statements.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48469 
							
						 
						
							2008-03-17 22:17:56 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								58021a617b 
								
							 
						 
						
							
							
								
								Properly hook up inline asm transfer function logic to the main GRExprEngine logic.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48468 
							
						 
						
							2008-03-17 21:31:48 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								7c7a331f74 
								
							 
						 
						
							
							
								
								Added initial transfer function support for inline asm.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48466 
							
						 
						
							2008-03-17 21:11:24 +00:00  
						
					 
				
					
						
							
							
								 
								Nate Begeman
							
						 
						
							 
							
							
							
							
								
							
							
								0c185c45a9 
								
							 
						 
						
							
							
								
								Check in a couple fixes for vector extensions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48461 
							
						 
						
							2008-03-17 17:22:18 +00:00  
						
					 
				
					
						
							
							
								 
								Ted Kremenek
							
						 
						
							 
							
							
							
							
								
							
							
								fff4fc7e6d 
								
							 
						 
						
							
							
								
								Bug fix in CFG construction: VisitCompoundStmt should return the last created block.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48460 
							
						 
						
							2008-03-17 17:19:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ed0e16404c 
								
							 
						 
						
							
							
								
								clean up property memory allocation to move it into the ast classes  
							
							 
							
							... 
							
							
							
							like the rest of the classes.
llvm-svn: 48434 
							
						 
						
							2008-03-17 01:19:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								41eec3d097 
								
							 
						 
						
							
							
								
								make property addition work list all other "add" methods.  Do  
							
							 
							
							... 
							
							
							
							the allocation in the class, not in sema.
llvm-svn: 48433 
							
						 
						
							2008-03-16 21:23:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								219b3e9c6c 
								
							 
						 
						
							
							
								
								add the last two Create methods for decls, woo!  
							
							 
							
							... 
							
							
							
							llvm-svn: 48432 
							
						 
						
							2008-03-16 21:17:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								36ac1cae1f 
								
							 
						 
						
							
							
								
								add two more Create methods.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48428 
							
						 
						
							2008-03-16 20:53:07 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d77aff8232 
								
							 
						 
						
							
							
								
								simplify the way ObjCCategoryDecl's get their referenced protocols list  
							
							 
							
							... 
							
							
							
							specified.  Previously, the ctor would allocate memory for the list and then
it would get filled in later.  Move the allocation+filling in to be more 
consistent with other stuff, e.g. the addMethods method.
llvm-svn: 48427 
							
						 
						
							2008-03-16 20:47:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1dd77af9ce 
								
							 
						 
						
							
							
								
								Add create methods for ObjCCategoryDecl, ObjCForwardProtocolDecl, ObjCClassDecl.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48426 
							
						 
						
							2008-03-16 20:34:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								acc04a9261 
								
							 
						 
						
							
							
								
								minor cleanups, make getNumInstanceMethods always return unsigned.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48423 
							
						 
						
							2008-03-16 20:19:15 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5074f8f3ef 
								
							 
						 
						
							
							
								
								fix a crasher where an invalid program that multiply defined  
							
							 
							
							... 
							
							
							
							a protocol could smash more references in than are allocated.
llvm-svn: 48411 
							
						 
						
							2008-03-16 01:25:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f87ca0a7d1 
								
							 
						 
						
							
							
								
								Give ObjCProtocolDecl a Create method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48410 
							
						 
						
							2008-03-16 01:23:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2a52083efc 
								
							 
						 
						
							
							
								
								hoist a bunch of casting.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48409 
							
						 
						
							2008-03-16 01:16:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								96c501ef7e 
								
							 
						 
						
							
							
								
								Add create methods for ObjCIvarDecl and ObjCInterfaceDecl  
							
							 
							
							... 
							
							
							
							llvm-svn: 48408 
							
						 
						
							2008-03-16 01:15:50 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								011b0f5c5a 
								
							 
						 
						
							
							
								
								Make the parameter count of ObjCMethodDecl unsigned, you  
							
							 
							
							... 
							
							
							
							can't have negative arguments.
llvm-svn: 48407 
							
						 
						
							2008-03-16 01:07:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c557947488 
								
							 
						 
						
							
							
								
								remove some dead arguments to ObjCMethodDecl.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48406 
							
						 
						
							2008-03-16 00:58:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8d8829e225 
								
							 
						 
						
							
							
								
								Give ObjCMethodDecl a Create method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48405 
							
						 
						
							2008-03-16 00:49:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								893751970a 
								
							 
						 
						
							
							
								
								Split objc decl implementation out into DeclObjC.cpp  
							
							 
							
							... 
							
							
							
							llvm-svn: 48404 
							
						 
						
							2008-03-16 00:19:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ee1284a6e2 
								
							 
						 
						
							
							
								
								switch the rest of the C decl classes to do their  
							
							 
							
							... 
							
							
							
							allocation through ASTContext.
llvm-svn: 48403 
							
						 
						
							2008-03-16 00:16:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7a51313d8a 
								
							 
						 
						
							
							
								
								Make a major restructuring of the clang tree: introduce a top-level  
							
							 
							
							... 
							
							
							
							lib dir and move all the libraries into it.  This follows the main
llvm tree, and allows the libraries to be built in parallel.  The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in.  This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402 
							
						 
						
							2008-03-15 23:59:48 +00:00