aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/OptTable.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-11-09 22:36:44 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-11-09 22:36:44 +0000
commite70ed8690f432dddf7a8a272d575681b1622c285 (patch)
treecdb406893bbd49e7807b387f9b1669fb0ad29270 /clang/lib/Driver/OptTable.cpp
parent644c62f28f2fe58bc435e8a731cc46fabfb1703a (diff)
downloadllvm-e70ed8690f432dddf7a8a272d575681b1622c285.zip
llvm-e70ed8690f432dddf7a8a272d575681b1622c285.tar.gz
llvm-e70ed8690f432dddf7a8a272d575681b1622c285.tar.bz2
PR14303: Add a NoDriverOption flag to those options which are not accepted by
the driver (the options defined in CC1Options.td) and exclude their help from "clang --help". llvm-svn: 167638
Diffstat (limited to 'clang/lib/Driver/OptTable.cpp')
-rw-r--r--clang/lib/Driver/OptTable.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/clang/lib/Driver/OptTable.cpp b/clang/lib/Driver/OptTable.cpp
index db59298..6e7b695 100644
--- a/clang/lib/Driver/OptTable.cpp
+++ b/clang/lib/Driver/OptTable.cpp
@@ -163,10 +163,6 @@ const Option OptTable::getOption(OptSpecifier Opt) const {
return Option(&getInfo(id), this);
}
-bool OptTable::isOptionHelpHidden(OptSpecifier id) const {
- return getInfo(id).Flags & options::HelpHidden;
-}
-
static bool isInput(const llvm::StringSet<> &Prefixes, StringRef Arg) {
if (Arg == "-")
return true;
@@ -350,7 +346,8 @@ static const char *getOptionHelpGroup(const OptTable &Opts, OptSpecifier Id) {
}
void OptTable::PrintHelp(raw_ostream &OS, const char *Name,
- const char *Title, bool ShowHidden) const {
+ const char *Title, unsigned short FlagsToInclude,
+ unsigned short FlagsToExclude) const {
OS << "OVERVIEW: " << Title << "\n";
OS << '\n';
OS << "USAGE: " << Name << " [options] <inputs>\n";
@@ -369,7 +366,8 @@ void OptTable::PrintHelp(raw_ostream &OS, const char *Name,
if (getOptionKind(Id) == Option::GroupClass)
continue;
- if (!ShowHidden && isOptionHelpHidden(Id))
+ if ((FlagsToInclude && !(getInfo(Id).Flags & FlagsToInclude)) ||
+ getInfo(Id).Flags & FlagsToExclude)
continue;
if (const char *Text = getOptionHelpText(Id)) {