From: Nico Weber Date: Sat, 14 Jul 2018 02:29:44 +0000 (+0000) Subject: Give llvm-lib rudimentary help output. X-Git-Tag: llvmorg-7.0.0-rc1~1440 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=17172c6b80f95a718b90942840eb042874a037f0;p=platform%2Fupstream%2Fllvm.git Give llvm-lib rudimentary help output. https://reviews.llvm.org/D49318 llvm-svn: 337084 --- diff --git a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp index f5cf848..d636dca 100644 --- a/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp +++ b/llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp @@ -121,6 +121,12 @@ int llvm::libDriverMain(ArrayRef ArgsArr) { for (auto *Arg : Args.filtered(OPT_UNKNOWN)) llvm::errs() << "ignoring unknown argument: " << Arg->getSpelling() << "\n"; + // Handle /help + if (Args.hasArg(OPT_help)) { + Table.PrintHelp(outs(), ArgsArr[0], "LLVM Lib"); + return 0; + } + // If no input files, silently do nothing to match lib.exe. if (!Args.hasArgNoClaim(OPT_INPUT)) return 0; diff --git a/llvm/lib/ToolDrivers/llvm-lib/Options.td b/llvm/lib/ToolDrivers/llvm-lib/Options.td index 5a56ef7..dd41952 100644 --- a/llvm/lib/ToolDrivers/llvm-lib/Options.td +++ b/llvm/lib/ToolDrivers/llvm-lib/Options.td @@ -12,7 +12,11 @@ class P : def libpath: P<"libpath", "Object file search path">; def out : P<"out", "Path to file to write output">; -def llvmlibthin : F<"llvmlibthin">; +def llvmlibthin : F<"llvmlibthin">, + HelpText<"Make .lib point to .obj files instead of copying their contents">; + +def help : F<"help">; +def help_q : Flag<["/?", "-?"], "">, Alias; //============================================================================== // The flags below do nothing. They are defined only for lib.exe compatibility. diff --git a/llvm/test/tools/llvm-lib/help.test b/llvm/test/tools/llvm-lib/help.test new file mode 100644 index 0000000..118219a --- /dev/null +++ b/llvm/test/tools/llvm-lib/help.test @@ -0,0 +1,3 @@ +# RUN: llvm-lib /? | FileCheck %s + +CHECK: OVERVIEW: LLVM Lib