[cfe-dev] Clang for Windows and Boost

Douglas Gregor dgregor at apple.com
Thu Mar 17 15:16:34 PDT 2011


On Mar 17, 2011, at 2:45 PM, Edward Diener wrote:

> On 3/17/2011 4:19 PM, Douglas Gregor wrote:
>> 
>> On Mar 17, 2011, at 11:02 AM, Edward Diener wrote:
>> 
>>> On 3/17/2011 1:39 PM, Douglas Gregor wrote:
>>>> 
>>>> On Mar 17, 2011, at 9:37 AM, Larry Evans wrote:
>>>> 
>>>>> On 03/17/11 11:04, Edward Diener wrote:
>>>>>> Thanks to the help I received I have been able to build clang for
>>>>>> Windows both using MingW and VC++ 10. Are either, or both, of these
>>>>>> builds stable, in that they can be used for building Boost and other 3rd
>>>>>> party libraries ?
>>>>>> 
>>>>>> If so, I am going to try to get some of the Boost Build experts to
>>>>>> supply a toolset for clang under Windows so it can be used to build and
>>>>>> test Boost libraries under Windows. Currently the clang toolset support
>>>>>> in Boost works only under Linux as I understand it.
>>>>> Hi Edward,
>>>>> 
>>>>> I had problems with using move and clang on linux:
>>>>> 
>>>>>  http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-February/013216.html
>>>>> 
>>>>> I also tried a workaround using the libcxx; however, that also had
>>>>> problems:
>>>>> 
>>>>>  http://lists.cs.uiuc.edu/pipermail/cfe-dev/2011-February/013246.html
>>>>> 
>>>>> Hence, I don't think clang is usable on linux yet.
>>>> 
>>>> 
>>>> This is horribly misleading. Clang is a perfectly reasonable C++98/03 compiler on Linux.
>>>> 
>>>> The issues you ran into concern C++0x, where the world is much messier. The C++0x situation on Linux is admittedly frustrating because of library issues:
>>>> 	- libstdc++<= 4.4 doesn't work with a C++0x compiler that implements the current WP's formulation of rvalue references. Jeffrey Yasskin provided a patch for this.
>>>> 	- libc++ hasn't been fully ported to Linux
>>>> 	- libstdc++>= 4.5 has an issue with generalized initializer lists; I worked around that problem in Clang, but I don't know if this is the last problem with these libraries or just the first.
>>> 
>>> I am not concerned about Linux.
>>> 
>>> Can clang built with MingW/MSYS ( or less probably VC++10 ) compile
>>> Boost under Windows ?
>> 
>> I would expect it to be possible with MinGW/MSYS, but not with VC++10. The basic problem is the C++ library headers: MinGW/MSYS uses libstdc++, which Clang can handle; VC++ has a lot of non-standard C++ in its headers that Clang does not currently handle. [*]
> 
> Then lets forget about clang with VC++10 headers. What about clang with 
> MingW ? It should be very similar to gcc with MingW, but provide clang 
> testing wjhen gcc does not work.

Sorry, I was unclear: MinGW uses libstdc++ (GCC's C++ standard library), which Clang should work with.

	- Doug

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110317/6c15b738/attachment.html>


More information about the cfe-dev mailing list