summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Option/OptTable.cpp4
-rw-r--r--llvm/unittests/Option/OptionParsingTest.cpp2
-rw-r--r--llvm/unittests/Option/Opts.td1
3 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Option/OptTable.cpp b/llvm/lib/Option/OptTable.cpp
index f85b9043091..dcd1cc46d96 100644
--- a/llvm/lib/Option/OptTable.cpp
+++ b/llvm/lib/Option/OptTable.cpp
@@ -277,8 +277,8 @@ unsigned OptTable::findNearest(StringRef Option, std::string &NearestString,
continue;
// Find the most appropriate prefix. For example, if a user asks for
// "--helm", suggest "--help" over "-help".
- StringRef Prefix;
- for (int P = 0; CandidateInfo.Prefixes[P]; P++) {
+ StringRef Prefix = CandidateInfo.Prefixes[0];
+ for (int P = 1; CandidateInfo.Prefixes[P]; P++) {
if (Option.startswith(CandidateInfo.Prefixes[P]))
Prefix = CandidateInfo.Prefixes[P];
}
diff --git a/llvm/unittests/Option/OptionParsingTest.cpp b/llvm/unittests/Option/OptionParsingTest.cpp
index 26bbb37602f..eef21ab5120 100644
--- a/llvm/unittests/Option/OptionParsingTest.cpp
+++ b/llvm/unittests/Option/OptionParsingTest.cpp
@@ -283,6 +283,8 @@ TEST(Option, FindNearest) {
EXPECT_EQ(Nearest, "-blorp");
EXPECT_EQ(1U, T.findNearest("--blorm", Nearest));
EXPECT_EQ(Nearest, "--blorp");
+ EXPECT_EQ(1U, T.findNearest("-fjormp", Nearest));
+ EXPECT_EQ(Nearest, "--fjormp");
// The nearest candidate respects the prefix and value delimiter
// of the original string.
diff --git a/llvm/unittests/Option/Opts.td b/llvm/unittests/Option/Opts.td
index 539850df134..c4544b5b3f9 100644
--- a/llvm/unittests/Option/Opts.td
+++ b/llvm/unittests/Option/Opts.td
@@ -34,4 +34,5 @@ def Cramb : Joined<["/"], "cramb:">, HelpText<"The cramb option">, MetaVarName<"
def Doopf1 : Flag<["-"], "doopf1">, HelpText<"The doopf1 option">, Flags<[OptFlag1]>;
def Doopf2 : Flag<["-"], "doopf2">, HelpText<"The doopf2 option">, Flags<[OptFlag2]>;
def Ermgh : Joined<["--"], "ermgh">, HelpText<"The ermgh option">, MetaVarName<"ERMGH">, Flags<[OptFlag1]>;
+def Fjormp : Flag<["--"], "fjormp">, HelpText<"The fjormp option">, Flags<[OptFlag1]>;
def DashDash : Option<["--"], "", KIND_REMAINING_ARGS>;
OpenPOWER on IntegriCloud