Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/Frontend/PrintPreprocessedOutput.cpp
Show First 20 Lines • Show All 871 Lines • ▼ Show 20 Lines | if (DropComments && Tok.is(tok::comment)) { | ||||
// will be reproduced in the preprocessed output. | // will be reproduced in the preprocessed output. | ||||
PP.Lex(Tok); | PP.Lex(Tok); | ||||
continue; | continue; | ||||
} else if (IdentifierInfo *II = Tok.getIdentifierInfo()) { | } else if (IdentifierInfo *II = Tok.getIdentifierInfo()) { | ||||
OS << II->getName(); | OS << II->getName(); | ||||
} else if (Tok.isLiteral() && !Tok.needsCleaning() && | } else if (Tok.isLiteral() && !Tok.needsCleaning() && | ||||
Tok.getLiteralData()) { | Tok.getLiteralData()) { | ||||
OS.write(Tok.getLiteralData(), Tok.getLength()); | OS.write(Tok.getLiteralData(), Tok.getLength()); | ||||
} else if (Tok.getLength() < llvm::array_lengthof(Buffer)) { | } else if (Tok.getLength() < std::size(Buffer)) { | ||||
const char *TokPtr = Buffer; | const char *TokPtr = Buffer; | ||||
unsigned Len = PP.getSpelling(Tok, TokPtr); | unsigned Len = PP.getSpelling(Tok, TokPtr); | ||||
OS.write(TokPtr, Len); | OS.write(TokPtr, Len); | ||||
// Tokens that can contain embedded newlines need to adjust our current | // Tokens that can contain embedded newlines need to adjust our current | ||||
// line number. | // line number. | ||||
// FIXME: The token may end with a newline in which case | // FIXME: The token may end with a newline in which case | ||||
// setEmittedDirectiveOnThisLine/setEmittedTokensOnThisLine afterwards is | // setEmittedDirectiveOnThisLine/setEmittedTokensOnThisLine afterwards is | ||||
▲ Show 20 Lines • Show All 154 Lines • Show Last 20 Lines |