Implement the MoreHelp utility that calls a function to printmore help information if the MoreHelp global is not null.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17774 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Reid Spencer 2004-11-14 22:04:00 +00:00
parent a455cca62f
commit ad0846bd8b

View File

@ -834,6 +834,12 @@ void generic_parser_base::printOptionInfo(const Option &O,
//===----------------------------------------------------------------------===//
// --help and --help-hidden option implementation
//
// If this variable is set, it is a pointer to a function that the user wants
// us to call after we print out the help info. Basically a hook to allow
// additional help to be printed.
void (*cl::MoreHelp)() = 0;
namespace {
class HelpPrinter {
@ -907,6 +913,10 @@ public:
for (unsigned i = 0, e = Options.size(); i != e; ++i)
Options[i].second->printOptionInfo(MaxArgLen);
// Call the user's hook so help output can be extended.
if (MoreHelp != 0)
(*MoreHelp)();
// Halt the program if help information is printed
exit(1);
}