diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-03-31 20:12:05 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-31 20:12:05 +0000 |
commit | a207254f94ad58980c6c2eacac7c38f192c3846b (patch) | |
tree | 9b5b03f5b95a58e0e57cacbb1d4dd1285f5bc376 /clang/lib/Driver/OptTable.cpp | |
parent | 4cb67154342a2c26a4f4561eb61ce3d86ee3bd82 (diff) | |
download | bcm5719-llvm-a207254f94ad58980c6c2eacac7c38f192c3846b.tar.gz bcm5719-llvm-a207254f94ad58980c6c2eacac7c38f192c3846b.zip |
Driver: Add extra parameters for help text to option definitions.
- Currently unused.
And yes, now may be about the time I want a TableGen backend.
llvm-svn: 68139
Diffstat (limited to 'clang/lib/Driver/OptTable.cpp')
-rw-r--r-- | clang/lib/Driver/OptTable.cpp | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/clang/lib/Driver/OptTable.cpp b/clang/lib/Driver/OptTable.cpp index 2e449995809..4c198fc24f7 100644 --- a/clang/lib/Driver/OptTable.cpp +++ b/clang/lib/Driver/OptTable.cpp @@ -21,6 +21,8 @@ using namespace clang::driver::options; struct Info { const char *Name; const char *Flags; + const char *HelpText; + const char *MetaVar; Option::OptionClass Kind; unsigned GroupID; @@ -72,12 +74,14 @@ static inline bool operator<(const Info &A, const Info &B) { static Info OptionInfos[] = { // The InputOption info - { "<input>", "d", Option::InputClass, OPT_INVALID, OPT_INVALID, 0 }, + { "<input>", "d", 0, 0, Option::InputClass, OPT_INVALID, OPT_INVALID, 0 }, // The UnknownOption info - { "<unknown>", "", Option::UnknownClass, OPT_INVALID, OPT_INVALID, 0 }, + { "<unknown>", "", 0, 0, Option::UnknownClass, OPT_INVALID, OPT_INVALID, 0 }, -#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM) \ - { NAME, FLAGS, Option::KIND##Class, OPT_##GROUP, OPT_##ALIAS, PARAM }, +#define OPTION(NAME, ID, KIND, GROUP, ALIAS, FLAGS, PARAM, \ + HELPTEXT, METAVAR) \ + { NAME, FLAGS, HELPTEXT, METAVAR, \ + Option::KIND##Class, OPT_##GROUP, OPT_##ALIAS, PARAM }, #include "clang/Driver/Options.def" }; static const unsigned numOptions = sizeof(OptionInfos) / sizeof(OptionInfos[0]); @@ -133,6 +137,16 @@ const char *OptTable::getOptionName(options::ID id) const { return getInfo(id).Name; } +const char *OptTable::getOptionHelpText(options::ID id) const { + return getInfo(id).HelpText; +} + +const char *OptTable::getOptionMetaVar(options::ID id) const { + const char *Name = getInfo(id).MetaVar; + // FIXME: This will need translation. + return Name ? Name : "<var>"; +} + const Option *OptTable::getOption(options::ID id) const { if (id == OPT_INVALID) return 0; |