338f9aaab2 
								
							 
						 
						
							
							
								
								Handle locations coming from macro instantiations properly in SourceManager::isBeforeInTranslationUnit().  
							
							... 
							
							
							
							Fixes rdar://8790245 and http://llvm.org/PR8821 .
llvm-svn: 122536 
							
						 
						
							2010-12-24 02:53:53 +00:00  
				
					
						
							
							
								 
						
							
								1cb0de1d4c 
								
							 
						 
						
							
							
								
								Fix diagnostic pragmas.  
							
							... 
							
							
							
							Diagnostic pragmas are broken because we don't keep track of the diagnostic state changes and we only check the current/latest state.
Problems manifest if a diagnostic is emitted for a source line that has different diagnostic state than the current state; this can affect
a lot of places, like C++ inline methods, template instantiations, the lexer, etc.
Fix the issue by having the Diagnostic object keep track of the source location of the pragmas so that it is able to know what is the diagnostic state at any given source location.
Fixes rdar://8365684.
llvm-svn: 121873 
							
						 
						
							2010-12-15 18:44:22 +00:00  
				
					
						
							
							
								 
						
							
								b19289331d 
								
							 
						 
						
							
							
								
								This really seems like a boring set of fixes to our tests to make them more  
							
							... 
							
							
							
							independent of the underlying system. Let me know if any of these are too
aggressive.
llvm-svn: 119345 
							
						 
						
							2010-11-16 10:26:08 +00:00  
				
					
						
							
							
								 
						
							
								18a2c2c0b9 
								
							 
						 
						
							
							
								
								Split out -Wconversion warnings about constant precision into their  
							
							... 
							
							
							
							own subcategory, -Wconstant-conversion, which is on by default.
Tweak the constant folder to give better results in the invalid
case of a negative shift amount.
Implements rdar://problem/6792488
llvm-svn: 118636 
							
						 
						
							2010-11-09 22:22:12 +00:00  
				
					
						
							
							
								 
						
							
								cac9df3bf6 
								
							 
						 
						
							
							
								
								Add test for Windows predefined macros.  
							
							... 
							
							
							
							llvm-svn: 117000 
							
						 
						
							2010-10-21 05:23:48 +00:00  
				
					
						
							
							
								 
						
							
								2c8028bcf4 
								
							 
						 
						
							
							
								
								In ~Preprocessor(), also cleanup the MacroInfo objects left-over from stray "#pragma push_macro" uses.  This  
							
							... 
							
							
							
							fixes a potential memory leak.
llvm-svn: 116826 
							
						 
						
							2010-10-19 17:40:53 +00:00  
				
					
						
							
							
								 
						
							
								a09e8efd1f 
								
							 
						 
						
							
							
								
								Per discussion with Sanjiv, remove the PIC16 target from mainline.  When/if  
							
							... 
							
							
							
							it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.
llvm-svn: 116191 
							
						 
						
							2010-10-11 05:44:49 +00:00  
				
					
						
							
							
								 
						
							
								40cec8326c 
								
							 
						 
						
							
							
								
								Revert r114316, -Wunused-value enabled by default was intended.  
							
							... 
							
							
							
							llvm-svn: 114318 
							
						 
						
							2010-09-19 23:03:35 +00:00  
				
					
						
							
							
								 
						
							
								3698bf1c6d 
								
							 
						 
						
							
							
								
								Make -Wunused-value off by default, matching GCC. Fixes rdar://7126194.  
							
							... 
							
							
							
							llvm-svn: 114316 
							
						 
						
							2010-09-19 21:21:44 +00:00  
				
					
						
							
							
								 
						
							
								7eba1bf0b7 
								
							 
						 
						
							
							
								
								Fix this test to use -cc1.  
							
							... 
							
							
							
							llvm-svn: 114156 
							
						 
						
							2010-09-17 02:47:35 +00:00  
				
					
						
							
							
								 
						
							
								6174ca456f 
								
							 
						 
						
							
							
								
								Handle '#line' in '-E' that has an empty file name.  Fixes <rdar://problem/8439412>.  
							
							... 
							
							
							
							llvm-svn: 114142 
							
						 
						
							2010-09-17 00:41:18 +00:00  
				
					
						
							
							
								 
						
							
								53c9ac30f9 
								
							 
						 
						
							
							
								
								tests: Use -ffreestanding when including stdint.h, to avoid platform dependencies.  
							
							... 
							
							
							
							llvm-svn: 113301 
							
						 
						
							2010-09-07 22:54:28 +00:00  
				
					
						
							
							
								 
						
							
								3cc2648b47 
								
							 
						 
						
							
							
								
								Now that GCC will have #pragma push/pop (in GCC 4.6), allow the  
							
							... 
							
							
							
							#pragma without requiring it to be in the "clang" namespace, from
Louis Gerbarg!
llvm-svn: 112484 
							
						 
						
							2010-08-30 15:15:34 +00:00  
				
					
						
							
							
								 
						
							
								89e925d78e 
								
							 
						 
						
							
							
								
								Add support for Microsoft's __pragma in the preprocessor.  
							
							... 
							
							
							
							Patch by Francois Pichet!
llvm-svn: 112391 
							
						 
						
							2010-08-28 22:34:47 +00:00  
				
					
						
							
							
								 
						
							
								fee309467b 
								
							 
						 
						
							
							
								
								filecheckize test  
							
							... 
							
							
							
							llvm-svn: 111702 
							
						 
						
							2010-08-21 00:29:50 +00:00  
				
					
						
							
							
								 
						
							
								20a2b46ca2 
								
							 
						 
						
							
							
								
								fix PR7943, a corner case with the GNU __VA_ARGS__ comma  
							
							... 
							
							
							
							swallowing extension.
llvm-svn: 111701 
							
						 
						
							2010-08-21 00:27:00 +00:00  
				
					
						
							
							
								 
						
							
								c0a585d63c 
								
							 
						 
						
							
							
								
								Implement #pragma push_macro, patch by Francois Pichet!  
							
							... 
							
							
							
							llvm-svn: 111234 
							
						 
						
							2010-08-17 15:55:45 +00:00  
				
					
						
							
							
								 
						
							
								d05f31d059 
								
							 
						 
						
							
							
								
								Push location through the MacroUndefined PPCallback and use it to print #undefs in -dD mode. (PR7818)  
							
							... 
							
							
							
							llvm-svn: 110523 
							
						 
						
							2010-08-07 22:27:00 +00:00  
				
					
						
							
							
								 
						
							
								7617cb8440 
								
							 
						 
						
							
							
								
								Define _INTEGRAL_MAX_BITS for the win32 and win64 targets, from Per Lindén!  
							
							... 
							
							
							
							llvm-svn: 110442 
							
						 
						
							2010-08-06 12:37:52 +00:00  
				
					
						
							
							
								 
						
							
								865afc96f7 
								
							 
						 
						
							
							
								
								PR7795: Fix the definition of __WCHAR_MAX__ with -fshort-wchar.  
							
							... 
							
							
							
							llvm-svn: 110126 
							
						 
						
							2010-08-03 17:34:19 +00:00  
				
					
						
							
							
								 
						
							
								52c00bdd5b 
								
							 
						 
						
							
							
								
								Add another terrible VC++ compatibility hack: allow users to  
							
							... 
							
							
							
							allow invalid token pastes (when in -fms-extensions mode)
with -Wno-invalid-token-paste
llvm-svn: 108624 
							
						 
						
							2010-07-17 16:24:30 +00:00  
				
					
						
							
							
								 
						
							
								b2c4937ee4 
								
							 
						 
						
							
							
								
								rename test  
							
							... 
							
							
							
							llvm-svn: 108623 
							
						 
						
							2010-07-17 16:18:46 +00:00  
				
					
						
							
							
								 
						
							
								120a1e9d0f 
								
							 
						 
						
							
							
								
								Headers: Define __INT64_TYPE__ in terms of getInt64Type(), which isn't always  
							
							... 
							
							
							
							'long'. The practical upshot is so that the uint64_t we define in our stdint.h
ends up being compatible with that defined by gcc (at least on Darwin), which
otherwise could lead to type incompatibilities with other system headers.
llvm-svn: 107255 
							
						 
						
							2010-06-30 06:30:56 +00:00  
				
					
						
							
							
								 
						
							
								540e8b1dcd 
								
							 
						 
						
							
							
								
								Headers: Change [u]intmax_t to be defined in terms of __[U]INTMAX_TYPE__, instead of intN_t.  
							
							... 
							
							
							
							llvm-svn: 107254 
							
						 
						
							2010-06-30 06:30:50 +00:00  
				
					
						
							
							
								 
						
							
								d7e887fb7f 
								
							 
						 
						
							
							
								
								clang: Derive version name from LLVM unless specified explicitly. This means  
							
							... 
							
							
							
							clang is now clang 2.8.
llvm-svn: 106914 
							
						 
						
							2010-06-25 23:34:47 +00:00  
				
					
						
							
							
								 
						
							
								bc6bcabc61 
								
							 
						 
						
							
							
								
								fix PR7360: -P mode turns off line markers, but not blank space.  
							
							... 
							
							
							
							Apparently some programs which abuse the preprocessor depend 
on this.
llvm-svn: 105889 
							
						 
						
							2010-06-12 16:20:56 +00:00  
				
					
						
							
							
								 
						
							
								04f8720118 
								
							 
						 
						
							
							
								
								Add several more predefines from modern versions of GCC.  
							
							... 
							
							
							
							llvm-svn: 104906 
							
						 
						
							2010-05-28 00:27:15 +00:00  
				
					
						
							
							
								 
						
							
								dead00f902 
								
							 
						 
						
							
							
								
								Fix pasto in this test  
							
							... 
							
							
							
							llvm-svn: 102687 
							
						 
						
							2010-04-30 03:07:23 +00:00  
				
					
						
							
							
								 
						
							
								6602c25c0c 
								
							 
						 
						
							
							
								
								Add Clang version inspection macros. Fixes PR6681.  
							
							... 
							
							
							
							llvm-svn: 102686 
							
						 
						
							2010-04-30 02:51:06 +00:00  
				
					
						
							
							
								 
						
							
								772810137a 
								
							 
						 
						
							
							
								
								Add test case for __has_feature(objc_weak_class).  
							
							... 
							
							
							
							llvm-svn: 102639 
							
						 
						
							2010-04-29 17:43:21 +00:00  
				
					
						
							
							
								 
						
							
								1cf5bdd03d 
								
							 
						 
						
							
							
								
								emit warn_char_constant_too_large at most once per literal, fixing PR6852  
							
							... 
							
							
							
							llvm-svn: 101580 
							
						 
						
							2010-04-16 23:44:05 +00:00  
				
					
						
							
							
								 
						
							
								d2b896ab69 
								
							 
						 
						
							
							
								
								Only predefine the macro _GNU_SOURCE in C++ mode when we're on a  
							
							... 
							
							
							
							platform that typically uses glibc. Fixes a Boost.Thread compilation
failure.
llvm-svn: 101450 
							
						 
						
							2010-04-16 06:31:05 +00:00  
				
					
						
							
							
								 
						
							
								c745cec17c 
								
							 
						 
						
							
							
								
								Improve line marker directive locations, patch by Jordy Rose  
							
							... 
							
							
							
							llvm-svn: 101226 
							
						 
						
							2010-04-14 04:28:50 +00:00  
				
					
						
							
							
								 
						
							
								0384e63501 
								
							 
						 
						
							
							
								
								make the token paste avoidance logic turn "..." into ".. ." instead of ". . ."  
							
							... 
							
							
							
							when avoiding paste.  Patch by David Peixotto!
llvm-svn: 101218 
							
						 
						
							2010-04-14 03:57:19 +00:00  
				
					
						
							
							
								 
						
							
								5dbefc6697 
								
							 
						 
						
							
							
								
								make the preprocessor listen to linemarker directives in -E mode,  
							
							... 
							
							
							
							PR6101.  This is based on a patch and testcase by Jordy Rose!
llvm-svn: 101097 
							
						 
						
							2010-04-13 00:01:41 +00:00  
				
					
						
							
							
								 
						
							
								a503f7c9d2 
								
							 
						 
						
							
							
								
								convert to -verify mode.  
							
							... 
							
							
							
							llvm-svn: 100674 
							
						 
						
							2010-04-07 18:43:41 +00:00  
				
					
						
							
							
								 
						
							
								bf2803fb20 
								
							 
						 
						
							
							
								
								add support for -MQ flag to quote targets in dependency file,  
							
							... 
							
							
							
							PR6661, patch by Ori Avtalion!
llvm-svn: 99821 
							
						 
						
							2010-03-29 17:55:58 +00:00  
				
					
						
							
							
								 
						
							
								8c5d05a299 
								
							 
						 
						
							
							
								
								fix a case where macro expansion should be disabled, patch by  
							
							... 
							
							
							
							Abramo Bagnara!
llvm-svn: 99626 
							
						 
						
							2010-03-26 17:49:16 +00:00  
				
					
						
							
							
								 
						
							
								cebeab9f8c 
								
							 
						 
						
							
							
								
								merge all the macro disable tests by using filecheck.  
							
							... 
							
							
							
							llvm-svn: 99625 
							
						 
						
							2010-03-26 17:46:33 +00:00  
				
					
						
							
							
								 
						
							
								80dbccd1bf 
								
							 
						 
						
							
							
								
								fix a bug in paste avoidance which would cause us to accidentally  
							
							... 
							
							
							
							form a >>=.  Patch by Abramo Bagnara, testcase by me.
llvm-svn: 99624 
							
						 
						
							2010-03-26 17:10:02 +00:00  
				
					
						
							
							
								 
						
							
								9c56ec86b2 
								
							 
						 
						
							
							
								
								fix rdar://7683173, rejecting an invalid conditional  
							
							... 
							
							
							
							llvm-svn: 97253 
							
						 
						
							2010-02-26 19:42:53 +00:00  
				
					
						
							
							
								 
						
							
								ecd2600c52 
								
							 
						 
						
							
							
								
								Re-applying 96173. Looks like finally I got the test case right.  
							
							... 
							
							
							
							llvm-svn: 96321 
							
						 
						
							2010-02-16 03:37:11 +00:00  
				
					
						
							
							
								 
						
							
								9d23f93d52 
								
							 
						 
						
							
							
								
								reverting back 96242 as it still causes a test failure.  
							
							... 
							
							
							
							llvm-svn: 96244 
							
						 
						
							2010-02-15 18:02:12 +00:00  
				
					
						
							
							
								 
						
							
								af56d377f1 
								
							 
						 
						
							
							
								
								Re-applying 96173 with corresponding changes in test.  
							
							... 
							
							
							
							llvm-svn: 96242 
							
						 
						
							2010-02-15 17:19:13 +00:00  
				
					
						
							
							
								 
						
							
								aa1cccbbef 
								
							 
						 
						
							
							
								
								Fix PR6282: the include guard optimization cannot happen if the  
							
							... 
							
							
							
							guard macro is already defined for the first occurrence of the
header.  If it is, the body will be skipped and not be properly
analyzed for the include guard optimization.
llvm-svn: 95972 
							
						 
						
							2010-02-12 08:03:27 +00:00  
				
					
						
							
							
								 
						
							
								fde85356c6 
								
							 
						 
						
							
							
								
								revert my patch for rdar://7520940 that warns when a published header  
							
							... 
							
							
							
							is #included with "foo.h" style syntax instead of framework syntax.
It produced too much noise.
llvm-svn: 94120 
							
						 
						
							2010-01-22 00:14:44 +00:00  
				
					
						
							
							
								 
						
							
								485810ec0a 
								
							 
						 
						
							
							
								
								Forgot to commit these  
							
							... 
							
							
							
							llvm-svn: 93458 
							
						 
						
							2010-01-14 21:36:52 +00:00  
				
					
						
							
							
								 
						
							
								e0d2e342b3 
								
							 
						 
						
							
							
								
								try to make this more stable?  
							
							... 
							
							
							
							llvm-svn: 93090 
							
						 
						
							2010-01-10 00:59:17 +00:00  
				
					
						
							
							
								 
						
							
								062a721c46 
								
							 
						 
						
							
							
								
								add comment to test.  
							
							... 
							
							
							
							llvm-svn: 93085 
							
						 
						
							2010-01-10 00:36:16 +00:00  
				
					
						
							
							
								 
						
							
								2ceb625f59 
								
							 
						 
						
							
							
								
								implement rdar://7520940: published framework headers should  
							
							... 
							
							
							
							import other headers within the same framework with the full
framework path, not with a relative include.
llvm-svn: 93083 
							
						 
						
							2010-01-10 00:24:58 +00:00