Boost logo

Boost :

Subject: Re: [boost] [clang] How to use CLang for Windows?
From: Sergey Cheban (s.cheban_at_[hidden])
Date: 2013-09-23 18:57:59


23.09.2013 5:26, Daryle Walker wrote:

> There was a recent conference where the Clang team announced a version of Clang
> that's supposed to work on Windows (as opposed to kind-of working
> if you try real hard).
Currently, it fails to process <iostream> with the following error messages:

1>CL : error : cannot mangle RTTI descriptors for type 'codecvt' yet
1>CL : error : cannot mangle the name of type 'codecvt' into RTTI
descriptors yet
1>CL : error : cannot mangle RTTI descriptors for type 'codecvt_base' yet
1>CL : error : cannot mangle the name of type 'codecvt_base' into RTTI
descriptors yet
1>CL : error : cannot mangle RTTI descriptors for type 'facet' yet
1>CL : error : cannot mangle the name of type 'facet' into RTTI
descriptors yet
1>CL : error : cannot mangle RTTI descriptors for type '_Facet_base' yet
1>CL : error : cannot mangle the name of type '_Facet_base' into RTTI
descriptors yet

OTOH, it can process <memory> and <stdio.h> (haven't tried other headers
yet), use some modern c++ features and produce working executables.

> Can it be used from out BJam system?
> How will it find right header files to use? (Does it automatically use the ones from MSVC?)
When using the LLVM-2012 toolset, MSBuild looks into the "C:\Program
Files
(x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\Win32\PlatformToolsets\LLVM-vs2012\Microsoft.Cpp.Win32.LLVM-vs2012.props"
that contains the following:

<LLVMInstallDir>
     $(Registry:HKEY_LOCAL_MACHINE\SOFTWARE\LLVM\LLVM 3.4.svn)
</LLVMInstallDir>
<ExecutablePath>
     $(LLVMInstallDir)\msbuild-bin;$(ExecutablePath)
</ExecutablePath>

The clang compiler itself doesn't know anything about the header file
paths. It looks into the command line.

-- 
Best regards,
Sergey Cheban

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk