Don't call exit from cl::PrintHelpMessage.

Most callers were not expecting the exit(0) and trying to exit with a
different value.

This also adds back the call to cl::PrintHelpMessage in llvm-ar.

llvm-svn: 312761
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index 65c6198..03655cb 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -54,8 +54,7 @@
 // Show the error message and exit.
 LLVM_ATTRIBUTE_NORETURN static void fail(Twine Error) {
   errs() << ToolName << ": " << Error << ".\n";
-  // FIXME: Other ar implementations will print the command line help in here.
-  // Unfortunately cl::PrintHelpMessage() exits with 0, so we can't call it.
+  cl::PrintHelpMessage();
   exit(1);
 }