diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-12-10 23:20:59 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-12-10 23:20:59 +0000 |
commit | 8e1f05fc2625d48722ddd596ca1dcc1e2ba12971 (patch) | |
tree | f3ca0f2d5b41636566772d200fa47615d1f564b0 /clang/lib/Lex/PPLexerChange.cpp | |
parent | 6c2522a1cf7161af65af145b65a89b57cd840653 (diff) | |
download | bcm5719-llvm-8e1f05fc2625d48722ddd596ca1dcc1e2ba12971.tar.gz bcm5719-llvm-8e1f05fc2625d48722ddd596ca1dcc1e2ba12971.zip |
PreprocessorLexer (and subclasses):
- Added virtual method 'getSourceLocation()' (no arguments) that gets the location of the next "observable" location (e.g., next character, next token).
PPLexerChange.cpp:
- Implemented FIXME by using PreprocessorLexer::getSourceLocation() to get the location in the file we are returning to after lexing a #included file. This appears to be slightly faster than having the branch (i.e., 'if(CurLexer)'). It's also not a really hot part of the Preprocessor.
llvm-svn: 60860
Diffstat (limited to 'clang/lib/Lex/PPLexerChange.cpp')
-rw-r--r-- | clang/lib/Lex/PPLexerChange.cpp | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/clang/lib/Lex/PPLexerChange.cpp b/clang/lib/Lex/PPLexerChange.cpp index bb2536d1e60..cd50f0e38f7 100644 --- a/clang/lib/Lex/PPLexerChange.cpp +++ b/clang/lib/Lex/PPLexerChange.cpp @@ -275,16 +275,8 @@ bool Preprocessor::HandleEndOfFile(Token &Result, bool isEndOfMacro) { if (Callbacks && !isEndOfMacro && CurPPLexer) { SrcMgr::CharacteristicKind FileType = SourceMgr.getFileCharacteristic(CurPPLexer->getFileID()); - - if (CurLexer) { - Callbacks->FileChanged(CurLexer->getSourceLocation(CurLexer->BufferPtr), - PPCallbacks::ExitFile, FileType); - } - else { - // FIXME: Is this okay to use the location of 'Result'? - Callbacks->FileChanged(Result.getLocation(), PPCallbacks::ExitFile, - FileType); - } + Callbacks->FileChanged(CurPPLexer->getSourceLocation(), + PPCallbacks::ExitFile, FileType); } // Client should lex another token. |