[llvm] a14c3ac - [NFC] Finish cleaning up StringRef usage in OptTable::ParseOneArg
via llvm-commits
llvm-commits at lists.llvm.org
Fri Dec 9 02:56:16 PST 2022
Author: serge-sans-paille
Date: 2022-12-09T11:55:42+01:00
New Revision: a14c3ac4a9d40b920d118452ec23381a89cb0ebb
URL: https://github.com/llvm/llvm-project/commit/a14c3ac4a9d40b920d118452ec23381a89cb0ebb
DIFF: https://github.com/llvm/llvm-project/commit/a14c3ac4a9d40b920d118452ec23381a89cb0ebb.diff
LOG: [NFC] Finish cleaning up StringRef usage in OptTable::ParseOneArg
This is a followup to https://reviews.llvm.org/D139274
Added:
Modified:
llvm/lib/Option/OptTable.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Option/OptTable.cpp b/llvm/lib/Option/OptTable.cpp
index f23561b5d078..d579e1b68b27 100644
--- a/llvm/lib/Option/OptTable.cpp
+++ b/llvm/lib/Option/OptTable.cpp
@@ -395,16 +395,17 @@ std::unique_ptr<Arg> OptTable::ParseOneArg(const ArgList &Args, unsigned &Index,
unsigned FlagsToInclude,
unsigned FlagsToExclude) const {
unsigned Prev = Index;
- const char *Str = Args.getArgString(Index);
+ StringRef Str = Args.getArgString(Index);
// Anything that doesn't start with PrefixesUnion is an input, as is '-'
// itself.
if (isInput(PrefixesUnion, Str))
- return std::make_unique<Arg>(getOption(InputOptionID), Str, Index++, Str);
+ return std::make_unique<Arg>(getOption(InputOptionID), Str, Index++,
+ Str.data());
const Info *Start = OptionInfos.data() + FirstSearchableIndex;
const Info *End = OptionInfos.data() + OptionInfos.size();
- StringRef Name = StringRef(Str).ltrim(PrefixChars);
+ StringRef Name = Str.ltrim(PrefixChars);
// Search for the first next option which could be a prefix.
Start = std::lower_bound(Start, End, Name);
@@ -447,9 +448,11 @@ std::unique_ptr<Arg> OptTable::ParseOneArg(const ArgList &Args, unsigned &Index,
// If we failed to find an option and this arg started with /, then it's
// probably an input path.
if (Str[0] == '/')
- return std::make_unique<Arg>(getOption(InputOptionID), Str, Index++, Str);
+ return std::make_unique<Arg>(getOption(InputOptionID), Str, Index++,
+ Str.data());
- return std::make_unique<Arg>(getOption(UnknownOptionID), Str, Index++, Str);
+ return std::make_unique<Arg>(getOption(UnknownOptionID), Str, Index++,
+ Str.data());
}
InputArgList OptTable::ParseArgs(ArrayRef<const char *> ArgArr,
@@ -517,10 +520,10 @@ InputArgList OptTable::parseArgs(int Argc, char *const *Argv,
for (const opt::Arg *A : Args.filtered(Unknown)) {
std::string Spelling = A->getAsString(Args);
if (findNearest(Spelling, Nearest) > 1)
- ErrorFn("unknown argument '" + A->getAsString(Args) + "'");
+ ErrorFn("unknown argument '" + Spelling + "'");
else
- ErrorFn("unknown argument '" + A->getAsString(Args) +
- "', did you mean '" + Nearest + "'?");
+ ErrorFn("unknown argument '" + Spelling + "', did you mean '" + Nearest +
+ "'?");
}
return Args;
}
More information about the llvm-commits
mailing list