OSDN Git Service

[lld/mac] Add --version flag
authorNico Weber <thakis@chromium.org>
Tue, 22 Dec 2020 20:51:20 +0000 (15:51 -0500)
committerNico Weber <thakis@chromium.org>
Wed, 23 Dec 2020 03:06:39 +0000 (22:06 -0500)
It's an extension to ld64, but all the other ports have it, and
someone asked for it in PR43721.

While here, change the COFF help text to match the other ports.

Differential Revision: https://reviews.llvm.org/D93491

lld/COFF/Options.td
lld/MachO/Driver.cpp
lld/MachO/Options.td
lld/test/MachO/driver.test

index 2b8e655..5447c83 100644 (file)
@@ -240,7 +240,7 @@ def lto_obj_path : P<
     "lto-obj-path",
     "output native object for merged LTO unit to this path">;
 def dash_dash_version : Flag<["--"], "version">,
-  HelpText<"Print version information">;
+  HelpText<"Display the version number and exit">;
 def threads
     : P<"threads", "Number of threads. '1' disables multi-threading. By "
                    "default all available hardware threads are used">;
index 82ddcf0..edc9fe0 100644 (file)
@@ -690,10 +690,15 @@ bool macho::link(llvm::ArrayRef<const char *> argsArr, bool canExitEarly,
   if (args.hasArg(OPT_help_hidden)) {
     parser.printHelp(argsArr[0], /*showHidden=*/true);
     return true;
-  } else if (args.hasArg(OPT_help)) {
+  }
+  if (args.hasArg(OPT_help)) {
     parser.printHelp(argsArr[0], /*showHidden=*/false);
     return true;
   }
+  if (args.hasArg(OPT_version)) {
+    message(getLLDVersion());
+    return true;
+  }
 
   if (const char *path = getReproduceOption(args)) {
     // Note that --reproduce is a debug option so you can ignore it
index 52a3518..8e88c74 100644 (file)
@@ -18,6 +18,8 @@ def reproduce: Separate<["--"], "reproduce">;
 def reproduce_eq: Joined<["--"], "reproduce=">,
     Alias<!cast<Separate>(reproduce)>,
     HelpText<"Write tar file containing inputs and command to reproduce link">;
+def version: Flag<["--"], "version">,
+    HelpText<"Display the version number and exit">;
 
 
 // This is a complete Options.td compiled from Apple's ld(1) manpage
@@ -508,7 +510,7 @@ def bitcode_symbol_map : Separate<["-"], "bitcode_symbol_map">,
 def grp_rare : OptionGroup<"rare">, HelpText<"RARELY USED">;
 
 def v : Flag<["-"], "v">,
-     HelpText<"Print the linker version">,
+     HelpText<"Print the linker version and search paths and exit">,
      Group<grp_rare>;
 def version_details : Flag<["-"], "version_details">,
      HelpText<"Print the linker version in JSON form">,
index 229ec3e..417c71e 100644 (file)
@@ -1,5 +1,7 @@
-# RUN: not %lld ---help 2>&1 | FileCheck -check-prefix=SPELLHELP %s
+# RUN: %lld --version | FileCheck -check-prefix=VERSION %s
+VERSION: {{LLD [0-9]+\.[0-9]+}}
 
+# RUN: not %lld ---help 2>&1 | FileCheck -check-prefix=SPELLHELP %s
 SPELLHELP: error: unknown argument '---help', did you mean '--help'
 # FIXME: This should say "no input files" instead
 SPELLHELP: error: undefined symbol: _main