forked from OSchip/llvm-project
StringRefize Preprocessor::getIdentifierInfo.
llvm-svn: 86105
This commit is contained in:
parent
c00be15469
commit
f539bfeb4d
|
@ -296,12 +296,8 @@ public:
|
|||
/// pointers is preferred unless the identifier is already available as a
|
||||
/// string (this avoids allocation and copying of memory to construct an
|
||||
/// std::string).
|
||||
IdentifierInfo *getIdentifierInfo(const char *NameStart,
|
||||
const char *NameEnd) {
|
||||
return &Identifiers.get(NameStart, NameEnd);
|
||||
}
|
||||
IdentifierInfo *getIdentifierInfo(const char *NameStr) {
|
||||
return getIdentifierInfo(NameStr, NameStr+strlen(NameStr));
|
||||
IdentifierInfo *getIdentifierInfo(llvm::StringRef Name) {
|
||||
return &Identifiers.get(Name);
|
||||
}
|
||||
|
||||
/// AddPragmaHandler - Add the specified pragma handler to the preprocessor.
|
||||
|
|
|
@ -409,14 +409,14 @@ IdentifierInfo *Preprocessor::LookUpIdentifierInfo(Token &Identifier,
|
|||
IdentifierInfo *II;
|
||||
if (BufPtr && !Identifier.needsCleaning()) {
|
||||
// No cleaning needed, just use the characters from the lexed buffer.
|
||||
II = getIdentifierInfo(BufPtr, BufPtr+Identifier.getLength());
|
||||
II = getIdentifierInfo(llvm::StringRef(BufPtr, Identifier.getLength()));
|
||||
} else {
|
||||
// Cleaning needed, alloca a buffer, clean into it, then use the buffer.
|
||||
llvm::SmallVector<char, 64> IdentifierBuffer;
|
||||
IdentifierBuffer.resize(Identifier.getLength());
|
||||
const char *TmpBuf = &IdentifierBuffer[0];
|
||||
unsigned Size = getSpelling(Identifier, TmpBuf);
|
||||
II = getIdentifierInfo(TmpBuf, TmpBuf+Size);
|
||||
II = getIdentifierInfo(llvm::StringRef(TmpBuf, Size));
|
||||
}
|
||||
Identifier.setIdentifierInfo(II);
|
||||
return II;
|
||||
|
|
Loading…
Reference in New Issue