llvm-project/clang/lib/Lex
Douglas Gregor 92863e475e Compare the predefines buffer in the PCH file with the predefines
buffer generated for the current translation unit. If they are
different, complain and then ignore the PCH file. This effectively
checks for all compilation options that somehow would affect
preprocessor state (-D, -U, -include, the dreaded -imacros, etc.).

When we do accept the PCH file, throw away the contents of the
predefines buffer rather than parsing them, since all of the results
of that parsing are already stored in the PCH file. This eliminates
the ugliness with the redefinition of __builtin_va_list, among other
things.

llvm-svn: 68838
2009-04-10 23:10:45 +00:00
..
CMakeLists.txt Build system changes to use TableGen to generate the various 2009-03-16 23:06:59 +00:00
HeaderMap.cpp improve compatibility with GCC 4.4, patch by Michel Salim (PR3697) 2009-03-02 22:20:04 +00:00
HeaderSearch.cpp improve compatibility with GCC 4.4, patch by Michel Salim (PR3697) 2009-03-02 22:20:04 +00:00
Lexer.cpp fix rdar://6757323, where an escaped newline in a // comment 2009-04-05 00:26:41 +00:00
LiteralSupport.cpp ProcessUCNEscape(): Incorportate some feedback from Chris. 2009-04-01 11:09:15 +00:00
MacroArgs.cpp move library-specific diagnostic headers into library private dirs. Reduce 2009-01-29 05:15:15 +00:00
MacroArgs.h Make a major restructuring of the clang tree: introduce a top-level 2008-03-15 23:59:48 +00:00
MacroInfo.cpp fix PR3764 - A redefinition of a pre-processor macro fails 2009-03-09 20:33:32 +00:00
Makefile Build system changes to use TableGen to generate the various 2009-03-16 23:06:59 +00:00
PPCaching.cpp This change refactors some of the low-level lexer interfaces a bit. 2009-01-26 19:29:26 +00:00
PPDirectives.cpp finish the implementation of -imacros. The driver still needs to be hooked up. 2009-04-08 20:53:24 +00:00
PPExpressions.cpp move library-specific diagnostic headers into library private dirs. Reduce 2009-01-29 05:15:15 +00:00
PPLexerChange.cpp when preprocessing a .S file, unknown directives should just be passed through, 2009-03-18 21:00:25 +00:00
PPMacroExpansion.cpp simplify code. 2009-04-10 21:17:07 +00:00
PTHLexer.cpp PTHManager::Create(): 2009-03-22 06:42:39 +00:00
Pragma.cpp typo 2009-03-17 11:39:38 +00:00
Preprocessor.cpp Compare the predefines buffer in the PCH file with the predefines 2009-04-10 23:10:45 +00:00
PreprocessorLexer.cpp move library-specific diagnostic headers into library private dirs. Reduce 2009-01-29 05:15:15 +00:00
ScratchBuffer.cpp add \n characters to the scratch buffer *before* returned tokens. 2009-03-08 08:16:41 +00:00
TokenConcatenation.cpp Fix -E mismatch; an identifier followed by a numeric constant does not 2009-03-18 03:32:24 +00:00
TokenLexer.cpp The individual pieces of an invalid paste as still candidates for expansion. 2009-03-23 17:32:45 +00:00