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