summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRui Ueyama <ruiu@google.com>2017-10-23 14:57:53 +0000
committerRui Ueyama <ruiu@google.com>2017-10-23 14:57:53 +0000
commita4cf97bc9cfaca4697b80f3e78dd5135c4600028 (patch)
tree323c044c5d2506a3d2666ea407148c3951a9ab8d
parent03c875392416f5402a2e4f162b2c8b40e786a4b1 (diff)
downloadbcm5719-llvm-a4cf97bc9cfaca4697b80f3e78dd5135c4600028.tar.gz
bcm5719-llvm-a4cf97bc9cfaca4697b80f3e78dd5135c4600028.zip
Add the --version option.
Differential Revision: https://reviews.llvm.org/D38972 llvm-svn: 316329
-rw-r--r--lld/COFF/Driver.cpp9
-rw-r--r--lld/COFF/Options.td2
-rw-r--r--lld/test/COFF/driver.test3
3 files changed, 14 insertions, 0 deletions
diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp
index 988fb4b1498..133cf40a83b 100644
--- a/lld/COFF/Driver.cpp
+++ b/lld/COFF/Driver.cpp
@@ -17,6 +17,7 @@
#include "Symbols.h"
#include "Writer.h"
#include "lld/Common/Driver.h"
+#include "lld/Common/Version.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/BinaryFormat/Magic.h"
@@ -731,6 +732,14 @@ void LinkerDriver::link(ArrayRef<const char *> ArgsArr) {
return;
}
+ // Handle --version, which is an lld extension. This option is a bit odd
+ // because it doesn't start with "/", but we deliberately chose "--" to
+ // avoid conflict with /version and for compatibility with clang-cl.
+ if (Args.hasArg(OPT_dash_dash_version)) {
+ outs() << getLLDVersion() << "\n";
+ return;
+ }
+
// Handle /lldmingw early, since it can potentially affect how other
// options are handled.
Config->MinGW = Args.hasArg(OPT_lldmingw);
diff --git a/lld/COFF/Options.td b/lld/COFF/Options.td
index e303624ef31..8df7a0f1d6b 100644
--- a/lld/COFF/Options.td
+++ b/lld/COFF/Options.td
@@ -110,6 +110,8 @@ def msvclto : F<"msvclto">;
def output_def : Joined<["/", "-"], "output-def:">;
def rsp_quoting : Joined<["--"], "rsp-quoting=">,
HelpText<"Quoting style for response files, 'windows' (default) or 'posix'">;
+def dash_dash_version : Flag<["--"], "version">,
+ HelpText<"Print version information">;
// Flags for debugging
def lldmap : F<"lldmap">;
diff --git a/lld/test/COFF/driver.test b/lld/test/COFF/driver.test
index 0832350a4f3..36de6c200cb 100644
--- a/lld/test/COFF/driver.test
+++ b/lld/test/COFF/driver.test
@@ -1,3 +1,6 @@
# RUN: not lld-link nosuchfile.obj >& %t.log
# RUN: FileCheck -check-prefix=MISSING %s < %t.log
MISSING: nosuchfile.obj: {{[Nn]}}o such file or directory
+
+# RUN: lld-link --version | FileCheck -check-prefix=VERSION %s
+VERSION: {{LLD [0-9]+\.[0-9]+}}
OpenPOWER on IntegriCloud