diff options
author | Devang Patel <dpatel@apple.com> | 2007-02-01 01:43:37 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2007-02-01 01:43:37 +0000 |
commit | aed293dfba04b07a867491c11dfff4bf3eb6bddd (patch) | |
tree | 79de9c9209e382cfd3cf85cbff5da11495b3eada | |
parent | 527fae12c3b58d6151aa1c534c10b55d603b8da1 (diff) |
Add PrintVersionMessage() that tools can use to print version number
without exiting program.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33737 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/Support/CommandLine.h | 1 | ||||
-rw-r--r-- | lib/Support/CommandLine.cpp | 14 |
2 files changed, 12 insertions, 3 deletions
diff --git a/include/llvm/Support/CommandLine.h b/include/llvm/Support/CommandLine.h index 662c935c44..f9cf3be994 100644 --- a/include/llvm/Support/CommandLine.h +++ b/include/llvm/Support/CommandLine.h @@ -1281,6 +1281,7 @@ struct extrahelp { extrahelp(const char* help); }; +void PrintVersionMessage(); // This function just prints the help message, exactly the same way as if the // --help option had been given on the command line. // NOTE: THIS FUNCTION TERMINATES THE PROGRAM! diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp index 012f759d4f..e556d76f96 100644 --- a/lib/Support/CommandLine.cpp +++ b/lib/Support/CommandLine.cpp @@ -980,9 +980,7 @@ static void (*OverrideVersionPrinter)() = 0; namespace { class VersionPrinter { public: - void operator=(bool OptionWasSpecified) { - if (OptionWasSpecified) { - if (OverrideVersionPrinter == 0) { + void print() { cout << "Low Level Virtual Machine (http://llvm.org/):\n"; cout << " " << PACKAGE_NAME << " version " << PACKAGE_VERSION; #ifdef LLVM_VERSION_INFO @@ -998,6 +996,11 @@ public: cout << " with assertions"; #endif cout << ".\n"; + } + void operator=(bool OptionWasSpecified) { + if (OptionWasSpecified) { + if (OverrideVersionPrinter == 0) { + print(); Options->clear(); // Don't bother making option dtors remove from map. exit(1); } else { @@ -1028,6 +1031,11 @@ void cl::PrintHelpMessage() { NormalPrinter = true; } +/// Utility function for printing version number. +void cl::PrintVersionMessage() { + VersionPrinterInstance.print(); +} + void cl::SetVersionPrinter(void (*func)()) { OverrideVersionPrinter = func; } |