summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/test/tools/llvm-ar/help-message.test5
-rw-r--r--llvm/test/tools/llvm-ar/version.test11
-rw-r--r--llvm/tools/llvm-ar/llvm-ar.cpp10
3 files changed, 25 insertions, 1 deletions
diff --git a/llvm/test/tools/llvm-ar/help-message.test b/llvm/test/tools/llvm-ar/help-message.test
index ed17667291d..8de26d525b0 100644
--- a/llvm/test/tools/llvm-ar/help-message.test
+++ b/llvm/test/tools/llvm-ar/help-message.test
@@ -1,5 +1,10 @@
+## Show that the help message for llvm-ar can be printed with either the long
+## flag -help or with the h modifier.
+
# RUN: llvm-ar h | FileCheck %s
+# RUN: llvm-ar xh | FileCheck %s
# RUN: llvm-ar -h | FileCheck %s
+# RUN: llvm-ar -xh | FileCheck %s
# RUN: llvm-ar -help | FileCheck %s
# RUN: llvm-ar --help | FileCheck %s
diff --git a/llvm/test/tools/llvm-ar/version.test b/llvm/test/tools/llvm-ar/version.test
new file mode 100644
index 00000000000..555e5fdf324
--- /dev/null
+++ b/llvm/test/tools/llvm-ar/version.test
@@ -0,0 +1,11 @@
+## Show that the version for llvm-ar can be printed with either the long flag
+## -version or with the V modifier.
+
+RUN: llvm-ar V | FileCheck %s
+RUN: llvm-ar xV | FileCheck %s
+RUN: llvm-ar -V | FileCheck %s
+RUN: llvm-ar -xV | FileCheck %s
+RUN: llvm-ar -version | FileCheck %s
+RUN: llvm-ar --version | FileCheck %s
+
+CHECK: version
diff --git a/llvm/tools/llvm-ar/llvm-ar.cpp b/llvm/tools/llvm-ar/llvm-ar.cpp
index 67f70e97263..70e21dfe636 100644
--- a/llvm/tools/llvm-ar/llvm-ar.cpp
+++ b/llvm/tools/llvm-ar/llvm-ar.cpp
@@ -100,6 +100,7 @@ MODIFIERS:
[b] - put [files] before [relpos] (same as [i])
[c] - do not warn if archive had to be created
[D] - use zero for timestamps and uids/gids (default)
+ [h] - display this help and exit
[i] - put [files] before [relpos] (same as [b])
[l] - ignored for compatibility
[L] - add archive's contents
@@ -112,6 +113,7 @@ MODIFIERS:
[u] - update only [files] newer than archive contents
[U] - use actual timestamps and uids/gids
[v] - be verbose about actions taken
+ [V] - display the version and exit
)";
void printHelpMessage() {
@@ -381,6 +383,12 @@ static ArchiveOperation parseCommandLine() {
case 'L':
AddLibrary = true;
break;
+ case 'V':
+ cl::PrintVersionMessage();
+ exit(0);
+ case 'h':
+ printHelpMessage();
+ exit(0);
default:
fail(std::string("unknown option ") + Options[i]);
}
@@ -1063,7 +1071,7 @@ static void runMRIScript() {
}
static bool handleGenericOption(StringRef arg) {
- if (arg == "h" || arg.startswith("-h") || arg == "--help") {
+ if (arg == "-help" || arg == "--help") {
printHelpMessage();
return true;
}
OpenPOWER on IntegriCloud