1cd2305703 
								
							 
						 
						
							
							
								
								Change the wording of the extension warning from  
							
							... 
							
							
							
							> 'long long' is an extension when C99 mode is not enabled
to
> 'long long' is a C++11 extension
while compiling in C++98 mode.
llvm-svn: 164545 
							
						 
						
							2012-09-24 18:19:21 +00:00  
				
					
						
							
							
								 
						
							
								c1f0d5b873 
								
							 
						 
						
							
							
								
								Implement C90 pedantic warning for duplicate declaration specifiers which are duplicated via a typedef.  Patch by Tim Northover.  
							
							... 
							
							
							
							llvm-svn: 154136 
							
						 
						
							2012-04-05 22:47:34 +00:00  
				
					
						
							
							
								 
						
							
								07518f249f 
								
							 
						 
						
							
							
								
								Warn on flexible array members when in C89 mode, with -pedantic.  
							
							... 
							
							
							
							This fixes PR 4307.
Patch by Eitan Adler!
llvm-svn: 152918 
							
						 
						
							2012-03-16 12:15:37 +00:00  
				
					
						
							
							
								 
						
							
								5ed3caf2e3 
								
							 
						 
						
							
							
								
								Warn about non-int main() results in GNU C mode instead of erroring.  
							
							... 
							
							
							
							Based on a patch by Vasiliy Korchagin!
llvm-svn: 150500 
							
						 
						
							2012-02-14 19:50:52 +00:00  
				
					
						
							
							
								 
						
							
								e434590bd9 
								
							 
						 
						
							
							
								
								Change the diagnostics which said 'accepted as an extension' to instead say  
							
							... 
							
							
							
							'is an extension'. The former is inappropriate and confusing when building with
-Werror/-pedantic-errors.
llvm-svn: 147357 
							
						 
						
							2011-12-29 21:57:33 +00:00  
				
					
						
							
							
								 
						
							
								70a1324428 
								
							 
						 
						
							
							
								
								Only do typo correction for implicit function decls when  
							
							... 
							
							
							
							they are treated as errors.
Doing typo correction when these are just warnings slows down the
compilation of source which deliberately uses implicit function
declarations.
llvm-svn: 146153 
							
						 
						
							2011-12-08 15:56:07 +00:00  
				
					
						
							
							
								 
						
							
								2fb8b91f6f 
								
							 
						 
						
							
							
								
								Suggest typo corrections for implicit function declarations.  
							
							... 
							
							
							
							A mistyped function call becomes an inmplicit function declaration in C.
Suggest typo correction when one can be found.
llvm-svn: 145930 
							
						 
						
							2011-12-06 09:46:12 +00:00  
				
					
						
							
							
								 
						
							
								ea7b85bfe0 
								
							 
						 
						
							
							
								
								PR4304: Add warning for designators in strict c89 mode.  
							
							... 
							
							
							
							llvm-svn: 130117 
							
						 
						
							2011-04-24 22:14:22 +00:00  
				
					
						
							
							
								 
						
							
								959d5a0cbd 
								
							 
						 
						
							
							
								
								Implement support for variable length arrays in C++. VLAs are limited  
							
							... 
							
							
							
							in several important ways:
  - VLAs of non-POD types are not permitted.
  - VLAs cannot be used in conjunction with C++ templates.
These restrictions are intended to keep VLAs out of the parts of the
C++ type system where they cause the most trouble. Fixes PR5678 and
<rdar://problem/8013618>.
llvm-svn: 104443 
							
						 
						
							2010-05-22 16:17:30 +00:00  
				
					
						
							
							
								 
						
							
								8fbe78f6fc 
								
							 
						 
						
							
							
								
								Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.  
							
							... 
							
							
							
							- This is designed to make it obvious that %clang_cc1 is a "test variable"
   which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it
   can be useful to redefine what gets run as 'clang -cc1' (for example, to set
   a default target).
llvm-svn: 91446 
							
						 
						
							2009-12-15 20:14:24 +00:00  
				
					
						
							
							
								 
						
							
								11289f4280 
								
							 
						 
						
							
							
								
								Remove tabs, and whitespace cleanups.  
							
							... 
							
							
							
							llvm-svn: 81346 
							
						 
						
							2009-09-09 15:08:12 +00:00  
				
					
						
							
							
								 
						
							
								753d120975 
								
							 
						 
						
							
							
								
								Prep for new warning.  
							
							... 
							
							
							
							llvm-svn: 76709 
							
						 
						
							2009-07-22 00:43:08 +00:00  
				
					
						
							
							
								 
						
							
								4058a842e6 
								
							 
						 
						
							
							
								
								Fix a minor edge case in C89 mode related to the definition of a  
							
							... 
							
							
							
							"function designator".
(This causes a minor glitch in the 
diagnostics for C++ member pointers, but we weren't printing the 
right diagnostic there anyway.)
llvm-svn: 70307 
							
						 
						
							2009-04-28 17:59:09 +00:00  
				
					
						
							
							
								 
						
							
								ab2784f2c1 
								
							 
						 
						
							
							
								
								Fix for PR4074: allow subscripting non-lvalue arrays in C90 mode.  
							
							... 
							
							
							
							I wasn't originally going to use this approach, but cases like 
test/Sema/expr-comma.c make things difficult.
llvm-svn: 70096 
							
						 
						
							2009-04-25 23:46:54 +00:00  
				
					
						
							
							
								 
						
							
								a45cf5b6b0 
								
							 
						 
						
							
							
								
								Rename clang to clang-cc.  
							
							... 
							
							
							
							Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602 
							
						 
						
							2009-03-24 02:24:46 +00:00  
				
					
						
							
							
								 
						
							
								b6ec4e75ad 
								
							 
						 
						
							
							
								
								Clean up the C89/C++ warnings about C99 array features to not  
							
							... 
							
							
							
							emit duplicate diags (some in parser and some in sema) and to
warn about use of typequals in array sizes.  This implements 
PR2759.
llvm-svn: 61197 
							
						 
						
							2008-12-18 06:50:14 +00:00  
				
					
						
							
							
								 
						
							
								3d72297909 
								
							 
						 
						
							
							
								
								diagnose C99 6.9.1p5, C arguments in definitions that are lacking  
							
							... 
							
							
							
							a name.  This implements PR3208.
llvm-svn: 61127 
							
						 
						
							2008-12-17 07:32:46 +00:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								d2a02fe840 
								
							 
						 
						
							
							
								
								fix the second half of PR2041: __restrict is ok in c90 mode, even if  
							
							... 
							
							
							
							restrict isn't.
llvm-svn: 47316 
							
						 
						
							2008-02-19 06:46:10 +00:00  
				
					
						
							
							
								 
						
							
								287c734075 
								
							 
						 
						
							
							
								
								Fix PR2041: restrict is not a keyword in c90.  
							
							... 
							
							
							
							llvm-svn: 47160 
							
						 
						
							2008-02-15 18:02:59 +00:00  
				
					
						
							
							
								 
						
							
								7b8134f5c6 
								
							 
						 
						
							
							
								
								Fix PR1999, by emitting a hard error only if an argument declarator is completely  
							
							... 
							
							
							
							missing.  Otherwise, it is an implicit int case, which is valid in c90 and invalid 
elsewhere, but accepted as an extension.
llvm-svn: 46938 
							
						 
						
							2008-02-10 23:08:00 +00:00  
				
					
						
							
							
								 
						
							
								5e4c75f4ef 
								
							 
						 
						
							
							
								
								rename -parse-ast-print to -ast-print  
							
							... 
							
							
							
							rename -parse-ast-dump to -ast-dump
remove -parse-ast, which is redundant with -fsyntax-only
llvm-svn: 42852 
							
						 
						
							2007-10-11 00:18:28 +00:00  
				
					
						
							
							
								 
						
							
								0883fd5817 
								
							 
						 
						
							
							
								
								Removed option "-parse-ast-check" from clang driver.  This is now implemented  
							
							... 
							
							
							
							using "-parse-ast -verify".
Updated all test cases (using a sed script) that invoked -parse-ast-check to
now use -parse-ast -verify.
Fixed a bug where using "-verify" instead of "-parse-ast-check" would not
correctly create the DiagClient needed to accumulate diagnostics.
llvm-svn: 42365 
							
						 
						
							2007-09-26 20:14:22 +00:00  
				
					
						
							
							
								 
						
							
								fec2519b4b 
								
							 
						 
						
							
							
								
								-C mode doesn't return comments on "#" lines, so the diag checker doesn't pick them up.  
							
							... 
							
							
							
							Test this the hard way.
llvm-svn: 41605 
							
						 
						
							2007-08-30 06:38:49 +00:00  
				
					
						
							
							
								 
						
							
								ac582c5ecb 
								
							 
						 
						
							
							
								
								Ensure we diagnose long long literals in C90 mode.  
							
							... 
							
							
							
							llvm-svn: 41581 
							
						 
						
							2007-08-29 22:00:19 +00:00  
				
					
						
							
							
								 
						
							
								35da3e29dd 
								
							 
						 
						
							
							
								
								extwarn about VLAs in C89 mode.  
							
							... 
							
							
							
							llvm-svn: 41545 
							
						 
						
							2007-08-28 16:54:00 +00:00  
				
					
						
							
							
								 
						
							
								f2c338b7d1 
								
							 
						 
						
							
							
								
								warn about long long when in c89 mode.  
							
							... 
							
							
							
							llvm-svn: 41543 
							
						 
						
							2007-08-28 16:40:32 +00:00  
				
					
						
							
							
								 
						
							
								d864daf5c6 
								
							 
						 
						
							
							
								
								extwarn about decls intermixed with code in c89 mode.  
							
							... 
							
							
							
							llvm-svn: 41477 
							
						 
						
							2007-08-27 04:29:41 +00:00