summaryrefslogtreecommitdiff
path: root/include/llvm/Option/OptTable.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/Option/OptTable.h')
-rw-r--r--include/llvm/Option/OptTable.h31
1 files changed, 23 insertions, 8 deletions
diff --git a/include/llvm/Option/OptTable.h b/include/llvm/Option/OptTable.h
index a35e182f00e53..57a6954f4878d 100644
--- a/include/llvm/Option/OptTable.h
+++ b/include/llvm/Option/OptTable.h
@@ -57,8 +57,8 @@ public:
};
private:
- /// \brief The static option information table.
- ArrayRef<Info> OptionInfos;
+ /// \brief The option information table.
+ std::vector<Info> OptionInfos;
bool IgnoreCase;
unsigned TheInputOptionID = 0;
@@ -143,6 +143,17 @@ public:
std::vector<std::string> findByPrefix(StringRef Cur,
unsigned short DisableFlags) const;
+ /// Add Values to Option's Values class
+ ///
+ /// \param [in] Option - Prefix + Name of the flag which Values will be
+ /// changed. For example, "-analyzer-checker".
+ /// \param [in] Values - String of Values seperated by ",", such as
+ /// "foo, bar..", where foo and bar is the argument which the Option flag
+ /// takes
+ ///
+ /// \return true in success, and false in fail.
+ bool addValues(const char *Option, const char *Values);
+
/// \brief Parse a single argument; returning the new argument and
/// updating Index.
///
@@ -191,12 +202,16 @@ public:
/// \param FlagsToInclude - If non-zero, only include options with any
/// of these flags set.
/// \param FlagsToExclude - Exclude options with any of these flags set.
- void PrintHelp(raw_ostream &OS, const char *Name,
- const char *Title, unsigned FlagsToInclude,
- unsigned FlagsToExclude) const;
-
- void PrintHelp(raw_ostream &OS, const char *Name,
- const char *Title, bool ShowHidden = false) const;
+ /// \param ShowAllAliases - If true, display all options including aliases
+ /// that don't have help texts. By default, we display
+ /// only options that are not hidden and have help
+ /// texts.
+ void PrintHelp(raw_ostream &OS, const char *Name, const char *Title,
+ unsigned FlagsToInclude, unsigned FlagsToExclude,
+ bool ShowAllAliases) const;
+
+ void PrintHelp(raw_ostream &OS, const char *Name, const char *Title,
+ bool ShowHidden = false, bool ShowAllAliases = false) const;
};
} // end namespace opt