[cfe-dev] LLVM 3.8.0 clang binary for Windows targets VC++
Edward Diener via cfe-dev
cfe-dev at lists.llvm.org
Tue Mar 29 21:01:47 PDT 2016
On 3/29/2016 9:31 PM, Reid Kleckner via cfe-dev wrote:
> On Tue, Mar 29, 2016 at 6:14 PM, Edward Diener via cfe-dev
> <cfe-dev at lists.llvm.org
> <mailto:cfe-dev at lists.llvm.org>> wrote:
> Still isn't distributing a clang Windows release which by default
> targets VC++ for all clang invocations, and not just clang-cl, a bit
> of a rude awakening for all those who have used clang on Windows
> with mingw(-64)/gcc in the past ?
> Perhaps, but this has always been the default behavior if you build from
> source with MSVC for over two years now (r199250).
> Basically, if you build clang with mingw it will target mingw by
> default. If you build clang with MSVC, it will target MSVC by default.
> This was deemed to be consistent with how clang works on other
> platforms, where you get a host compiler by default. Either way, you can
> override the default with --target.
That make sense.
> It also happens that for a long time after that, Hans configured the
> builds at llvm.org/builds <http://llvm.org/builds> so that 'clang'
> targeted mingw by default, and 'clang-cl' targeted MSVC. We removed that
> flag from the packaging script some time ago, which probably confused
> some users.
What that did was change the default target on Windows for clang/clang++
from mingw/gcc to VC++. That change turned up for the LLVM 3.8 release.
The confusion is that the change of the default target was made but the
end-user was not told about it. So the end-user of clang for 3.8 on
Windows, who never used a -target option, now gets in many ways a
different compiler when he invokes clang++ for 3.8 on Windows than he
had previously when he invoked clang++ for 3.7.1 on down on Windows.
Is the clang -target option officially documented anywhere ?
More information about the cfe-dev