summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lld/COFF/DriverUtils.cpp4
-rw-r--r--lld/ELF/DriverUtils.cpp6
-rw-r--r--lld/lib/Driver/DarwinLdDriver.cpp10
-rw-r--r--lld/wasm/Driver.cpp4
4 files changed, 17 insertions, 7 deletions
diff --git a/lld/COFF/DriverUtils.cpp b/lld/COFF/DriverUtils.cpp
index f7d8fe55390..9bb834888c8 100644
--- a/lld/COFF/DriverUtils.cpp
+++ b/lld/COFF/DriverUtils.cpp
@@ -28,6 +28,7 @@
#include "llvm/Option/Option.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/FileUtilities.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/Program.h"
@@ -863,7 +864,8 @@ std::vector<const char *> ArgParser::tokenize(StringRef S) {
}
void printHelp(const char *Argv0) {
- COFFOptTable().PrintHelp(outs(), Argv0, "LLVM Linker", false);
+ std::string Usage = formatv("{0} [options] file...", Argv0).str();
+ COFFOptTable().PrintHelp(outs(), Usage.c_str(), "LLVM Linker", false);
}
} // namespace coff
diff --git a/lld/ELF/DriverUtils.cpp b/lld/ELF/DriverUtils.cpp
index 698e06edfe6..d8d317a9ea3 100644
--- a/lld/ELF/DriverUtils.cpp
+++ b/lld/ELF/DriverUtils.cpp
@@ -24,6 +24,7 @@
#include "llvm/Option/Option.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/FileSystem.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
@@ -139,8 +140,9 @@ opt::InputArgList ELFOptTable::parse(ArrayRef<const char *> Argv) {
}
void elf::printHelp() {
- ELFOptTable().PrintHelp(outs(), Config->ProgName.data(), "lld",
- false /*ShowHidden*/, true /*ShowAllAliases*/);
+ std::string Usage = formatv("{0} [options] file...", Config->ProgName).str();
+ ELFOptTable().PrintHelp(outs(), Usage.c_str(), "lld", false /*ShowHidden*/,
+ true /*ShowAllAliases*/);
outs() << "\n";
// Scripts generated by Libtool versions up to at least 2.4.6 (the most
diff --git a/lld/lib/Driver/DarwinLdDriver.cpp b/lld/lib/Driver/DarwinLdDriver.cpp
index 289b3007b26..7521d6e57a2 100644
--- a/lld/lib/Driver/DarwinLdDriver.cpp
+++ b/lld/lib/Driver/DarwinLdDriver.cpp
@@ -44,6 +44,7 @@
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/Format.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Path.h"
@@ -382,10 +383,13 @@ bool parse(llvm::ArrayRef<const char *> args, MachOLinkingContext &ctx) {
if (arch == MachOLinkingContext::arch_unknown &&
!parsedArgs.getLastArg(OPT_test_file_usage)) {
// If no -arch and no options at all, print usage message.
- if (parsedArgs.size() == 0)
- table.PrintHelp(llvm::outs(), args[0], "LLVM Linker", false);
- else
+ if (parsedArgs.size() == 0) {
+ std::string Usage =
+ llvm::formatv("{0} [options] file...", args[0]).str();
+ table.PrintHelp(llvm::outs(), Usage.c_str(), "LLVM Linker", false);
+ } else {
error("-arch not specified and could not be inferred");
+ }
return false;
}
}
diff --git a/lld/wasm/Driver.cpp b/lld/wasm/Driver.cpp
index 2a34b4431bb..bbf9bcd1f90 100644
--- a/lld/wasm/Driver.cpp
+++ b/lld/wasm/Driver.cpp
@@ -24,6 +24,7 @@
#include "llvm/Object/Wasm.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/TargetSelect.h"
@@ -349,7 +350,8 @@ void LinkerDriver::link(ArrayRef<const char *> ArgsArr) {
// Handle --help
if (Args.hasArg(OPT_help)) {
- Parser.PrintHelp(outs(), ArgsArr[0], "LLVM Linker", false);
+ std::string Usage = formatv("{0} [options] file...", ArgsArr[0]).str();
+ Parser.PrintHelp(outs(), Usage.c_str(), "LLVM Linker", false);
return;
}
OpenPOWER on IntegriCloud