| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Add altivec version of block comment skipping code. | Chris Lattner | 2006-10-30 | 1 | -1/+12 |
| | | | | | llvm-svn: 39093 | ||||
| * | Refactor the paths used for checking and getting the spelling of #include | Chris Lattner | 2006-10-30 | 1 | -38/+4 |
| | | | | | | | | | | 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 | ||||
| * | Remove GNU C++ min/max operator extension support, they have been removed | Chris Lattner | 2006-10-27 | 1 | -20/+0 |
| | | | | | | | from gcc mainline. llvm-svn: 39067 | ||||
| * | remove todo | Chris Lattner | 2006-10-27 | 1 | -2/+0 |
| | | | | | llvm-svn: 39061 | ||||
| * | Implement an sse2 version of the block comment scanner. | Chris Lattner | 2006-10-27 | 1 | -1/+17 |
| | | | | | llvm-svn: 39060 | ||||
| * | Speed up block comment skipping by 35%. | Chris Lattner | 2006-10-27 | 1 | -1/+21 |
| | | | | | llvm-svn: 39059 | ||||
| * | Oversight: fixes test/Lexer/number.c | Chris Lattner | 2006-10-17 | 1 | -0/+1 |
| | | | | | llvm-svn: 38998 | ||||
| * | Rename LexerToken methods to be more consistent. | Chris Lattner | 2006-10-14 | 1 | -106/+106 |
| | | | | | llvm-svn: 38969 | ||||
| * | Initial support for semantic analysis and AST building for StringExpr nodes. | Chris Lattner | 2006-10-06 | 1 | -4/+5 |
| | | | | | llvm-svn: 38960 | ||||
| * | Implement comment saving mode: the -C and -CC options. | Chris Lattner | 2006-07-29 | 1 | -24/+66 |
| | | | | | llvm-svn: 38783 | ||||
| * | disable malformed string/character errors when in raw mode. This fixes | Chris Lattner | 2006-07-20 | 1 | -4/+4 |
| | | | | | | | test/Lexer/badstring_in_if0.c llvm-svn: 38751 | ||||
| * | If an invalid string or character is read, return the invalid part as a ↵ | Chris Lattner | 2006-07-20 | 1 | -8/+14 |
| | | | | | | | tok::unknown token. llvm-svn: 38749 | ||||
| * | Simplify "raw lexing mode" even further. Now the preprocessor is only called | Chris Lattner | 2006-07-20 | 1 | -7/+15 |
| | | | | | | | | 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 | -0/+4 |
| | | | | | | | 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/+22 |
| | | | | | | | | | 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/+13 |
| | | | | | | | stack depth sampled by shark from ~34 to ~17 frames when preprocessing <iostream>. llvm-svn: 38726 | ||||
| * | Lex the microsoft 'charize' extension. | Chris Lattner | 2006-07-15 | 1 | -2/+10 |
| | | | | | llvm-svn: 38711 | ||||
| * | Change Lexer::Stringify to not add ""'s around the string. | Chris Lattner | 2006-07-15 | 1 | -5/+4 |
| | | | | | llvm-svn: 38708 | ||||
| * | The lexer should not warn about stray characters, it should just return | Chris Lattner | 2006-07-11 | 1 | -3/+2 |
| | | | | | | | tok::unknown tokens. This fixes test/Lexer/unknown-char.c llvm-svn: 38703 | ||||
| * | Move Preprocessor::isNextPPTokenLParen to Lexer::isNextPPTokenLParen, where | Chris Lattner | 2006-07-11 | 1 | -3/+34 |
| | | | | | | | it more rightly belongs. llvm-svn: 38702 | ||||
| * | Change Preprocessor::SkippingContents into Lexer::LexingRawMode. Raw mode | Chris Lattner | 2006-07-11 | 1 | -7/+13 |
| | | | | | | | | | | | 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 | ||||
| * | Implement "lparen scanning" for lexer buffers, by making "skipping lexing" | Chris Lattner | 2006-07-11 | 1 | -9/+14 |
| | | | | | | | | completely reversible. This implements tests 3/4 of test/Preprocessor/macro_fn_lparen_scan.c llvm-svn: 38699 | ||||
| * | Add simple optimization: check for (and skip) spaces and tabs immediately | Chris Lattner | 2006-07-10 | 1 | -0/+9 |
| | | | | | | | | | before lexing a token. This speeds the common case where tokens are separated by small amount of whitespace. This makes a slight but reproducible positive effect lexing a preprocessed carbon.h. llvm-svn: 38691 | ||||
| * | Start reading/validating the argument list for a function-like macro. | Chris Lattner | 2006-07-08 | 1 | -13/+4 |
| | | | | | llvm-svn: 38681 | ||||
| * | Fix Preprocessor/macro_space.c, which failed because the ! token had | Chris Lattner | 2006-07-05 | 1 | -0/+1 |
| | | | | | | | identifier info incorrectly set. llvm-svn: 38674 | ||||
| * | Change the Preprocessor::getSpelling interface to let it be zero-copy in | Chris Lattner | 2006-07-04 | 1 | -1/+1 |
| | | | | | | | the common case. llvm-svn: 38671 | ||||
| * | Rename IdentifierTokenInfo -> IdentifierInfo. | Chris Lattner | 2006-07-04 | 1 | -1/+1 |
| | | | | | llvm-svn: 38650 | ||||
| * | Implement the automaton for recognizing files with controlling macros. | Chris Lattner | 2006-07-04 | 1 | -0/+18 |
| | | | | | llvm-svn: 38646 | ||||
| * | Add support to track the real top-level file. | Chris Lattner | 2006-07-03 | 1 | -0/+1 |
| | | | | | llvm-svn: 38630 | ||||
| * | Refactor some code into a new Lexer::Stringify method. | Chris Lattner | 2006-07-03 | 1 | -3/+15 |
| | | | | | llvm-svn: 38624 | ||||
| * | Cleanup fixme comments | Chris Lattner | 2006-07-03 | 1 | -10/+10 |
| | | | | | llvm-svn: 38620 | ||||
| * | Remove Lexer::BufferStart, an unneeded instance var. | Chris Lattner | 2006-07-02 | 1 | -1/+0 |
| | | | | | llvm-svn: 38615 | ||||
| * | Fix Preprocessor/_Pragma-physloc.c, by making sure that the returned location | Chris Lattner | 2006-07-02 | 1 | -2/+2 |
| | | | | | | | | of the token is relative to the start of the buffer, not relative to the start position of the lexer. llvm-svn: 38614 | ||||
| * | Fix some minor bugs handling _Pragma, including | Chris Lattner | 2006-07-02 | 1 | -0/+1 |
| | | | | | | | test/Preprocessor/_Pragma_syshdr.c llvm-svn: 38609 | ||||
| * | Allow the buffer start/end positions to be optionally specified. Make sure | Chris Lattner | 2006-07-02 | 1 | -7/+9 |
| | | | | | | | to use them instead of the current buffer start/end when computing diagnostics. llvm-svn: 38603 | ||||
| * | Remove dead variable. | Chris Lattner | 2006-06-28 | 1 | -1/+0 |
| | | | | | llvm-svn: 38584 | ||||
| * | implement #pragma GCC dependency | Chris Lattner | 2006-06-25 | 1 | -20/+36 |
| | | | | | llvm-svn: 38574 | ||||
| * | Finish implementation of #pragma once. Implement #pragma GCC poison. | Chris Lattner | 2006-06-24 | 1 | -2/+0 |
| | | | | | llvm-svn: 38568 | ||||
| * | Simplify some code | Chris Lattner | 2006-06-18 | 1 | -7/+6 |
| | | | | | llvm-svn: 38555 | ||||
| * | Make a fundamental change to the way we represent the location of LexerToken's. | Chris Lattner | 2006-06-18 | 1 | -147/+43 |
| | | | | | | | | | | | | | | | 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 | ||||
| * | Fix a fixme by passing language options into LexerToken::dump, instead of | Chris Lattner | 2006-06-18 | 1 | -12/+4 |
| | | | | | | | relying on TheLexer. llvm-svn: 38549 | ||||
| * | Change the token representation to take a Start and Length instead of a | Chris Lattner | 2006-06-18 | 1 | -9/+9 |
| | | | | | | | Start/End pointer. llvm-svn: 38548 | ||||
| * | Make a method a static function | Chris Lattner | 2006-06-18 | 1 | -7/+8 |
| | | | | | llvm-svn: 38543 | ||||
| * | Remove manual conditional error handling code. | Chris Lattner | 2006-06-18 | 1 | -118/+75 |
| | | | | | llvm-svn: 38540 | ||||
| * | Initial checkin of c-language parser | Chris Lattner | 2006-06-18 | 1 | -0/+1473 |
| llvm-svn: 38539 | |||||

