Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2ada5d3890 
								
							 
						 
						
							
							
								
								More changes from formals -> actuals.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38717 
							
						 
						
							2006-07-15 07:51:24 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ee8760b21b 
								
							 
						 
						
							
							
								
								Rename macroformalargs -> MacroArgs, as it represents the actual arguments,  
							
							 
							
							... 
							
							
							
							not the formal arguments, to a macro.
llvm-svn: 38716 
							
						 
						
							2006-07-15 07:42:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c653246bfb 
								
							 
						 
						
							
							
								
								Eliminate the IdentifierInfo::IsMacroArg flag.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38715 
							
						 
						
							2006-07-15 06:55:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c783d1dff9 
								
							 
						 
						
							
							
								
								Implement the microsoft charize extension #@  
							
							 
							
							... 
							
							
							
							llvm-svn: 38712 
							
						 
						
							2006-07-15 06:11:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2b271db205 
								
							 
						 
						
							
							
								
								Lex the microsoft 'charize' extension.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38711 
							
						 
						
							2006-07-15 05:41:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0707bd3042 
								
							 
						 
						
							
							
								
								Implement stringification.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38709 
							
						 
						
							2006-07-15 05:23:58 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ecc39e9325 
								
							 
						 
						
							
							
								
								Change Lexer::Stringify to not add ""'s around the string.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38708 
							
						 
						
							2006-07-15 05:23:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b935d8cd90 
								
							 
						 
						
							
							
								
								Set up infrastructure for function-like macro expansion with preexpansion  
							
							 
							
							... 
							
							
							
							stringizing, etc.
llvm-svn: 38707 
							
						 
						
							2006-07-14 06:54:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b94ec7b668 
								
							 
						 
						
							
							
								
								Add an API so that external clients can create strings in the scratch buffer.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38706 
							
						 
						
							2006-07-14 06:54:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								041bef8b32 
								
							 
						 
						
							
							
								
								The lexer should not warn about stray characters, it should just return  
							
							 
							
							... 
							
							
							
							tok::unknown tokens.  This fixes test/Lexer/unknown-char.c
llvm-svn: 38703 
							
						 
						
							2006-07-11 05:52:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								678c880a69 
								
							 
						 
						
							
							
								
								Move Preprocessor::isNextPPTokenLParen to Lexer::isNextPPTokenLParen, where  
							
							 
							
							... 
							
							
							
							it more rightly belongs.
llvm-svn: 38702 
							
						 
						
							2006-07-11 05:46:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3ebcf4e2cd 
								
							 
						 
						
							
							
								
								Change Preprocessor::SkippingContents into Lexer::LexingRawMode.  Raw mode  
							
							 
							
							... 
							
							
							
							is an intra-lexer property, not a inter-lexer property, so it makes sense
for it to be define here.  It also makes no sense for macros, and allows us
to define it more carefully in the header.
While I'm at it, improve comments and structuring in Lexer.h
llvm-svn: 38701 
							
						 
						
							2006-07-11 05:39:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d8aee0e81b 
								
							 
						 
						
							
							
								
								Implement "lparen scanning" for lexer buffers, by making "skipping lexing"  
							
							 
							
							... 
							
							
							
							completely reversible.  This implements tests 3/4 of
test/Preprocessor/macro_fn_lparen_scan.c
llvm-svn: 38699 
							
						 
						
							2006-07-11 05:04:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a12dd15b56 
								
							 
						 
						
							
							
								
								ext-warn on empty macro arguments if in pre-c99 mode  
							
							 
							
							... 
							
							
							
							llvm-svn: 38697 
							
						 
						
							2006-07-11 04:09:02 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								370c135dce 
								
							 
						 
						
							
							
								
								improve comment  
							
							 
							
							... 
							
							
							
							llvm-svn: 38696 
							
						 
						
							2006-07-11 04:03:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2acdac4200 
								
							 
						 
						
							
							
								
								Implement scanning-for-( more correctly.  This implements  
							
							 
							
							... 
							
							
							
							test/Preprocessor/macro_fn_lparen_scan.c, but is not yet complete.
llvm-svn: 38695 
							
						 
						
							2006-07-11 04:02:48 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7818605f83 
								
							 
						 
						
							
							
								
								Read, remember, and validate the arguments provided the a function-style  
							
							 
							
							... 
							
							
							
							macro invocation.
llvm-svn: 38685 
							
						 
						
							2006-07-09 00:45:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8eede3e6c0 
								
							 
						 
						
							
							
								
								Remove pointless comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38684 
							
						 
						
							2006-07-08 23:24:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								815a1f97f6 
								
							 
						 
						
							
							
								
								Diagnose C99 6.10.3.2p1  
							
							 
							
							... 
							
							
							
							llvm-svn: 38683 
							
						 
						
							2006-07-08 20:48:04 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6e0d42c6f8 
								
							 
						 
						
							
							
								
								Add identifiers for macro arguments to MacroInfo, check for duplicates,  
							
							 
							
							... 
							
							
							
							enhance macro equality testing to verify argument lists match.
llvm-svn: 38682 
							
						 
						
							2006-07-08 20:32:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cefc768f5b 
								
							 
						 
						
							
							
								
								Start reading/validating the argument list for a function-like macro.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38681 
							
						 
						
							2006-07-08 08:28:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								21284dfdd1 
								
							 
						 
						
							
							
								
								Implement checking for macro equality, C99 6.10.3.2  
							
							 
							
							... 
							
							
							
							llvm-svn: 38680 
							
						 
						
							2006-07-08 07:16:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e8eef3207b 
								
							 
						 
						
							
							
								
								add infrastructure for warning if redef'd macro bodies differ, but don't  
							
							 
							
							... 
							
							
							
							fully implement it.
Fix warning on #define __LINE__ to warn about redefinition, not #undef.
llvm-svn: 38679 
							
						 
						
							2006-07-08 07:01:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8ff7199e4b 
								
							 
						 
						
							
							
								
								Warn about __VA_ARGS__ when used outside of a macro expansion  
							
							 
							
							... 
							
							
							
							llvm-svn: 38678 
							
						 
						
							2006-07-06 05:17:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bff18d5649 
								
							 
						 
						
							
							
								
								Diagnose erroneous macro definitions where a ## operator is at the start/end of the macro  
							
							 
							
							... 
							
							
							
							llvm-svn: 38677 
							
						 
						
							2006-07-06 04:49:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ae41157ee5 
								
							 
						 
						
							
							
								
								Implement support for arbitrarily mapping non-error diagnostics to be either  
							
							 
							
							... 
							
							
							
							ignored, warned about, or error'd.  Use this to implement the -Wunused_macros
command line option.
llvm-svn: 38676 
							
						 
						
							2006-07-05 00:55:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d3a15f7f4e 
								
							 
						 
						
							
							
								
								Add a fast-path in getSpelling for identifiers.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38672 
							
						 
						
							2006-07-04 23:01:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ef9eae1c44 
								
							 
						 
						
							
							
								
								Change the Preprocessor::getSpelling interface to let it be zero-copy in  
							
							 
							
							... 
							
							
							
							the common case.
llvm-svn: 38671 
							
						 
						
							2006-07-04 22:33:12 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5f084fd5fc 
								
							 
						 
						
							
							
								
								Add newline at end of file  
							
							 
							
							... 
							
							
							
							llvm-svn: 38657 
							
						 
						
							2006-07-04 19:03:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e3519cc948 
								
							 
						 
						
							
							
								
								Change EvaluateValue/EvaluateDirectiveSubExpr to be static functions in  
							
							 
							
							... 
							
							
							
							PPExpressions.cpp instead of methods.
llvm-svn: 38652 
							
						 
						
							2006-07-04 18:11:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c79f6fb108 
								
							 
						 
						
							
							
								
								Rename IdentifierTokenInfo -> IdentifierInfo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38650 
							
						 
						
							2006-07-04 17:53:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a8654ca2cf 
								
							 
						 
						
							
							
								
								Eliminate MultipleIncludeOpt::ReadDirective and all calls to it.  Any directives  
							
							 
							
							... 
							
							
							
							that are lexed are made up of tokens, so the calls are just ugly and redundant.
Hook up the MIOpt for the #if case.  PPCExpressions doesn't currently implement
the hook though, so we still don't handle #if !defined(X) with the MIOpt.
llvm-svn: 38649 
							
						 
						
							2006-07-04 17:42:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3665f161ca 
								
							 
						 
						
							
							
								
								Implement the multiple-include file optimization.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38647 
							
						 
						
							2006-07-04 07:26:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								371ac8a9b7 
								
							 
						 
						
							
							
								
								Implement the automaton for recognizing files with controlling macros.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38646 
							
						 
						
							2006-07-04 07:11:10 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								01d66cc891 
								
							 
						 
						
							
							
								
								Implement #ident and #sccs  
							
							 
							
							... 
							
							
							
							llvm-svn: 38643 
							
						 
						
							2006-07-03 22:16:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d7de629c32 
								
							 
						 
						
							
							
								
								Move a method inline  
							
							 
							
							... 
							
							
							
							llvm-svn: 38639 
							
						 
						
							2006-07-03 06:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bd07659488 
								
							 
						 
						
							
							
								
								Move a PragmaNamespace method out of line, add class comment for PragmaNamespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38637 
							
						 
						
							2006-07-03 05:34:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								13044d942d 
								
							 
						 
						
							
							
								
								Implement -Wunused-macros functionality.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38632 
							
						 
						
							2006-07-03 05:16:44 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4ec473f871 
								
							 
						 
						
							
							
								
								Add support to track the real top-level file.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38630 
							
						 
						
							2006-07-03 05:16:05 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								91cbf11c10 
								
							 
						 
						
							
							
								
								Add a new IdentifierVisitor class and a new IdentifierTable::VisitIdentifiers  
							
							 
							
							... 
							
							
							
							method to support iteration over all identifiers.
llvm-svn: 38628 
							
						 
						
							2006-07-03 04:28:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								44f8a66bcc 
								
							 
						 
						
							
							
								
								Fix test/Preprocessor/macro_defined.c, factor some code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38627 
							
						 
						
							2006-07-03 01:27:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aaf09115c4 
								
							 
						 
						
							
							
								
								Implement a FIXME: reject '#define defined'.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38625 
							
						 
						
							2006-07-03 01:17:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e3e81ea8aa 
								
							 
						 
						
							
							
								
								Refactor some code into a new Lexer::Stringify method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38624 
							
						 
						
							2006-07-03 01:13:26 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a37664b3fb 
								
							 
						 
						
							
							
								
								Move a virtual method out-of-line  
							
							 
							
							... 
							
							
							
							llvm-svn: 38617 
							
						 
						
							2006-07-02 22:45:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1840e491dc 
								
							 
						 
						
							
							
								
								Remove Lexer::BufferStart, an unneeded instance var.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38615 
							
						 
						
							2006-07-02 22:30:01 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ecfeafe3ba 
								
							 
						 
						
							
							
								
								Fix some minor bugs handling _Pragma, including  
							
							 
							
							... 
							
							
							
							test/Preprocessor/_Pragma_syshdr.c
llvm-svn: 38609 
							
						 
						
							2006-07-02 21:26:45 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ef0dbae5ab 
								
							 
						 
						
							
							
								
								remove dead ivar  
							
							 
							
							... 
							
							
							
							llvm-svn: 38607 
							
						 
						
							2006-07-02 21:17:13 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								69772b026e 
								
							 
						 
						
							
							
								
								Implement the _Pragma-style of pragma handling, implementing  
							
							 
							
							... 
							
							
							
							test/Preprocessor/_Pragma-poison.c.
This unifies the MacroStack and IncludeStack together into IncludeMacroStack.
llvm-svn: 38606 
							
						 
						
							2006-07-02 20:34:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4cca5ba7da 
								
							 
						 
						
							
							
								
								Allow the buffer start/end positions to be optionally specified.  Make sure  
							
							 
							
							... 
							
							
							
							to use them instead of the current buffer start/end when computing diagnostics.
llvm-svn: 38603 
							
						 
						
							2006-07-02 20:05:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								847e0e4552 
								
							 
						 
						
							
							
								
								Implement __TIMESTAMP__  
							
							 
							
							... 
							
							
							
							llvm-svn: 38602 
							
						 
						
							2006-07-01 23:49:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c1283b90a0 
								
							 
						 
						
							
							
								
								Implement __INCLUDE_LEVEL__ and __BASE_FILE__  
							
							 
							
							... 
							
							
							
							llvm-svn: 38601 
							
						 
						
							2006-07-01 23:16:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								630b33c39e 
								
							 
						 
						
							
							
								
								Implement __FILE__  
							
							 
							
							... 
							
							
							
							llvm-svn: 38600 
							
						 
						
							2006-07-01 22:46:53 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4c37a8c353 
								
							 
						 
						
							
							
								
								Eliminate SourceManager::createFileIDForMacroExp, inlining it into its single use.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38599 
							
						 
						
							2006-06-30 06:15:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c673f905d8 
								
							 
						 
						
							
							
								
								Implement the __TIME__ and __DATE__ builtin macros.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38597 
							
						 
						
							2006-06-30 06:10:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7d6a4f6746 
								
							 
						 
						
							
							
								
								Expose a useful helper method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38596 
							
						 
						
							2006-06-30 06:10:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								098dfc5e7e 
								
							 
						 
						
							
							
								
								Expose a new form of the getToken method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38595 
							
						 
						
							2006-06-30 06:09:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2dffd2b445 
								
							 
						 
						
							
							
								
								Factor logical line lookup better.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38594 
							
						 
						
							2006-06-29 16:44:08 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0b8cfc2e69 
								
							 
						 
						
							
							
								
								Implement the __LINE__ builtin macro.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38589 
							
						 
						
							2006-06-28 06:49:17 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								3690f1513a 
								
							 
						 
						
							
							
								
								Initial implementation of the ScratchBuffer class.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38588 
							
						 
						
							2006-06-28 06:48:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								ec43eaf07a 
								
							 
						 
						
							
							
								
								Add a new SourceBuffer::getNewMemBuffer method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38587 
							
						 
						
							2006-06-28 06:35:31 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								677757a2c0 
								
							 
						 
						
							
							
								
								Remove dead variables.  
							
							 
							
							... 
							
							
							
							Add initial support for builtin macros, including warning if they are defined or undefined.
Register __LINE__ as a builtin macro.
llvm-svn: 38586 
							
						 
						
							2006-06-28 05:26:32 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								274690ce76 
								
							 
						 
						
							
							
								
								Reindent comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38585 
							
						 
						
							2006-06-28 05:25:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f373a4af56 
								
							 
						 
						
							
							
								
								Refactor HandleIdentifier to pull macro expansion into its own method.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38583 
							
						 
						
							2006-06-26 06:16:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								e9a5e18e47 
								
							 
						 
						
							
							
								
								remove some obsolete comments  
							
							 
							
							... 
							
							
							
							llvm-svn: 38582 
							
						 
						
							2006-06-26 06:08:38 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								67b07cb6fe 
								
							 
						 
						
							
							
								
								Implement Preprocessor/macro_expandloc.c by giving the optimized macro  
							
							 
							
							... 
							
							
							
							expansion case a correct source location.
llvm-svn: 38580 
							
						 
						
							2006-06-26 02:03:42 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f6fd68add5 
								
							 
						 
						
							
							
								
								Fix Preprocessor/macro_expandloc2.c  
							
							 
							
							... 
							
							
							
							llvm-svn: 38579 
							
						 
						
							2006-06-26 01:48:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								685730f964 
								
							 
						 
						
							
							
								
								To not treat macro invocation locations as part of the include stack  
							
							 
							
							... 
							
							
							
							when reporting a diagnostic.
llvm-svn: 38577 
							
						 
						
							2006-06-26 01:36:22 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								269c232e67 
								
							 
						 
						
							
							
								
								implement #pragma GCC dependency  
							
							 
							
							... 
							
							
							
							llvm-svn: 38574 
							
						 
						
							2006-06-25 06:23:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								55a60954f9 
								
							 
						 
						
							
							
								
								Implement #pragma GCC system_header  
							
							 
							
							... 
							
							
							
							llvm-svn: 38569 
							
						 
						
							2006-06-25 04:20:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1786217e0b 
								
							 
						 
						
							
							
								
								Finish implementation of #pragma once.  Implement #pragma GCC poison.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38568 
							
						 
						
							2006-06-24 22:12:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								b876183219 
								
							 
						 
						
							
							
								
								implement the pragma handling infrastructure.  The only pragma so far is  
							
							 
							
							... 
							
							
							
							#pragma once, and it is not completely implemented.
llvm-svn: 38566 
							
						 
						
							2006-06-24 21:31:03 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c899718274 
								
							 
						 
						
							
							
								
								Track which headers are system and non-C++-clean-system headers. Use this  
							
							 
							
							... 
							
							
							
							information to print the 3/4 flags correctly on #line directives emitted
in -E mode.
llvm-svn: 38562 
							
						 
						
							2006-06-22 05:52:16 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0c885f5581 
								
							 
						 
						
							
							
								
								Improve #line emission in -E mode to include file entry/exits.  This is  
							
							 
							
							... 
							
							
							
							still pretty hacky because it doesn't compute the 3/4 markers correctly.
llvm-svn: 38561 
							
						 
						
							2006-06-21 06:50:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9a13bde643 
								
							 
						 
						
							
							
								
								Implement a new SourceManager::getSourceName method  
							
							 
							
							... 
							
							
							
							llvm-svn: 38560 
							
						 
						
							2006-06-21 04:57:09 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								bb893c3d67 
								
							 
						 
						
							
							
								
								Update SourceManager::getLineNumber to return the correct line # for macro  
							
							 
							
							... 
							
							
							
							instantiations.
llvm-svn: 38558 
							
						 
						
							2006-06-21 03:27:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								30709b038d 
								
							 
						 
						
							
							
								
								Implement a new type of FileID: FileIDInfo::MacroExpansion.  For tokens that  
							
							 
							
							... 
							
							
							
							came from a macro expansion, this allows us to keep track of both where the
character data came from and where the logical position of the token is (at
the expansion site).  This implements Preprocessor/indent_macro.c, and
reduces the number of cpp iostream -E diffs vs GCC from 2589 to 2297.
llvm-svn: 38557 
							
						 
						
							2006-06-21 03:01:55 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5f4b1ff9fd 
								
							 
						 
						
							
							
								
								Modify SourceManager to make way for future macro locations and #line support  
							
							 
							
							... 
							
							
							
							no functionality change yet
llvm-svn: 38556 
							
						 
						
							2006-06-20 05:02:40 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8bb4edb236 
								
							 
						 
						
							
							
								
								remove an extraneous method  
							
							 
							
							... 
							
							
							
							llvm-svn: 38554 
							
						 
						
							2006-06-18 16:37:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								50b497e072 
								
							 
						 
						
							
							
								
								Rename LexerToken::getSourceLocation -> getLocation  
							
							 
							
							... 
							
							
							
							llvm-svn: 38553 
							
						 
						
							2006-06-18 16:32:35 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5b4876807a 
								
							 
						 
						
							
							
								
								Move the LexerToken definition out to LexerToken.h  
							
							 
							
							... 
							
							
							
							llvm-svn: 38552 
							
						 
						
							2006-06-18 16:28:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								d01e291332 
								
							 
						 
						
							
							
								
								Make a fundamental change to the way we represent the location of LexerToken's.  
							
							 
							
							... 
							
							
							
							Now, instead of keeping a pointer to the start of the token in memory, we keep the
start of the token as a SourceLocation node.  This means that each LexerToken knows
the full include stack it was created with, and means that the LexerToken isn't
reliant on a "CurLexer" member to be around (lexer tokens would previously go out of
scope when their lexers were deallocated).
This simplifies several things, and forces good cleanup elsewhere.  Now the
Preprocessor is the one that knows how to dump tokens/macros and is the one that
knows how to get the spelling of a token (it has all the context).
llvm-svn: 38551 
							
						 
						
							2006-06-18 16:22:51 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7e0dd2b11f 
								
							 
						 
						
							
							
								
								Fix a fixme by passing language options into LexerToken::dump, instead of  
							
							 
							
							... 
							
							
							
							relying on TheLexer.
llvm-svn: 38549 
							
						 
						
							2006-06-18 07:44:41 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								33ce7283ee 
								
							 
						 
						
							
							
								
								Change the token representation to take a Start and Length instead of a  
							
							 
							
							... 
							
							
							
							Start/End pointer.
llvm-svn: 38548 
							
						 
						
							2006-06-18 07:35:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1f5830546a 
								
							 
						 
						
							
							
								
								Make a method a static function  
							
							 
							
							... 
							
							
							
							llvm-svn: 38543 
							
						 
						
							2006-06-18 06:53:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								7966aafd9b 
								
							 
						 
						
							
							
								
								Simplify an API  
							
							 
							
							... 
							
							
							
							llvm-svn: 38541 
							
						 
						
							2006-06-18 06:50:36 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								cb28334ea4 
								
							 
						 
						
							
							
								
								Remove manual conditional error handling code.  
							
							 
							
							... 
							
							
							
							llvm-svn: 38540 
							
						 
						
							2006-06-18 06:48:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								22eb972f38 
								
							 
						 
						
							
							
								
								Initial checkin of c-language parser  
							
							 
							
							... 
							
							
							
							llvm-svn: 38539 
							
						 
						
							2006-06-18 05:43:12 +00:00