StringRef'ize Preprocessor::CreateString().
llvm-svn: 164555
This commit is contained in:
parent
ae07f72017
commit
b8e9e7507e
|
@ -907,7 +907,7 @@ public:
|
|||
/// CreateString - Plop the specified string into a scratch buffer and set the
|
||||
/// specified token's location and length to it. If specified, the source
|
||||
/// location provides a location of the expansion point of the token.
|
||||
void CreateString(const char *Buf, unsigned Len, Token &Tok,
|
||||
void CreateString(StringRef Str, Token &Tok,
|
||||
SourceLocation ExpansionLocStart = SourceLocation(),
|
||||
SourceLocation ExpansionLocEnd = SourceLocation());
|
||||
|
||||
|
|
|
@ -2048,7 +2048,7 @@ bool Lexer::SaveBCPLComment(Token &Result, const char *CurPtr) {
|
|||
Spelling += "*/"; // add suffix.
|
||||
|
||||
Result.setKind(tok::comment);
|
||||
PP->CreateString(&Spelling[0], Spelling.size(), Result,
|
||||
PP->CreateString(Spelling, Result,
|
||||
Result.getLocation(), Result.getLocation());
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -291,7 +291,7 @@ Token MacroArgs::StringifyArgument(const Token *ArgToks,
|
|||
}
|
||||
}
|
||||
|
||||
PP.CreateString(&Result[0], Result.size(), Tok,
|
||||
PP.CreateString(Result, Tok,
|
||||
ExpansionLocStart, ExpansionLocEnd);
|
||||
return Tok;
|
||||
}
|
||||
|
|
|
@ -595,10 +595,9 @@ static void ComputeDATE_TIME(SourceLocation &DATELoc, SourceLocation &TIMELoc,
|
|||
llvm::raw_svector_ostream TmpStream(TmpBuffer);
|
||||
TmpStream << llvm::format("\"%s %2d %4d\"", Months[TM->tm_mon],
|
||||
TM->tm_mday, TM->tm_year + 1900);
|
||||
StringRef DateStr = TmpStream.str();
|
||||
Token TmpTok;
|
||||
TmpTok.startToken();
|
||||
PP.CreateString(DateStr.data(), DateStr.size(), TmpTok);
|
||||
PP.CreateString(TmpStream.str(), TmpTok);
|
||||
DATELoc = TmpTok.getLocation();
|
||||
}
|
||||
|
||||
|
@ -607,10 +606,9 @@ static void ComputeDATE_TIME(SourceLocation &DATELoc, SourceLocation &TIMELoc,
|
|||
llvm::raw_svector_ostream TmpStream(TmpBuffer);
|
||||
TmpStream << llvm::format("\"%02d:%02d:%02d\"",
|
||||
TM->tm_hour, TM->tm_min, TM->tm_sec);
|
||||
StringRef TimeStr = TmpStream.str();
|
||||
Token TmpTok;
|
||||
TmpTok.startToken();
|
||||
PP.CreateString(TimeStr.data(), TimeStr.size(), TmpTok);
|
||||
PP.CreateString(TmpStream.str(), TmpTok);
|
||||
TIMELoc = TmpTok.getLocation();
|
||||
}
|
||||
}
|
||||
|
@ -1167,8 +1165,7 @@ void Preprocessor::ExpandBuiltinMacro(Token &Tok) {
|
|||
} else {
|
||||
llvm_unreachable("Unknown identifier!");
|
||||
}
|
||||
CreateString(OS.str().data(), OS.str().size(), Tok,
|
||||
Tok.getLocation(), Tok.getLocation());
|
||||
CreateString(OS.str(), Tok, Tok.getLocation(), Tok.getLocation());
|
||||
}
|
||||
|
||||
void Preprocessor::markMacroAsUsed(MacroInfo *MI) {
|
||||
|
|
|
@ -251,7 +251,7 @@ void Preprocessor::Handle_Pragma(Token &Tok) {
|
|||
// where we can lex it.
|
||||
Token TmpTok;
|
||||
TmpTok.startToken();
|
||||
CreateString(&StrVal[0], StrVal.size(), TmpTok);
|
||||
CreateString(StrVal, TmpTok);
|
||||
SourceLocation TokLoc = TmpTok.getLocation();
|
||||
|
||||
// Make and enter a lexer object so that we lex and expand the tokens just
|
||||
|
@ -683,7 +683,7 @@ IdentifierInfo *Preprocessor::ParsePragmaPushOrPopMacro(Token &Tok) {
|
|||
Token MacroTok;
|
||||
MacroTok.startToken();
|
||||
MacroTok.setKind(tok::raw_identifier);
|
||||
CreateString(&StrVal[1], StrVal.size() - 2, MacroTok);
|
||||
CreateString(StringRef(&StrVal[1], StrVal.size() - 2), MacroTok);
|
||||
|
||||
// Get the IdentifierInfo of MacroToPushTok.
|
||||
return LookUpIdentifierInfo(MacroTok);
|
||||
|
|
|
@ -378,17 +378,17 @@ StringRef Preprocessor::getSpelling(const Token &Tok,
|
|||
/// CreateString - Plop the specified string into a scratch buffer and return a
|
||||
/// location for it. If specified, the source location provides a source
|
||||
/// location for the token.
|
||||
void Preprocessor::CreateString(const char *Buf, unsigned Len, Token &Tok,
|
||||
void Preprocessor::CreateString(StringRef Str, Token &Tok,
|
||||
SourceLocation ExpansionLocStart,
|
||||
SourceLocation ExpansionLocEnd) {
|
||||
Tok.setLength(Len);
|
||||
Tok.setLength(Str.size());
|
||||
|
||||
const char *DestPtr;
|
||||
SourceLocation Loc = ScratchBuf->getToken(Buf, Len, DestPtr);
|
||||
SourceLocation Loc = ScratchBuf->getToken(Str.data(), Str.size(), DestPtr);
|
||||
|
||||
if (ExpansionLocStart.isValid())
|
||||
Loc = SourceMgr.createExpansionLoc(Loc, ExpansionLocStart,
|
||||
ExpansionLocEnd, Len);
|
||||
ExpansionLocEnd, Str.size());
|
||||
Tok.setLocation(Loc);
|
||||
|
||||
// If this is a raw identifier or a literal token, set the pointer data.
|
||||
|
|
|
@ -501,7 +501,7 @@ bool TokenLexer::PasteTokens(Token &Tok) {
|
|||
// Claim that the tmp token is a string_literal so that we can get the
|
||||
// character pointer back from CreateString in getLiteralData().
|
||||
ResultTokTmp.setKind(tok::string_literal);
|
||||
PP.CreateString(&Buffer[0], Buffer.size(), ResultTokTmp);
|
||||
PP.CreateString(Buffer, ResultTokTmp);
|
||||
SourceLocation ResultTokLoc = ResultTokTmp.getLocation();
|
||||
ResultTokStrPtr = ResultTokTmp.getLiteralData();
|
||||
|
||||
|
|
Loading…
Reference in New Issue