Re: [Boost-bugs] [Boost C++ Libraries] #7707: clang + C++11 + libstdc++ compile errors

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7707: clang + C++11 + libstdc++ compile errors
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-11-18 09:40:58


#7707: clang + C++11 + libstdc++ compile errors
--------------------------------------+-------------------------------------
  Reporter: viboes | Owner: pdimov
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: smart_ptr
   Version: Boost Development Trunk | Severity: Problem
Resolution: | Keywords:
--------------------------------------+-------------------------------------
Description changed by viboes:

Old description:

> There are a lot of errors when compiling with clang on c++11 mode and
> linking with the default library libstdc++. The erros come from the fact
> that the code is expecting the standard library to provide some c++11
> features which are missing, as std::forward.
>
> {{{
> clang-darwin.compile.c++
> ../../../bin.v2/libs/smart_ptr/test/smart_ptr_test.test/clang-
> darwin-3.1x/debug/smart_ptr_test.o
> In file included from smart_ptr_test.cpp:36:
> In file included from ../../../boost/smart_ptr.hpp:28:
> In file included from ../../../boost/make_shared.hpp:15:
> In file included from ../../../boost/smart_ptr/make_shared.hpp:18:
> ../../../boost/smart_ptr/make_shared_array.hpp:54:36: error: no member
> named 'forward' in namespace 'std'
> d2->construct(p2, n1, std::forward<Args>(args)...);
> ~~~~~^
> ../../../boost/smart_ptr/make_shared_array.hpp:54:44: error: 'Args' does
> not refer to a value
> d2->construct(p2, n1, std::forward<Args>(args)...);
> ^
> ../../../boost/smart_ptr/make_shared_array.hpp:40:38: note: declared here
> template<typename T, typename... Args>
> ^
> ../../../boost/smart_ptr/make_shared_array.hpp:71:36: error: no member
> named 'forward' in namespace 'std'
> d2->construct(p2, n1, std::forward<Args>(args)...);
> ~~~~~^
> ../../../boost/smart_ptr/make_shared_array.hpp:71:44: error: 'Args' does
> not refer to a value
> d2->construct(p2, n1, std::forward<Args>(args)...);
> ^
> ../../../boost/smart_ptr/make_shared_array.hpp:57:38: note: declared here
> template<typename T, typename... Args>
>
> }}}
>

> See the attached file for a complete list of failures when running the
> smart_ptr tests.

New description:

 There are a lot of errors when compiling with clang on c++11 mode and
 linking with the default library libstdc++. The errors come from the fact
 that the code is expecting the standard library to provide some c++11
 features which are missing, as std::forward.

 {{{
 clang-darwin.compile.c++
 ../../../bin.v2/libs/smart_ptr/test/smart_ptr_test.test/clang-
 darwin-3.1x/debug/smart_ptr_test.o
 In file included from smart_ptr_test.cpp:36:
 In file included from ../../../boost/smart_ptr.hpp:28:
 In file included from ../../../boost/make_shared.hpp:15:
 In file included from ../../../boost/smart_ptr/make_shared.hpp:18:
 ../../../boost/smart_ptr/make_shared_array.hpp:54:36: error: no member
 named 'forward' in namespace 'std'
         d2->construct(p2, n1, std::forward<Args>(args)...);
                               ~~~~~^
 ../../../boost/smart_ptr/make_shared_array.hpp:54:44: error: 'Args' does
 not refer to a value
         d2->construct(p2, n1, std::forward<Args>(args)...);
                                            ^
 ../../../boost/smart_ptr/make_shared_array.hpp:40:38: note: declared here
     template<typename T, typename... Args>
                                      ^
 ../../../boost/smart_ptr/make_shared_array.hpp:71:36: error: no member
 named 'forward' in namespace 'std'
         d2->construct(p2, n1, std::forward<Args>(args)...);
                               ~~~~~^
 ../../../boost/smart_ptr/make_shared_array.hpp:71:44: error: 'Args' does
 not refer to a value
         d2->construct(p2, n1, std::forward<Args>(args)...);
                                            ^
 ../../../boost/smart_ptr/make_shared_array.hpp:57:38: note: declared here
     template<typename T, typename... Args>

 }}}


 See the attached file for a complete list of failures when running the
 smart_ptr tests.

--
-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7707#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:11 UTC