diff options
Diffstat (limited to 'lib/Option/OptTable.cpp')
-rw-r--r-- | lib/Option/OptTable.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Option/OptTable.cpp b/lib/Option/OptTable.cpp index acb9e8d015bce..bcd365236e46e 100644 --- a/lib/Option/OptTable.cpp +++ b/lib/Option/OptTable.cpp @@ -225,11 +225,15 @@ OptTable::suggestValueCompletions(StringRef Option, StringRef Arg) const { return {}; } -std::vector<std::string> OptTable::findByPrefix(StringRef Cur) const { +std::vector<std::string> +OptTable::findByPrefix(StringRef Cur, unsigned short DisableFlags) const { std::vector<std::string> Ret; for (const Info &In : OptionInfos.slice(FirstSearchableIndex)) { - if (!In.Prefixes) + if (!In.Prefixes || (!In.HelpText && !In.GroupID)) + continue; + if (In.Flags & DisableFlags) continue; + for (int I = 0; In.Prefixes[I]; I++) { std::string S = std::string(In.Prefixes[I]) + std::string(In.Name); if (StringRef(S).startswith(Cur)) |