summaryrefslogtreecommitdiffstats
path: root/clang/Lex/Lexer.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix Preprocessor/macro_space.c, which failed because the ! token hadChris Lattner2006-07-051-0/+1
| | | | | | identifier info incorrectly set. llvm-svn: 38674
* Change the Preprocessor::getSpelling interface to let it be zero-copy inChris Lattner2006-07-041-1/+1
| | | | | | the common case. llvm-svn: 38671
* Rename IdentifierTokenInfo -> IdentifierInfo.Chris Lattner2006-07-041-1/+1
| | | | llvm-svn: 38650
* Implement the automaton for recognizing files with controlling macros.Chris Lattner2006-07-041-0/+18
| | | | llvm-svn: 38646
* Add support to track the real top-level file.Chris Lattner2006-07-031-0/+1
| | | | llvm-svn: 38630
* Refactor some code into a new Lexer::Stringify method.Chris Lattner2006-07-031-3/+15
| | | | llvm-svn: 38624
* Cleanup fixme commentsChris Lattner2006-07-031-10/+10
| | | | llvm-svn: 38620
* Remove Lexer::BufferStart, an unneeded instance var.Chris Lattner2006-07-021-1/+0
| | | | llvm-svn: 38615
* Fix Preprocessor/_Pragma-physloc.c, by making sure that the returned locationChris Lattner2006-07-021-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, includingChris Lattner2006-07-021-0/+1
| | | | | | test/Preprocessor/_Pragma_syshdr.c llvm-svn: 38609
* Allow the buffer start/end positions to be optionally specified. Make sureChris Lattner2006-07-021-7/+9
| | | | | | to use them instead of the current buffer start/end when computing diagnostics. llvm-svn: 38603
* Remove dead variable.Chris Lattner2006-06-281-1/+0
| | | | llvm-svn: 38584
* implement #pragma GCC dependencyChris Lattner2006-06-251-20/+36
| | | | llvm-svn: 38574
* Finish implementation of #pragma once. Implement #pragma GCC poison.Chris Lattner2006-06-241-2/+0
| | | | llvm-svn: 38568
* Simplify some codeChris Lattner2006-06-181-7/+6
| | | | llvm-svn: 38555
* Make a fundamental change to the way we represent the location of LexerToken's.Chris Lattner2006-06-181-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 ofChris Lattner2006-06-181-12/+4
| | | | | | relying on TheLexer. llvm-svn: 38549
* Change the token representation to take a Start and Length instead of aChris Lattner2006-06-181-9/+9
| | | | | | Start/End pointer. llvm-svn: 38548
* Make a method a static functionChris Lattner2006-06-181-7/+8
| | | | llvm-svn: 38543
* Remove manual conditional error handling code.Chris Lattner2006-06-181-118/+75
| | | | llvm-svn: 38540
* Initial checkin of c-language parserChris Lattner2006-06-181-0/+1473
llvm-svn: 38539
OpenPOWER on IntegriCloud