[PATCH] D44808: Fix lib.exe detection when running within MSVC toolchain
Alexandre Ganea via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 28 08:41:02 PDT 2018
aganea updated this revision to Diff 140080.
aganea added a comment.
I've added an test, please @rnk let me know if you're fine with it before I commit.
Repository:
rL LLVM
https://reviews.llvm.org/D44808
Files:
llvm/test/tools/llvm-ar/case-detection.test
llvm/tools/llvm-ar/llvm-ar.cpp
Index: llvm/tools/llvm-ar/llvm-ar.cpp
===================================================================
--- llvm/tools/llvm-ar/llvm-ar.cpp
+++ llvm/tools/llvm-ar/llvm-ar.cpp
@@ -863,11 +863,11 @@
llvm::InitializeAllAsmParsers();
StringRef Stem = sys::path::stem(ToolName);
- if (Stem.find("dlltool") != StringRef::npos)
+ if (Stem.find_lower("dlltool") != StringRef::npos)
return dlltoolDriverMain(makeArrayRef(argv, argc));
- if (Stem.find("ranlib") == StringRef::npos &&
- Stem.find("lib") != StringRef::npos)
+ if (Stem.find_lower("ranlib") == StringRef::npos &&
+ Stem.find_lower("lib") != StringRef::npos)
return libDriverMain(makeArrayRef(argv, argc));
SmallVector<const char *, 256> Argv;
@@ -900,9 +900,9 @@
" This program archives bitcode files into single libraries\n"
);
- if (Stem.find("ranlib") != StringRef::npos)
+ if (Stem.find_lower("ranlib") != StringRef::npos)
return ranlib_main();
- if (Stem.find("ar") != StringRef::npos)
+ if (Stem.find_lower("ar") != StringRef::npos)
return ar_main();
fail("Not ranlib, ar, lib or dlltool!");
}
Index: llvm/test/tools/llvm-ar/case-detection.test
===================================================================
--- llvm/test/tools/llvm-ar/case-detection.test
+++ llvm/test/tools/llvm-ar/case-detection.test
@@ -0,0 +1,7 @@
+-- Test CamelCase Lib.exe to ensure detection works properly
+
+RUN: yaml2obj %S/Inputs/coff.yaml -o %t.obj
+RUN: rm -rf %t1
+RUN: mkdir %t1
+RUN: cp llvm-ar %t1/Lib
+RUN: %t1/Lib /OUT:%t.lib %t.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44808.140080.patch
Type: text/x-patch
Size: 1554 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180328/f8860a33/attachment.bin>
More information about the llvm-commits
mailing list