[MacPorts] #34288: clang ports use the old/dated libstdc++ from the host (gcc-4.2 based)

MacPorts noreply at macports.org
Wed May 2 00:07:24 PDT 2012


#34288: clang ports use the old/dated libstdc++ from the host (gcc-4.2 based)
--------------------------------------------------+-------------------------
 Reporter:  christophe.prudhomme@…                |       Owner:  jeremyhu@…                                              
     Type:  defect                                |      Status:  assigned                                                
 Priority:  Normal                                |   Milestone:                                                          
Component:  ports                                 |     Version:  2.0.4                                                   
 Keywords:                                        |        Port:  clang-2.9 clang-3.0 clang-3.1 clang-3.2 libstdc++ libc++
--------------------------------------------------+-------------------------

Comment(by christophe.prudhomme@…):

 It is C++11 code that is failing, to enable that just add --std=c++0x or
 --std=c++11
 and you get

 {{{
 In file included from s.cpp:1:
 In file included from /opt/local/include/boost/signals2.hpp:15:
 /opt/local/include/boost/signals2/deconstruct.hpp:73:22: error: no member
 named 'forward' in namespace 'std'
                 std::forward<Args>(args)...);
                 ~~~~~^
 /opt/local/include/boost/signals2/deconstruct.hpp:73:30: error: 'Args'
 does not refer to a value
                 std::forward<Args>(args)...);
                              ^
 /opt/local/include/boost/signals2/deconstruct.hpp:67:23: note: declared
 here
     template<class... Args>
                       ^
 /opt/local/include/boost/signals2/deconstruct.hpp:300:27: error: no member
 named 'forward' in namespace 'std'
         new( pv ) T( std::forward<Args>( args )... );
                      ~~~~~^
 /opt/local/include/boost/signals2/deconstruct.hpp:300:35: error: 'Args'
 does not refer to a value
         new( pv ) T( std::forward<Args>( args )... );
                                   ^
 /opt/local/include/boost/signals2/deconstruct.hpp:291:33: note: declared
 here
     template< class T, class... Args >
                                 ^
 /opt/local/include/boost/signals2/deconstruct.hpp:481:53: error: no member
 named 'forward' in namespace 'std'
     return deconstruct_access::deconstruct<T>( std::forward<Args>( args
 )... );
                                                ~~~~~^
 /opt/local/include/boost/signals2/deconstruct.hpp:481:61: error: 'Args'
 does not refer to a value
     return deconstruct_access::deconstruct<T>( std::forward<Args>( args
 )... );
                                                             ^
 /opt/local/include/boost/signals2/deconstruct.hpp:479:29: note: declared
 here
 template< class T, class... Args > postconstructor_invoker< T >
 deconstruct( Args && ... args )
                             ^
 In file included from s.cpp:1:
 In file included from /opt/local/include/boost/signals2.hpp:19:
 In file included from /opt/local/include/boost/signals2/signal.hpp:38:
 In file included from
 /opt/local/include/boost/signals2/variadic_signal.hpp:21:
 /opt/local/include/boost/signals2/detail/variadic_slot_invoker.hpp:22:10:
 fatal error: 'tuple' file not found
 #include <tuple>
 }}}

 I agree that otherwise it compiles ok

-- 
Ticket URL: <https://trac.macports.org/ticket/34288#comment:6>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list