diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-10-09 22:10:18 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-10-09 22:10:18 +0000 |
| commit | 53b0dabbe52219a8057659b90539837394ef0fa1 (patch) | |
| tree | fa2b1d29c47d1f49446c4f6c3777a01a7f2f6e26 /CodeGen/CodeGenFunction.cpp | |
| parent | b216c8861c60af9c56c900a485233255c4452df2 (diff) | |
Make a significant change to invert the control flow handling
predefined macros. Previously, these were handled by the driver,
now they are handled by the preprocessor.
Some fallout of this:
1. Instead of preprocessing two buffers (the predefines, then the
main source file) we now start preprocessing the main source
file and inject the predefines as a "psuedo #include" from the
main source file.
2. #1 allows us to nuke the Lexer::IsMainFile flag and simplify
Preprocessor::isInPrimaryFile.
3. The driver doesn't have to know about standard #defines, the
preprocessor knows, which is nice for people wanting to define
their own drivers.
4. This allows us to put normal tokens in the predefine buffer,
for example a definition for __builtin_va_list that is
target-specific, and a typedef for id in objc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42818 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions
