Implement the MoreHelp utility that calls a function to printmore help information...
authorReid Spencer <rspencer@reidspencer.com>
Sun, 14 Nov 2004 22:04:00 +0000 (22:04 +0000)
committerReid Spencer <rspencer@reidspencer.com>
Sun, 14 Nov 2004 22:04:00 +0000 (22:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17774 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Support/CommandLine.cpp

index 90afa0d9e33564fe6aecc4dc0538b10a13029038..ad82c849479fec57c82aec0b37f224d5391f9271 100644 (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);
   }