r253898 - Driver: fallback to the location of clang if no sysroot,

Ismail Donmez via cfe-commits cfe-commits at lists.llvm.org
Tue Nov 24 00:02:19 PST 2015


Hi,

On Mon, Nov 23, 2015 at 8:59 PM, Martell Malone via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
> Author: martell
> Date: Mon Nov 23 12:59:48 2015
> New Revision: 253898
>
> URL: http://llvm.org/viewvc/llvm-project?rev=253898&view=rev
> Log:
> Driver: fallback to the location of clang if no sysroot,
>
> hard coding /usr makes little sense for mingw-w64.
> If we have portable toolchains having /usr breaks that.
> If the clang we use is in /usr/bin or /usr/sbin etc this will
> still detect as though it was hard coded to /usr
>
> This makes the most sense going forward for mingw-w64 toolchains
> on both linux and mac

This breaks mingw support on openSUSE :

λ cat hello.c
#include <stdlib.h>

int main()
{
    return 0;
}

λ clang -v -target x86_64-w64-mingw32 hello.c
clang version 3.8.0 (trunk 253903)
Target: x86_64-w64-windows-gnu
Thread model: posix
InstalledDir: /opt/clang/bin
 "/opt/clang/bin/clang-3.8" -cc1 -triple x86_64-w64-windows-gnu
-emit-obj -mrelax-all -disable-free -main-file-name hello.c
-mrelocation-model pic -pic-level 2 -mthread-model posix -fmath-errno
-masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64
-momit-leaf-frame-pointer -v -dwarf-column-info -resource-dir
/opt/clang/bin/../lib64/clang/3.8.0 -internal-isystem
/opt/clang/bin/../lib64/clang/3.8.0/include -internal-isystem include
-internal-isystem /opt/clang/x86_64-w64-mingw32/sys-root/mingw/include
-internal-isystem include-fixed -internal-isystem
/opt/clang/x86_64-w64-mingw32/include -internal-isystem
/opt/clang/include -fdebug-compilation-dir /home/ismail -ferror-limit
19 -fmessage-length 127 -fno-use-cxa-atexit -fobjc-runtime=gcc
-fdiagnostics-show-option -fcolor-diagnostics -o /tmp/hello-f129aa.o
-x c hello.c
clang -cc1 version 3.8.0 based upon LLVM 3.8.0svn default target
x86_64-suse-linux
ignoring nonexistent directory "include"
ignoring nonexistent directory
"/opt/clang/x86_64-w64-mingw32/sys-root/mingw/include"
ignoring nonexistent directory "include-fixed"
ignoring nonexistent directory "/opt/clang/x86_64-w64-mingw32/include"
#include "..." search starts here:
#include <...> search starts here:
 /opt/clang/bin/../lib64/clang/3.8.0/include
 /opt/clang/include
End of search list.
hello.c:1:10: fatal error: 'stdlib.h' file not found
#include <stdlib.h>
         ^
1 error generated.

x86_64-w64-mingw32-gcc is in $PATH, and this used to work fine before
this commit.


More information about the cfe-commits mailing list