| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | CStringMap -> StringMap. | Chris Lattner | 2007-02-08 | 1 | -1/+1 | |
| | | | | | llvm-svn: 39334 | |||||
| * | adjust to CStringMap interface change. | Chris Lattner | 2007-02-08 | 1 | -2/+3 | |
| | | | | | llvm-svn: 39333 | |||||
| * | Produce a nice error message for '#define and' in C++. Patch by Bill! | Chris Lattner | 2006-11-21 | 1 | -4/+14 | |
| | | | | | llvm-svn: 39218 | |||||
| * | eliminate string compares when checking for the 'defined' token. | Chris Lattner | 2006-11-21 | 1 | -2/+1 | |
| | | | | | llvm-svn: 39216 | |||||
| * | Add support for C++ operator keywords. Patch by Bill Wendling. | Chris Lattner | 2006-11-21 | 1 | -0/+6 | |
| | | | | | llvm-svn: 39214 | |||||
| * | Change KeepComments/KeepMacroComments modes to be facets of the preprocessor | Chris Lattner | 2006-11-21 | 1 | -7/+11 | |
| | | | | | | | state, not aspects of the language standard being parsed. llvm-svn: 39209 | |||||
| * | simplify the Preprocessor ctor. | Chris Lattner | 2006-11-21 | 1 | -4/+3 | |
| | | | | | llvm-svn: 39208 | |||||
| * | Formalize preprocessor callbacks together into a PPCallbacks structure, instead | Chris Lattner | 2006-11-21 | 1 | -14/+12 | |
| | | | | | | | | of having a loose collection of function pointers. This also allows clients to maintain state, and reduces the size of the Preprocessor.h interface. llvm-svn: 39203 | |||||
| * | silence some warnings when asserts are disabled. | Chris Lattner | 2006-11-05 | 1 | -0/+1 | |
| | | | | | llvm-svn: 39127 | |||||
| * | Refactor the paths used for checking and getting the spelling of #include | Chris Lattner | 2006-10-30 | 1 | -6/+63 | |
| | | | | | | | | | | filenames (and also '#pragma GCC dependency' of course). Now, assuming no cleaning is needed, we can go all the way from lexing the filename to doing filename lookups with no mallocs. This speeds up user PP time from 0.077 to 0.075s for Cocoa.h (2.6%). llvm-svn: 39092 | |||||
| * | Make Preprocessor::LookupFile take a character range instead of a string. | Chris Lattner | 2006-10-30 | 1 | -8/+5 | |
| | | | | | | | This avoids some copying in its clients. llvm-svn: 39091 | |||||
| * | Push strings out of the HeaderSearch interface, it now deals solely with | Chris Lattner | 2006-10-30 | 1 | -3/+9 | |
| | | | | | | | character ranges. llvm-svn: 39090 | |||||
| * | Pull the string hashtable out of the IdentifierTable, moving into LLVM's | Chris Lattner | 2006-10-29 | 1 | -2/+3 | |
| | | | | | | | libsupport. Now it can be used for other things besides identifier hashing. llvm-svn: 39079 | |||||
| * | Implement test/Preprocessor/comment_save_if.c | Chris Lattner | 2006-10-27 | 1 | -0/+8 | |
| | | | | | llvm-svn: 39069 | |||||
| * | add #include | Chris Lattner | 2006-10-22 | 1 | -0/+1 | |
| | | | | | llvm-svn: 39034 | |||||
| * | Fix a regression introduced when adding subframework support | Chris Lattner | 2006-10-20 | 1 | -2/+2 | |
| | | | | | llvm-svn: 39022 | |||||
| * | Implement test/Preprocessor/macro_arg_keyword.c | Chris Lattner | 2006-10-20 | 1 | -4/+8 | |
| | | | | | llvm-svn: 39021 | |||||
| * | Implement subframework lookup | Chris Lattner | 2006-10-20 | 1 | -3/+27 | |
| | | | | | llvm-svn: 39015 | |||||
| * | Move keyword setup from the preprocessor into the IdentifierTable class. | Chris Lattner | 2006-10-18 | 1 | -72/+1 | |
| | | | | | llvm-svn: 39014 | |||||
| * | refactor header searching stuff out of the main Preprocessor object into | Chris Lattner | 2006-10-18 | 1 | -160/+21 | |
| | | | | | | | | it's own HeaderSearch object. This makes Preprocessor simpler and easier to understand. llvm-svn: 39012 | |||||
| * | silence warning, add hacky patch for framework lookup | Chris Lattner | 2006-10-18 | 1 | -3/+46 | |
| | | | | | llvm-svn: 39011 | |||||
| * | Make the identifier table track objc keywords | Chris Lattner | 2006-10-17 | 1 | -0/+14 | |
| | | | | | llvm-svn: 39003 | |||||
| * | Make preprocessor keywords like 'define' first class citizens in the | Chris Lattner | 2006-10-17 | 1 | -68/+99 | |
| | | | | | | | IdentifierTable, instead of making them resort to strcmp'ing. llvm-svn: 39002 | |||||
| * | ignore '#line' and '# 123' for now. | Chris Lattner | 2006-10-17 | 1 | -5/+7 | |
| | | | | | llvm-svn: 38997 | |||||
| * | Implement the #define_other_target directive. | Chris Lattner | 2006-10-14 | 1 | -2/+54 | |
| | | | | | llvm-svn: 38984 | |||||
| * | Implement the #define_target preprocessor directive. | Chris Lattner | 2006-10-14 | 1 | -5/+30 | |
| | | | | | llvm-svn: 38980 | |||||
| * | Write up TargetInfo so that use of wchar_t strings results in a warning if | Chris Lattner | 2006-10-14 | 1 | -2/+3 | |
| | | | | | | | used in a target set where the size is not identical. llvm-svn: 38975 | |||||
| * | Rename LexerToken methods to be more consistent. | Chris Lattner | 2006-10-14 | 1 | -42/+42 | |
| | | | | | llvm-svn: 38969 | |||||
| * | Initial support for semantic analysis and AST building for StringExpr nodes. | Chris Lattner | 2006-10-06 | 1 | -2/+2 | |
| | | | | | llvm-svn: 38960 | |||||
| * | Fix precedence problem | Chris Lattner | 2006-08-04 | 1 | -3/+3 | |
| | | | | | llvm-svn: 38809 | |||||
| * | Simplify implementation of varargs macros by adding the __VA_ARGS__ token | Chris Lattner | 2006-07-30 | 1 | -18/+4 | |
| | | | | | | | to the formal argument list of a C99 varargs macro. llvm-svn: 38800 | |||||
| * | The optimized case has to treat __VA_ARGS__ as an argument. This fixes | Chris Lattner | 2006-07-29 | 1 | -0/+5 | |
| | | | | | | | test/Preprocessor/macro_rescan_varargs.c llvm-svn: 38795 | |||||
| * | Implement support for #__VA_ARGS__ | Chris Lattner | 2006-07-29 | 1 | -1/+2 | |
| | | | | | llvm-svn: 38791 | |||||
| * | Implement comment saving mode: the -C and -CC options. | Chris Lattner | 2006-07-29 | 1 | -0/+18 | |
| | | | | | llvm-svn: 38783 | |||||
| * | Implement the GNU comma swallowing extension. This implements | Chris Lattner | 2006-07-29 | 1 | -1/+8 | |
| | | | | | | | test/Preprocessor/macro_fn_comma_swallow.c llvm-svn: 38780 | |||||
| * | Fix a bug in previous commit | Chris Lattner | 2006-07-29 | 1 | -1/+1 | |
| | | | | | llvm-svn: 38774 | |||||
| * | No need for explicit underscore anymore. | Chris Lattner | 2006-07-29 | 1 | -1/+1 | |
| | | | | | llvm-svn: 38773 | |||||
| * | Poison and unpoison __VA_ARGS__ when appropriate | Chris Lattner | 2006-07-29 | 1 | -2/+15 | |
| | | | | | llvm-svn: 38770 | |||||
| * | If the varargs token is missing, add an empty argument to represent it. This | Chris Lattner | 2006-07-29 | 1 | -10/+9 | |
| | | | | | | | fixes Preprocessor/macro_fn_varargs_named.c llvm-svn: 38769 | |||||
| * | Implement C99 6.10.3.4p2, testcase here: Preprocessor/macro_disable3.c. | Chris Lattner | 2006-07-27 | 1 | -3/+18 | |
| | | | | | llvm-svn: 38760 | |||||
| * | Change Preprocessor::ReadFunctionLikeMacroArgs to use a SmallVector to lex | Chris Lattner | 2006-07-26 | 1 | -3/+5 | |
| | | | | | | | | | argument tokens into instead of a real vector. This avoids some malloc traffic in common cases. In an "abusive macro expansion" testcase, this reduced -Eonly time by 25%. llvm-svn: 38757 | |||||
| * | Change MacroArgs to allocate space for the unexpanded tokens immediately after | Chris Lattner | 2006-07-26 | 1 | -2/+2 | |
| | | | | | | | | the MacroArgs object itself. This is a bit more efficient and will be even more so shortly. llvm-svn: 38756 | |||||
| * | Implement a FIXME: don't copy token array into a token vector, instead, ↵ | Chris Lattner | 2006-07-26 | 1 | -2/+2 | |
| | | | | | | | macroexpander should expand from an array directly. llvm-svn: 38754 | |||||
| * | speed up a brutal macro-expansion torture test by about 30% (1.5 -> 1.0s) | Chris Lattner | 2006-07-21 | 1 | -14/+25 | |
| | | | | | | | | by turning vectors of vectors into a single vector, reducing pressure on malloc. This can still be improved. llvm-svn: 38753 | |||||
| * | Add optimization for identifier##identifier -> identifier, the most common ↵ | Chris Lattner | 2006-07-20 | 1 | -1/+4 | |
| | | | | | | | case of token pasting. llvm-svn: 38747 | |||||
| * | Simplify "raw lexing mode" even further. Now the preprocessor is only called | Chris Lattner | 2006-07-20 | 1 | -6/+1 | |
| | | | | | | | | into when a hard error is found. This simplifies logic and eliminates the need for the preprocessor to know about raw mode. llvm-svn: 38746 | |||||
| * | Simplify identifier lookup in raw mode, implementing ↵ | Chris Lattner | 2006-07-20 | 1 | -6/+3 | |
| | | | | | | | Preprocessor/macro_fn_lparen_scan2.c. llvm-svn: 38744 | |||||
| * | Move LexingRawMode handling of file EOF out of the preprocessor into the | Chris Lattner | 2006-07-19 | 1 | -13/+0 | |
| | | | | | | | | | lexer. This makes more logical sense and also unbreaks the case when the lexer hasn't been pushed onto the PP include stack. This is the case when pasting identifiers. This patch implements macro_paste_bcpl_comment.c. llvm-svn: 38736 | |||||
| * | Make end-of-file handling much less recursive. This reduces the worst case | Chris Lattner | 2006-07-18 | 1 | -5/+8 | |
| | | | | | | | stack depth sampled by shark from ~34 to ~17 frames when preprocessing <iostream>. llvm-svn: 38726 | |||||
| * | Implement support for lexing from a pre-constructed token stream. | Chris Lattner | 2006-07-16 | 1 | -11/+31 | |
| | | | | | | | | | Use this support to implement function-like macro argument preexpansion. This implements test/Preprocessor/macro_fn_preexpand.c llvm-svn: 38724 | |||||

