[3.7 Release] Release Candidate 3 available

Hello everyone,

Source, binaries and docs for LLVM 3.7.0-rc3 are now available at
http://llvm.org/pre-releases/3.7.0/

We are getting very, very close to the final release, so if you were
planning to do any testing before this ships, now is probably the last
chance.

Patches to the release notes and documentation are still welcome, but
otherwise it's strictly critical regression fixing at this stage.

Thanks,
Hans

Hi Hans,

Been testing on OSX as there is no build or RC3 up on that yet

It appears on Darwin Hosts clang will always invoke gcc even if we specify a -target to a non Darwin host.

Because of this it completely ignores the Drivers for the other targets such as MSVC and MINGW.

I’m trying to fix it atm.

Kind Regards

Martell

Hi Martell,

Can you provide an example command-line (with -v or -### to show
what's going on) that shows the problem you're seeing? Does 3.6 not
have this problem?

Thanks,
Hans

Hi Hans,

Can you provide an example command-line (with -v or -### to show
what’s going on) that shows the problem you’re seeing?

I added an empty gcc script into my /Users/martell/llvm/usr/bin directory and renamed /usr/bin/gcc to get around the bug but now after reverting this.
I can not reproduce it anymore :confused:

There are still some strange things going on however when the linker is being invoked.

  1. On mac for some reason the mingw-driver passes this to the linker
    –sysroot=/Users/martell/llvm/usr/ -m i386pe -Bdynamic -o a.exe crt2.o crtbegin.o -L -L/Users/martell/llvm/usr/lib -L/Users/martell/llvm/usr/mingw32/lib -L/Users/martell/llvm/usr/mingw32/sys-root/mingw/lib /var/folders/dm/xx2ssgf541x2f6tg8chl3wdh0000gn/T/hello-8de2e2.o -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt crtend.o

Notice the -L without anything after it.

I assume this is supposed to be -L. or something similar but it is not present.

This also happens without sysroot.

Does 3.6 not have this problem?

It’s hard to tell because there was no mingw driver in 3.6 afaik and not that I messed with my system I can’t reproduce it.

OSX is a strange system for building and using your own clang because apple provide their own builds in /usr/bin

While I did set the PATH variable to prepend the directory with my own build of clang I’m a bit skeptical of how well that actually works.

It would probably be a good idea to change the Base Dir in the mingw-driver when on OSX to /usr/local.

This is typically where 3rd party stuff is stored on OSX via homebrew, macports, etc

+CC yaron on this

This is a little unrelated to the OSX bug

Additionally I noticed that on windows I there is a bug also where if you have a folder named say ld in the current working directory it will try to execute the folder and produce an error as it finds that before it finds any exe.

It happens at this code in the Driver.

Exec = Args.MakeArgString(Linker);
C.addCommand(llvm::make_unique(JA, *this, Exec, CmdArgs, Inputs));

Kind Regards

Martell