From 1f4ab8b4496bf49f5277dbd74b206dab43dc8ba9 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Sun, 14 Nov 2004 22:04:00 +0000 Subject: Implement the MoreHelp utility that calls a function to printmore help information if the MoreHelp global is not null. llvm-svn: 17774 --- llvm/lib/Support/CommandLine.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'llvm/lib/Support/CommandLine.cpp') diff --git a/llvm/lib/Support/CommandLine.cpp b/llvm/lib/Support/CommandLine.cpp index 90afa0d9e33..ad82c849479 100644 --- a/llvm/lib/Support/CommandLine.cpp +++ b/llvm/lib/Support/CommandLine.cpp @@ -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); } -- cgit v1.2.3