
On 17 November 2012 13:59, Beman Dawes <bdawes@acm.org> wrote:
On Sat, Nov 17, 2012 at 7:43 AM, Daniel James <dnljms@gmail.com> wrote:
On 17 November 2012 12:04, Vicente J. Botet Escriba <vicente.botet@wanadoo.fr> wrote:
clang compiler is not delivered with a C++11 standard library. When compiling on c++11 mode, some boost libraries (in particular, Boost.Thread, Boost.SmartPtr, Boost.Test) are expecting to have a C++11 standard library. This mean that the user needs to install the latest version of libc++.
Are you sure about that?
Like Daniel, I'm not sure that "clang compiler is not delivered with a C++11 standard library." is correct. Doesn't the way Clang gets "delivered" depend on the platform and distribution involved? I've only use Clang a few times, but IIRC all the distributions I've used supplied a C++ standard library as part of the package.
That wasn't what I meant (it'd have been smarter if I did). Like intel, clang is different everywhere. It often uses the native gcc standard library, which is occasionally an old one with no C++11 support. Because apple stopped updating gcc after 4.2, the default version of libstdc++ doesn't have C++11 support. I'm sure it's possible to use a more recent version, but I've never tried. I'm really not sure if this is a real problem. The only 'real' case I've seen was a bug report from someone using unordered in C++11 mode with a C++03 std::allocator. But I think things like move support were introduced earlier than allocator support pretty much everywhere.