From: Argyrios Kyrtzidis Date: Wed, 19 Nov 2008 14:23:14 +0000 (+0000) Subject: Remove Preprocessor::CacheTokens boolean data member. The same functionality can... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=fad03b2b38a3baea4b67e79e676fee15078e3258;p=clang Remove Preprocessor::CacheTokens boolean data member. The same functionality can be provided by using Preprocessor::isBacktrackEnabled(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59631 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Lex/Preprocessor.h b/include/clang/Lex/Preprocessor.h index 999ba3b4f3..9af53bf494 100644 --- a/include/clang/Lex/Preprocessor.h +++ b/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/lib/Lex/PPCaching.cpp b/lib/Lex/PPCaching.cpp index 1f39088d7f..ed67754e6e 100644 --- a/lib/Lex/PPCaching.cpp +++ b/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/lib/Lex/Preprocessor.cpp b/lib/Lex/Preprocessor.cpp index 2d4d3a7324..5e97326994 100644 --- a/lib/Lex/Preprocessor.cpp +++ b/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.