lld-link: Add /lib to Options.td so that it appears in lld-link's help output.
authorNico Weber <nicolasweber@gmx.de>
Sat, 14 Jul 2018 04:07:51 +0000 (04:07 +0000)
committerNico Weber <nicolasweber@gmx.de>
Sat, 14 Jul 2018 04:07:51 +0000 (04:07 +0000)
https://reviews.llvm.org/D49319

llvm-svn: 337086

lld/COFF/DriverUtils.cpp
lld/COFF/Options.td
lld/test/COFF/driver.test

index d534d85..183fc1b 100644 (file)
@@ -821,6 +821,10 @@ opt::InputArgList ArgParser::parse(ArrayRef<const char *> Argv) {
 
   for (auto *Arg : Args.filtered(OPT_UNKNOWN))
     warn("ignoring unknown argument: " + Arg->getSpelling());
+
+  if (Args.hasArg(OPT_lib))
+    warn("ignoring /lib since it's not the first argument");
+
   return Args;
 }
 
index 83aa890..617a586 100644 (file)
@@ -36,6 +36,8 @@ def guard   : P<"guard", "Control flow guard">;
 def heap    : P<"heap", "Size of the heap">;
 def ignore : P<"ignore", "Specify warning codes to ignore">;
 def implib  : P<"implib", "Import library name">;
+def lib : F<"lib">,
+    HelpText<"Act like lib.exe; must be first argument if present">;
 def libpath : P<"libpath", "Additional library search path">;
 def linkrepro : P<"linkrepro", "Dump linker invocation and input files for debugging">;
 def lldltocache : P<"lldltocache", "Path to ThinLTO cached object file directory">;
index 5f503f2..c94a2a0 100644 (file)
@@ -9,3 +9,9 @@ VERSION: {{LLD [0-9]+\.[0-9]+}}
 # RUN: lld-link /out:%t.dll /dll %t.obj
 # RUN: not lld-link /out:%t.exe %t.dll 2>&1 | FileCheck -check-prefix=BADFILE %s
 BADFILE: bad file type. Did you specify a DLL instead of an import library?
+
+# RUN: lld-link /lib /? | FileCheck -check-prefix=LIBHELP %s
+LIBHELP: OVERVIEW: LLVM Lib
+
+# RUN: not lld-link /WX /lib 2>&1 | FileCheck -check-prefix=LIBBAD %s
+LIBBAD: ignoring /lib since it's not the first argument