34fb67272c 
								
							 
						 
						
							
							
								
								Minor #include cleaning  
							
							... 
							
							
							
							- Drop TokenKinds.h from Action.h
 - Move DeclSpec.h from Sema.h into individual Sema .cpp files
llvm-svn: 54625 
							
						 
						
							2008-08-11 03:27:53 +00:00  
				
					
						
							
							
								 
						
							
								eaf5853004 
								
							 
						 
						
							
							
								
								InitListChecker::CheckListElementTypes(): Check for function types and issue an appropriate diagnostic.  
							
							... 
							
							
							
							llvm-svn: 54614 
							
						 
						
							2008-08-10 16:05:48 +00:00  
				
					
						
							
							
								 
						
							
								a3b2f6f2af 
								
							 
						 
						
							
							
								
								Make sure to count the struct elements correctly; here, we want the  
							
							... 
							
							
							
							member count.  The count returned by numStructUnionElements is the 
number of initializers that will be consumed, not the number of members 
to iterate through.  Fixes PR2534.
llvm-svn: 54601 
							
						 
						
							2008-08-09 23:45:45 +00:00  
				
					
						
							
							
								 
						
							
								7adf076088 
								
							 
						 
						
							
							
								
								Finally fix PR2189.  This makes a fairly invasive but important change to  
							
							... 
							
							
							
							move getAsArrayType into ASTContext instead of being a method on type.
This is required because getAsArrayType(const AT), where AT is a typedef
for "int[10]" needs to return ArrayType(const int, 10).
Fixing this greatly simplifies getArrayDecayedType, which is a good sign.
llvm-svn: 54317 
							
						 
						
							2008-08-04 07:31:14 +00:00  
				
					
						
							
							
								 
						
							
								554a07bab3 
								
							 
						 
						
							
							
								
								-Changes to TagDecl:  
							
							... 
							
							
							
							Added TagKind enum.
  Added getTagKind() method.
  Added convenience methods: isEnum(), isStruct(), isUnion(), isClass().
-RecordDecl/CXXRecordDecl::Create() accept a TagKind enum instead of a DeclKind one.
llvm-svn: 52160 
							
						 
						
							2008-06-09 23:19:58 +00:00  
				
					
						
							
							
								 
						
							
								7567573926 
								
							 
						 
						
							
							
								
								For struct initialization, check compatibility with the unqualified  
							
							... 
							
							
							
							type; this isn't explicitly stated in the standard, but it doesn't 
really make sense for them to have an effect here.  Fixes the included 
testcase, sent to me by Steve Naroff.
llvm-svn: 52113 
							
						 
						
							2008-06-09 03:52:40 +00:00  
				
					
						
							
							
								 
						
							
								0e56c82e4a 
								
							 
						 
						
							
							
								
								Count the number of initializable members correctly in structs/unions  
							
							... 
							
							
							
							with unnamed members.
llvm-svn: 51557 
							
						 
						
							2008-05-25 14:03:31 +00:00  
				
					
						
							
							
								 
						
							
								e0f832bd4f 
								
							 
						 
						
							
							
								
								Diagnose implicit init list for empty aggregate, like struct {}.  Fixes  
							
							... 
							
							
							
							PR2151 (by not creating the empty implicit init list).
llvm-svn: 51556 
							
						 
						
							2008-05-25 13:49:22 +00:00  
				
					
						
							
							
								 
						
							
								85f5497c4a 
								
							 
						 
						
							
							
								
								Move the error checking for variable-sized objects so we don't  
							
							... 
							
							
							
							double-report errors; fixes PR2362.
llvm-svn: 51555 
							
						 
						
							2008-05-25 13:22:35 +00:00  
				
					
						
							
							
								 
						
							
								d0e48ea682 
								
							 
						 
						
							
							
								
								Be a bit more defensive in SemaInit.  
							
							... 
							
							
							
							llvm-svn: 51301 
							
						 
						
							2008-05-20 05:25:56 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								5a36d3fffb 
								
							 
						 
						
							
							
								
								Some more SemaInit cleanup.  
							
							... 
							
							
							
							llvm-svn: 51262 
							
						 
						
							2008-05-19 20:00:43 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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