forked from OSchip/llvm-project
PTHLexer:
- Move PTHLexer::GetToken() to be inside PTHLexer.cpp. - When lexing in raw mode, null out identifiers. llvm-svn: 59744
This commit is contained in:
parent
c1877cbc21
commit
111caaac58
|
@ -68,7 +68,7 @@ private:
|
|||
|
||||
/// GetToken - Returns the next token. This method does not advance the
|
||||
/// PTHLexer to the next token.
|
||||
Token GetToken() { return Tokens[CurTokenIdx]; }
|
||||
Token GetToken();
|
||||
|
||||
/// AdvanceToken - Advances the PTHLexer to the next token.
|
||||
void AdvanceToken() { ++CurTokenIdx; }
|
||||
|
|
|
@ -27,6 +27,18 @@ PTHLexer::PTHLexer(Preprocessor& pp, SourceLocation fileloc,
|
|||
assert(Tokens[LastTokenIdx].is(tok::eof));
|
||||
}
|
||||
|
||||
Token PTHLexer::GetToken() {
|
||||
Token Tok = Tokens[CurTokenIdx];
|
||||
|
||||
// If we are in raw mode, zero out identifier pointers. This is
|
||||
// needed for 'pragma poison'. Note that this requires that the Preprocessor
|
||||
// can go back to the original source when it calls getSpelling().
|
||||
if (LexingRawMode && Tok.is(tok::identifier))
|
||||
Tok.setIdentifierInfo(0);
|
||||
|
||||
return Tok;
|
||||
}
|
||||
|
||||
void PTHLexer::Lex(Token& Tok) {
|
||||
LexNextToken:
|
||||
if (AtLastToken()) {
|
||||
|
|
Loading…
Reference in New Issue