https://reviews.llvm.org/rL321877 introduced the OptTable::findNearest
method, to find the closest edit distance option for a given string.
However, the implementation contained a bug: for a typo -foo with an
edit distance of 1 away from a valid option --foo, findNearest
would suggest a nearby option of foo. That is, the result would not
include the -- prefix, and so was not a valid option.
Fix the bug by ensuring that the prefix string is initialized to one of
the valid prefixes for the option.
Test Plan: check-llvm-unit
This relies on '--' being later in Prefixes than '-'. If '--' is Prefixes[0] is -- and then Prefixes[1] is -, then Option.startswith (Prefixes[1]) is true and we switch from -- to - for flags that start with --.
And -- being later in Prefixes isn't guaranteed.