r241432 - Teach mingw toolchain the msys2 mingw-w64 distribution C++ dirs.
Yaron Keren
yaron.keren at gmail.com
Tue Jul 7 08:19:02 PDT 2015
Here is a patch honoring sysroot for ld, let me know if it works for you.
2015-07-07 12:13 GMT+03:00 Yaron Keren <yaron.keren at gmail.com>:
> Hi, Please see if the attached patch works on opensuse.
>
> I'll look at the cygnus ld issue later.
>
>
> 2015-07-07 10:38 GMT+03:00 İsmail Dönmez <ismail at donmez.ws>:
>
>> Hi,
>>
>> On Mon, Jul 6, 2015 at 10:40 AM, Yaron Keren <yaron.keren at gmail.com>
>> wrote:
>> > Author: yrnkrn
>> > Date: Mon Jul 6 02:40:10 2015
>> > New Revision: 241432
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=241432&view=rev
>> > Log:
>> > Teach mingw toolchain the msys2 mingw-w64 distribution C++ dirs.
>> >
>> >
>> > Modified:
>> > cfe/trunk/lib/Driver/MinGWToolChain.cpp
>> > cfe/trunk/lib/Driver/ToolChains.h
>>
>> I tried this revision on openSUSE MinGW toolchain and its missing one
>> include path, which is $GCC_ROOT/nclude/c++/x86_64-w64-mingw32 which
>> contains "bits" and "ext" directories. Would you mind adding that to
>> the list too?
>>
>> Thanks!
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150707/8825dae2/attachment.html>
-------------- next part --------------
Index: tools/clang/lib/Driver/MinGWToolChain.cpp
===================================================================
--- tools/clang/lib/Driver/MinGWToolChain.cpp (revision 241594)
+++ tools/clang/lib/Driver/MinGWToolChain.cpp (working copy)
@@ -22,10 +22,14 @@
MinGW::MinGW(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
: ToolChain(D, Triple, Args) {
- getProgramPaths().push_back(getDriver().getInstalledDir());
+ StringRef SysRoot = getDriver().SysRoot;
+ if (SysRoot.size())
+ getProgramPaths().push_back(SysRoot);
+ else
+ getProgramPaths().push_back(getDriver().getInstalledDir());
- if (getDriver().SysRoot.size())
- Base = getDriver().SysRoot;
+ if (SysRoot.size())
+ Base = SysRoot;
else if (llvm::ErrorOr<std::string> GPPName =
llvm::sys::findProgramByName("gcc"))
Base = llvm::sys::path::parent_path(
More information about the cfe-commits
mailing list