diff options
author | Daniel Dunbar <daniel@zuster.org> | 2012-11-13 19:12:37 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2012-11-13 19:12:37 +0000 |
commit | cf3f2c49eaca66d0d2568ce7711b370fcf0f8bb0 (patch) | |
tree | 29a19faada85890ab99302edd0de46dc9738e095 /clang/lib/Lex/Lexer.cpp | |
parent | e9322ce61a763212da2efd9ec5674e892fdd1b77 (diff) | |
download | llvm-cf3f2c49eaca66d0d2568ce7711b370fcf0f8bb0.zip llvm-cf3f2c49eaca66d0d2568ce7711b370fcf0f8bb0.tar.gz llvm-cf3f2c49eaca66d0d2568ce7711b370fcf0f8bb0.tar.bz2 |
Revert r167801, "[preprocessor] When #including something that contributes no
tokens at all,". This change broke External/Nurbs in LLVM test-suite.
llvm-svn: 167858
Diffstat (limited to 'clang/lib/Lex/Lexer.cpp')
-rw-r--r-- | clang/lib/Lex/Lexer.cpp | 22 |
1 files changed, 0 insertions, 22 deletions
diff --git a/clang/lib/Lex/Lexer.cpp b/clang/lib/Lex/Lexer.cpp index 6917645..bf0883e 100644 --- a/clang/lib/Lex/Lexer.cpp +++ b/clang/lib/Lex/Lexer.cpp @@ -2594,14 +2594,8 @@ LexNextToken: // Read the PP instance variable into an automatic variable, because // LexEndOfFile will often delete 'this'. Preprocessor *PPCache = PP; - bool EnableIncludedEOFCache = EnableIncludedEOF; if (LexEndOfFile(Result, CurPtr-1)) // Retreat back into the file. return; // Got a token to return. - - if (EnableIncludedEOFCache) { - Result.setKind(tok::included_eof); - return; - } assert(PPCache && "Raw buffer::LexEndOfFile should return a token"); return PPCache->Lex(Result); } @@ -3239,21 +3233,5 @@ HandleDirective: } goto LexNextToken; // GCC isn't tail call eliminating. } - - if (PreprocessorLexer *PPLex = PP->getCurrentLexer()) { - // If we #include something that contributes no tokens at all, return with - // a tok::included_eof instead of recursively continuing lexing. - // This avoids a stack overflow with a sequence of many empty #includes. - PPLex->setEnableIncludedEOF(true); - PP->Lex(Result); - if (Result.isNot(tok::included_eof)) { - if (Result.isNot(tok::eof) && Result.isNot(tok::eod)) - PPLex->setEnableIncludedEOF(false); - return; - } - if (PP->isCurrentLexer(this)) - goto LexNextToken; - } - return PP->Lex(Result); } |