0a6192cfb8 
								
							 
						 
						
							
							
								
								Add fastcall/stdcall attribute support  
							
							... 
							
							
							
							Generate CallingConv::Fast when fastcall attribute is present
llvm-svn: 48017 
							
						 
						
							2008-03-07 20:04:22 +00:00  
				
					
						
							
							
								 
						
							
								7bdd630334 
								
							 
						 
						
							
							
								
								Patch by Nuno Lopes:  
							
							... 
							
							
							
							Added more comments for code processing attribute "format".
  Added more checks for corner cases, test cases, and warnings.
llvm-svn: 48011 
							
						 
						
							2008-03-07 18:43:49 +00:00  
				
					
						
							
							
								 
						
							
								37e0587839 
								
							 
						 
						
							
							
								
								remove the source location arguments to various target query methods.  
							
							... 
							
							
							
							llvm-svn: 47954 
							
						 
						
							2008-03-05 18:54:05 +00:00  
				
					
						
							
							
								 
						
							
								855d024a83 
								
							 
						 
						
							
							
								
								Remove the first layer of support for "portability" warnings.  This is  
							
							... 
							
							
							
							theoretically useful, but not useful in practice.  It adds a bunch of 
complexity, and not much value.  It's best to nuke it.  One big advantage
is that it means the target interfaces will soon lose their SLoc arguments
and target queries can never emit diagnostics anymore (yay).  Removing this
also simplifies some of the core preprocessor which should make it slightly
faster.
Ted, I didn't simplify TripleProcessor, which can now have at most one
triple, and can probably just be removed.  Please poke at it when you have
time.
llvm-svn: 47930 
							
						 
						
							2008-03-05 01:18:20 +00:00  
				
					
						
							
							
								 
						
							
								0fdc379475 
								
							 
						 
						
							
							
								
								The operand to the visibility attribute is required to be a quoted string, not a bare identifier.  
							
							... 
							
							
							
							llvm-svn: 47893 
							
						 
						
							2008-03-04 18:08:48 +00:00  
				
					
						
							
							
								 
						
							
								98c56677a7 
								
							 
						 
						
							
							
								
								Only allow a "noreturn" attribute to be affixed to a FunctionDecl.  
							
							... 
							
							
							
							llvm-svn: 47844 
							
						 
						
							2008-03-03 16:52:27 +00:00  
				
					
						
							
							
								 
						
							
								8496639787 
								
							 
						 
						
							
							
								
								Add a bunch of attributes, patch by Nuno Lopes.  
							
							... 
							
							
							
							llvm-svn: 47837 
							
						 
						
							2008-03-03 03:28:21 +00:00  
				
					
						
							
							
								 
						
							
								8a8558bcd4 
								
							 
						 
						
							
							
								
								Add support for attribute(deprecated), patch by Nuno Lopes!  
							
							... 
							
							
							
							llvm-svn: 47753 
							
						 
						
							2008-02-29 16:48:43 +00:00  
				
					
						
							
							
								 
						
							
								49b61ab6bd 
								
							 
						 
						
							
							
								
								Added parsing of attributes for functions.  
							
							... 
							
							
							
							llvm-svn: 47693 
							
						 
						
							2008-02-27 22:18:07 +00:00  
				
					
						
							
							
								 
						
							
								f7146ca3bc 
								
							 
						 
						
							
							
								
								Added support for attribute "noreturn."  
							
							... 
							
							
							
							llvm-svn: 47689 
							
						 
						
							2008-02-27 20:43:06 +00:00  
				
					
						
							
							
								 
						
							
								7768313c13 
								
							 
						 
						
							
							
								
								Fix PR2092 by making sure the sign of the enum value follows the  
							
							... 
							
							
							
							sign of its type in the early exit case.  No testcase, because this
doesn't manifest as a failure.
llvm-svn: 47581 
							
						 
						
							2008-02-26 00:33:57 +00:00  
				
					
						
							
							
								 
						
							
								eb85ab44f2 
								
							 
						 
						
							
							
								
								convert tabs to spaces, patch by Mike Stump!  
							
							... 
							
							
							
							llvm-svn: 47560 
							
						 
						
							2008-02-25 21:04:36 +00:00  
				
					
						
							
							
								 
						
							
								d45d38d2b7 
								
							 
						 
						
							
							
								
								Handle __attribute__((annotate("string")))  
							
							... 
							
							
							
							llvm-svn: 47451 
							
						 
						
							2008-02-21 19:30:49 +00:00  
				
					
						
							
							
								 
						
							
								788404f312 
								
							 
						 
						
							
							
								
								Collect and build and process type attributes on pointers.  For  
							
							... 
							
							
							
							example, we can now correctly build the type for things like:
    _AS1 float * _AS2 *B;
llvm-svn: 47420 
							
						 
						
							2008-02-21 01:32:26 +00:00  
				
					
						
							
							
								 
						
							
								ee0d271819 
								
							 
						 
						
							
							
								
								Correctly handle address space qualifiers in declspecs.  This  
							
							... 
							
							
							
							allows us to correctly handle stuff like:
  _AS1 float *B;
and to reject stuff like:
  _AS1 _AS2* x;
llvm-svn: 47417 
							
						 
						
							2008-02-21 00:48:22 +00:00  
				
					
						
							
							
								 
						
							
								dcee3a9630 
								
							 
						 
						
							
							
								
								rename some methods.  
							
							... 
							
							
							
							llvm-svn: 47414 
							
						 
						
							2008-02-20 23:25:22 +00:00  
				
					
						
							
							
								 
						
							
								f179190206 
								
							 
						 
						
							
							
								
								Use getKind() in HandleDeclAttribute instead of decoding the string inline.  
							
							... 
							
							
							
							llvm-svn: 47413 
							
						 
						
							2008-02-20 23:17:35 +00:00  
				
					
						
							
							
								 
						
							
								445fcabff7 
								
							 
						 
						
							
							
								
								Alternate address spaces work:  
							
							... 
							
							
							
							rename QualType::getQualifiers to getCVRQualifiers.
Add some fixme's and clean up some code relevant to qualifiers.
Change ASQualType to contain a Type* instead of a QualType.  
Any CVR qualifiers should be on the outer qual type.
llvm-svn: 47398 
							
						 
						
							2008-02-20 20:55:12 +00:00  
				
					
						
							
							
								 
						
							
								d8c4156172 
								
							 
						 
						
							
							
								
								Turn handling of parameter attributes back on, fixing the ObjC breakage  
							
							... 
							
							
							
							llvm-svn: 47246 
							
						 
						
							2008-02-17 21:20:31 +00:00  
				
					
						
							
							
								 
						
							
								d811e74786 
								
							 
						 
						
							
							
								
								Revert this temporarily, it's breaking objc :/  
							
							... 
							
							
							
							llvm-svn: 47245 
							
						 
						
							2008-02-17 21:04:23 +00:00  
				
					
						
							
							
								 
						
							
								f0e4a52211 
								
							 
						 
						
							
							
								
								Handle parameter attributes  
							
							... 
							
							
							
							llvm-svn: 47243 
							
						 
						
							2008-02-17 21:02:04 +00:00  
				
					
						
							
							
								 
						
							
								b080ed504e 
								
							 
						 
						
							
							
								
								Fix PR2042.  One remaining issue: we don't currently diagnose  
							
							... 
							
							
							
							int foobar(int);
 int foobar() {}
which requires ifdef'ing out a testcase in predefined-function.c.
llvm-svn: 47236 
							
						 
						
							2008-02-17 19:31:09 +00:00  
				
					
						
							
							
								 
						
							
								6e3ace5205 
								
							 
						 
						
							
							
								
								Better handling of the aligned attribute.  
							
							... 
							
							
							
							llvm-svn: 47216 
							
						 
						
							2008-02-16 19:51:27 +00:00  
				
					
						
							
							
								 
						
							
								27055194b7 
								
							 
						 
						
							
							
								
								Fix CheckEndOfDirective to diagnose lines that contain macros that expand to  
							
							... 
							
							
							
							zero tokens.  This fixes PR2045, thanks to Neil for finding another 
incredibly subtle corner case :)
llvm-svn: 47203 
							
						 
						
							2008-02-16 01:20:36 +00:00  
				
					
						
							
							
								 
						
							
								4b93979008 
								
							 
						 
						
							
							
								
								Fix typo  
							
							... 
							
							
							
							llvm-svn: 47199 
							
						 
						
							2008-02-16 00:39:40 +00:00  
				
					
						
							
							
								 
						
							
								28e7108142 
								
							 
						 
						
							
							
								
								Handle packed attribute correctly  
							
							... 
							
							
							
							llvm-svn: 47197 
							
						 
						
							2008-02-16 00:29:18 +00:00  
				
					
						
							
							
								 
						
							
								5c9490924c 
								
							 
						 
						
							
							
								
								Don't call non-existent method... sorry about the spam; the fix seemed  
							
							... 
							
							
							
							trivial, but I forgot that method doesn't exist yet.
llvm-svn: 47175 
							
						 
						
							2008-02-15 19:53:52 +00:00  
				
					
						
							
							
								 
						
							
								b26be3d053 
								
							 
						 
						
							
							
								
								Get rid of unused variable warning.  
							
							... 
							
							
							
							llvm-svn: 47174 
							
						 
						
							2008-02-15 19:49:39 +00:00  
				
					
						
							
							
								 
						
							
								bd258284e0 
								
							 
						 
						
							
							
								
								Split out incomplete arrays from VariableArrayType into  
							
							... 
							
							
							
							IncompleteArrayType.  This should make code dealing with both incomplete 
and variable length arrays much more readable, plus it allows properly 
making the distinction between isVariableArrayType() and 
isVariablyModifiedType().  The patch is a little big, but it's 
strightforward. so I don't think there should be any issues.
llvm-svn: 47165 
							
						 
						
							2008-02-15 18:16:39 +00:00  
				
					
						
							
							
								 
						
							
								9e805b24fd 
								
							 
						 
						
							
							
								
								Part of clearing up the whole VariableArrayType + incomplete arrays  
							
							... 
							
							
							
							thing.  Some cleanups that can be done independently of the fix.
llvm-svn: 47158 
							
						 
						
							2008-02-15 12:53:51 +00:00  
				
					
						
							
							
								 
						
							
								1a84106117 
								
							 
						 
						
							
							
								
								Get rid of AttributeList in the AST and use the new Attr class instead  
							
							... 
							
							
							
							llvm-svn: 47155 
							
						 
						
							2008-02-15 07:04:12 +00:00  
				
					
						
							
							
								 
						
							
								78e47634b2 
								
							 
						 
						
							
							
								
								Get rid of outdated code that masks type errors. Fixes PR2036.  
							
							... 
							
							
							
							llvm-svn: 47154 
							
						 
						
							2008-02-15 06:56:02 +00:00  
				
					
						
							
							
								 
						
							
								c1e22c7fa1 
								
							 
						 
						
							
							
								
								Fix unsafe static cast...  
							
							... 
							
							
							
							llvm-svn: 46980 
							
						 
						
							2008-02-12 01:09:36 +00:00  
				
					
						
							
							
								 
						
							
								b5fc2551e4 
								
							 
						 
						
							
							
								
								After yesterday's discussion ( http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-February/001044.html ), decided not to change the semantics of Type::isIncompleteType().  
							
							... 
							
							
							
							This commit simply changes a couple comments to reflect this decision.
llvm-svn: 46970 
							
						 
						
							2008-02-11 21:52:37 +00:00  
				
					
						
							
							
								 
						
							
								4b32796d1c 
								
							 
						 
						
							
							
								
								Add a comment/FIXME to an earlier change.  
							
							... 
							
							
							
							llvm-svn: 46947 
							
						 
						
							2008-02-11 02:42:07 +00:00  
				
					
						
							
							
								 
						
							
								326389b8ce 
								
							 
						 
						
							
							
								
								Fix  http://llvm.org/bugs/show_bug.cgi?id=1988 .  
							
							... 
							
							
							
							Sema::CheckInitializerListTypes() needs to ignore invalid structures.
llvm-svn: 46942 
							
						 
						
							2008-02-11 00:06:17 +00:00  
				
					
						
							
							
								 
						
							
								4297826cac 
								
							 
						 
						
							
							
								
								Improve diagnostic for illegal array initialization.  
							
							... 
							
							
							
							llvm-svn: 46869 
							
						 
						
							2008-02-08 00:48:24 +00:00  
				
					
						
							
							
								 
						
							
								5c6c05956e 
								
							 
						 
						
							
							
								
								Put back the top-level asm code; all tests pass now.  
							
							... 
							
							
							
							llvm-svn: 46868 
							
						 
						
							2008-02-08 00:33:21 +00:00  
				
					
						
							
							
								 
						
							
								0fae4f56df 
								
							 
						 
						
							
							
								
								Back out 46855 for now, it causes test failures on Darwin.  
							
							... 
							
							
							
							llvm-svn: 46867 
							
						 
						
							2008-02-08 00:23:11 +00:00  
				
					
						
							
							
								 
						
							
								bcc3a4bf64 
								
							 
						 
						
							
							
								
								Handle top-level asm declarations.  
							
							... 
							
							
							
							llvm-svn: 46855 
							
						 
						
							2008-02-07 17:19:11 +00:00  
				
					
						
							
							
								 
						
							
								b2c80c7c7b 
								
							 
						 
						
							
							
								
								Implement -fms-extensions. This allows us to fuzzy parse non-standard MS constructs used in "windows.h".  
							
							... 
							
							
							
							llvm-svn: 46838 
							
						 
						
							2008-02-07 03:50:06 +00:00  
				
					
						
							
							
								 
						
							
								622c193a32 
								
							 
						 
						
							
							
								
								inform astconsumer about tagdecls as they are defined.  
							
							... 
							
							
							
							llvm-svn: 46788 
							
						 
						
							2008-02-06 00:51:33 +00:00  
				
					
						
							
							
								 
						
							
								9413a016f4 
								
							 
						 
						
							
							
								
								simplify some code.  
							
							... 
							
							
							
							llvm-svn: 46774 
							
						 
						
							2008-02-05 22:40:55 +00:00  
				
					
						
							
							
								 
						
							
								025b5fb883 
								
							 
						 
						
							
							
								
								Add experimental support for address space qualified types. Address space  
							
							... 
							
							
							
							qualifiers use the __attribute__((address_space(id))) syntax.
llvm-svn: 46691 
							
						 
						
							2008-02-04 02:31:56 +00:00  
				
					
						
							
							
								 
						
							
								e101f9548e 
								
							 
						 
						
							
							
								
								Hack Sema::MergeTypeDefDecl() to silently ignore duplicate typedef's in system headers files.  
							
							... 
							
							
							
							A bizarre, non-standard hook that many compilers appear to implement (sigh:-).
llvm-svn: 46583 
							
						 
						
							2008-01-30 23:46:05 +00:00  
				
					
						
							
							
								 
						
							
								57412cacb6 
								
							 
						 
						
							
							
								
								Add TODO marker so that it is easier to search.  
							
							... 
							
							
							
							llvm-svn: 46561 
							
						 
						
							2008-01-30 18:00:07 +00:00  
				
					
						
							
							
								 
						
							
								3780d35306 
								
							 
						 
						
							
							
								
								Ignore __aligned__ with zero arguments in addition to __aligned__ with  
							
							... 
							
							
							
							one argument.  Lets stuff using pthread.h compile.
llvm-svn: 46559 
							
						 
						
							2008-01-30 17:38:42 +00:00  
				
					
						
							
							
								 
						
							
								1e7873642b 
								
							 
						 
						
							
							
								
								Many refinements to Sema::MergeVarDecl(). This routine still needs some re-work to fully handle tentative decls.  
							
							... 
							
							
							
							This includes a fix to bz1908.
llvm-svn: 46540 
							
						 
						
							2008-01-30 00:44:01 +00:00  
				
					
						
							
							
								 
						
							
								361de6164d 
								
							 
						 
						
							
							
								
								Use the canonical type when comparing array types so the comparison  
							
							... 
							
							
							
							doesn't get confused by typedefs.
llvm-svn: 46502 
							
						 
						
							2008-01-29 07:51:12 +00:00  
				
					
						
							
							
								 
						
							
								1f7f6929f4 
								
							 
						 
						
							
							
								
								Implement "private extern" on function decls!  
							
							... 
							
							
							
							llvm-svn: 46464 
							
						 
						
							2008-01-28 21:57:15 +00:00