From d92b9bfef9bd619b59a6dba45eb9298d94042c16 Mon Sep 17 00:00:00 2001 From: Martin Storsjo Date: Mon, 2 Sep 2019 13:28:07 +0000 Subject: [PATCH] [llvm-dlltool] Remove support for implying output name I don't see GNU dlltool supporting doing this; with only a -d option and no -l option, GNU dlltool runs successfully but doesn't write any output file. Differential Revision: https://reviews.llvm.org/D65645 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@370655 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp b/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp index 3b8b25d7eca..bd026a09e0c 100644 --- a/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp +++ b/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp @@ -74,13 +74,6 @@ static MachineTypes getEmulation(StringRef S) { .Default(IMAGE_FILE_MACHINE_UNKNOWN); } -static std::string getImplibPath(StringRef Path) { - SmallString<128> Out = StringRef("lib"); - Out.append(Path); - sys::path::replace_extension(Out, ".a"); - return Out.str(); -} - int llvm::dlltoolDriverMain(llvm::ArrayRef ArgsArr) { DllOptTable Table; unsigned MissingIndex; @@ -154,8 +147,6 @@ int llvm::dlltoolDriverMain(llvm::ArrayRef ArgsArr) { } std::string Path = Args.getLastArgValue(OPT_l); - if (Path.empty()) - Path = getImplibPath(Def->OutputFile); if (Machine == IMAGE_FILE_MACHINE_I386 && Args.getLastArg(OPT_k)) { for (COFFShortExport& E : Def->Exports) { @@ -175,7 +166,8 @@ int llvm::dlltoolDriverMain(llvm::ArrayRef ArgsArr) { } } - if (writeImportLibrary(Def->OutputFile, Path, Def->Exports, Machine, true)) + if (!Path.empty() && + writeImportLibrary(Def->OutputFile, Path, Def->Exports, Machine, true)) return 1; return 0; } -- 2.40.0