[cfe-dev] Using C++11 <atomic> with Clang SVN

Douglas Gregor dgregor at apple.com
Fri Apr 20 06:59:48 PDT 2012


On Apr 19, 2012, at 11:40 PM, Marc Glisse <marc.glisse at inria.fr> wrote:

> On Thu, 19 Apr 2012, Eli Friedman wrote:
> 
>> On Thu, Apr 19, 2012 at 3:46 PM, Marc Glisse <marc.glisse at inria.fr> wrote:
>>> On Thu, 19 Apr 2012, Eli Friedman wrote:
>>> 
>>>> Make sure you check out libc++ into llvm/projects/libcxx/, and use
>>>> "make install", so clang uses the right libcxx.
>>> 
>>> Wow, that actually works on some OS (macosx only I guess)? It seems so far
>>> here...
>>> 
>>> - requires root (chown)
>> 
>> Yes, that's slightly less than ideal.
>> 
>>> - doesn't compile the lib
>> 
>> Not necessary on OS X Lion.
> 
> Uh? I'd understand if you said the makefile compiles it on OSX but not on 
> other platforms. But saying that it isn't necessary because the system 
> provides an older version seems strange.

The system provides a stable version of the library that works with updated headers.

>>> - installs the include files in a place the driver doesn't know
>> 
>> I'm not sure I follow here... at least on Mac, we search for libcxx
>> relative to the clang executable.
> 
> Ok, good to know that it works on Mac, thanks. On Linux, the headers get 
> installed in $INST/lib/c++/v1, but the driver looks for them in:
> 
>     // libc++ is always installed at a fixed path on Linux currently.
>     addSystemInclude(DriverArgs, CC1Args,
>                      getDriver().SysRoot + "/usr/include/c++/v1");

Clang should probably always look for them in $INST/lib/c++/v1, on all platforms, but nobody has taken the initiative to make Clang + libc++ distribution clean on non-Mac platforms.

	- Doug



More information about the cfe-dev mailing list