[llvm] r283290 - Use StringRef in StringSaver API (NFC)
Mehdi Amini via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 4 18:32:42 PDT 2016
Author: mehdi_amini
Date: Tue Oct 4 20:32:41 2016
New Revision: 283290
URL: http://llvm.org/viewvc/llvm-project?rev=283290&view=rev
Log:
Use StringRef in StringSaver API (NFC)
Modified:
llvm/trunk/include/llvm/Support/StringSaver.h
llvm/trunk/lib/Support/CommandLine.cpp
llvm/trunk/lib/Support/StringSaver.cpp
Modified: llvm/trunk/include/llvm/Support/StringSaver.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/StringSaver.h?rev=283290&r1=283289&r2=283290&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/StringSaver.h (original)
+++ llvm/trunk/include/llvm/Support/StringSaver.h Tue Oct 4 20:32:41 2016
@@ -23,10 +23,10 @@ class StringSaver final {
public:
StringSaver(BumpPtrAllocator &Alloc) : Alloc(Alloc) {}
- const char *save(const char *S) { return save(StringRef(S)); }
- const char *save(StringRef S);
- const char *save(const Twine &S) { return save(StringRef(S.str())); }
- const char *save(std::string &S) { return save(StringRef(S)); }
+ StringRef save(const char *S) { return save(StringRef(S)); }
+ StringRef save(StringRef S);
+ StringRef save(const Twine &S) { return save(StringRef(S.str())); }
+ StringRef save(std::string &S) { return save(StringRef(S)); }
};
}
#endif
Modified: llvm/trunk/lib/Support/CommandLine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/CommandLine.cpp?rev=283290&r1=283289&r2=283290&view=diff
==============================================================================
--- llvm/trunk/lib/Support/CommandLine.cpp (original)
+++ llvm/trunk/lib/Support/CommandLine.cpp Tue Oct 4 20:32:41 2016
@@ -726,7 +726,7 @@ void cl::TokenizeGNUCommandLine(StringRe
// End the token if this is whitespace.
if (isWhitespace(Src[I])) {
if (!Token.empty())
- NewArgv.push_back(Saver.save(StringRef(Token)));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
Token.clear();
continue;
}
@@ -737,7 +737,7 @@ void cl::TokenizeGNUCommandLine(StringRe
// Append the last token after hitting EOF with no whitespace.
if (!Token.empty())
- NewArgv.push_back(Saver.save(StringRef(Token)));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
// Mark the end of response files
if (MarkEOLs)
NewArgv.push_back(nullptr);
@@ -818,7 +818,7 @@ void cl::TokenizeWindowsCommandLine(Stri
if (State == UNQUOTED) {
// Whitespace means the end of the token.
if (isWhitespace(Src[I])) {
- NewArgv.push_back(Saver.save(StringRef(Token)));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
Token.clear();
State = INIT;
// Mark the end of lines in response files
@@ -853,7 +853,7 @@ void cl::TokenizeWindowsCommandLine(Stri
}
// Append the last token after hitting EOF with no whitespace.
if (!Token.empty())
- NewArgv.push_back(Saver.save(StringRef(Token)));
+ NewArgv.push_back(Saver.save(StringRef(Token)).data());
// Mark the end of response files
if (MarkEOLs)
NewArgv.push_back(nullptr);
@@ -962,7 +962,7 @@ void cl::ParseEnvironmentOptions(const c
SmallVector<const char *, 20> newArgv;
BumpPtrAllocator A;
StringSaver Saver(A);
- newArgv.push_back(Saver.save(progName));
+ newArgv.push_back(Saver.save(progName).data());
// Parse the value of the environment variable into a "command line"
// and hand it off to ParseCommandLineOptions().
Modified: llvm/trunk/lib/Support/StringSaver.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/StringSaver.cpp?rev=283290&r1=283289&r2=283290&view=diff
==============================================================================
--- llvm/trunk/lib/Support/StringSaver.cpp (original)
+++ llvm/trunk/lib/Support/StringSaver.cpp Tue Oct 4 20:32:41 2016
@@ -11,9 +11,9 @@
using namespace llvm;
-const char *StringSaver::save(StringRef S) {
+StringRef StringSaver::save(StringRef S) {
char *P = Alloc.Allocate<char>(S.size() + 1);
memcpy(P, S.data(), S.size());
P[S.size()] = '\0';
- return P;
+ return StringRef(P, S.size());
}
More information about the llvm-commits
mailing list