diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/Lex/Preprocessor.h | 5 | ||||
-rw-r--r-- | clang/lib/Lex/PPCaching.cpp | 5 | ||||
-rw-r--r-- | clang/lib/Lex/Preprocessor.cpp | 1 |
3 files changed, 2 insertions, 9 deletions
diff --git a/clang/include/clang/Lex/Preprocessor.h b/clang/include/clang/Lex/Preprocessor.h index 999ba3b4f3d..9af53bf4947 100644 --- a/clang/include/clang/Lex/Preprocessor.h +++ b/clang/include/clang/Lex/Preprocessor.h @@ -73,9 +73,6 @@ class Preprocessor { bool DisableMacroExpansion : 1; // True if macro expansion is disabled. bool InMacroArgs : 1; // True if parsing fn macro invocation args. - /// CacheTokens - True when the lexed tokens are cached for backtracking. - bool CacheTokens : 1; - /// Identifiers - This is mapping/lookup information for all identifiers in /// the program, including program keywords. IdentifierTable Identifiers; @@ -323,7 +320,7 @@ public: /// isBacktrackEnabled - True if EnableBacktrackAtThisPos() was called and /// caching of tokens is on. - bool isBacktrackEnabled() const { return CacheTokens; } + bool isBacktrackEnabled() const { return !BacktrackPositions.empty(); } /// Lex - To lex a token from the preprocessor, just pull a token from the /// current lexer or macro object. diff --git a/clang/lib/Lex/PPCaching.cpp b/clang/lib/Lex/PPCaching.cpp index 1f39088d7f0..ed67754e6e7 100644 --- a/clang/lib/Lex/PPCaching.cpp +++ b/clang/lib/Lex/PPCaching.cpp @@ -24,7 +24,6 @@ using namespace clang; /// be called multiple times and CommitBacktrackedTokens/Backtrack calls will /// be combined with the EnableBacktrackAtThisPos calls in reverse order. void Preprocessor::EnableBacktrackAtThisPos() { - CacheTokens = true; BacktrackPositions.push_back(CachedLexPos); EnterCachingLexMode(); } @@ -34,7 +33,6 @@ void Preprocessor::CommitBacktrackedTokens() { assert(!BacktrackPositions.empty() && "EnableBacktrackAtThisPos was not called!"); BacktrackPositions.pop_back(); - CacheTokens = !BacktrackPositions.empty(); } /// Backtrack - Make Preprocessor re-lex the tokens that were lexed since @@ -44,7 +42,6 @@ void Preprocessor::Backtrack() { && "EnableBacktrackAtThisPos was not called!"); CachedLexPos = BacktrackPositions.back(); BacktrackPositions.pop_back(); - CacheTokens = !BacktrackPositions.empty(); } void Preprocessor::CachingLex(Token &Result) { @@ -56,7 +53,7 @@ void Preprocessor::CachingLex(Token &Result) { ExitCachingLexMode(); Lex(Result); - if (!CacheTokens) { + if (!isBacktrackEnabled()) { // All cached tokens were consumed. CachedTokens.clear(); CachedLexPos = 0; diff --git a/clang/lib/Lex/Preprocessor.cpp b/clang/lib/Lex/Preprocessor.cpp index 2d4d3a7324d..5e973269945 100644 --- a/clang/lib/Lex/Preprocessor.cpp +++ b/clang/lib/Lex/Preprocessor.cpp @@ -69,7 +69,6 @@ Preprocessor::Preprocessor(Diagnostic &diags, const LangOptions &opts, InMacroArgs = false; NumCachedTokenLexers = 0; - CacheTokens = false; CachedLexPos = 0; // "Poison" __VA_ARGS__, which can only appear in the expansion of a macro. |