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
This commit is contained in:
Devang Patel 2007-02-01 01:43:37 +00:00
parent 527fae12c3
commit aed293dfba
2 changed files with 12 additions and 3 deletions

View File

@ -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!

View File

@ -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;
}