id summary reporter owner description type status milestone component version severity resolution keywords cc 8055 Including boost/smart_ptr/shared_ptr.hpp produces warnings on clang with libc++ Michel Morin Peter Dimov "On clang with libc++ in a C++03 mode, including `boost/smart_ptr/shared_ptr.hpp` produces warnings. Here is a test case {{{ #include int main(int argc, char* argv[]) { return 0; } }}} and warnings {{{ boost/smart_ptr/shared_ptr.hpp:491:41: warning: rvalue references are a C++11 extension [-Wc++11-extensions] shared_ptr( std::unique_ptr< Y, D > && r ): px( r.get() ), pn() ^ boost/smart_ptr/shared_ptr.hpp:556:51: warning: rvalue references are a C++11 extension [-Wc++11-extensions] shared_ptr & operator=( std::unique_ptr && r ) ^ boost/smart_ptr/shared_ptr.hpp:558:55: warning: rvalue references are a C++11 extension [-Wc++11-extensions] this_type( static_cast< std::unique_ptr && >( r ) ).swap(*this); ^ }}} This is because `!defined(BOOST_NO_CXX11_SMART_PTR)` does not imply `!defined(BOOST_NO_CXX11_RVALUE_REFERENCES)` in this configuration. It would be nice to remove warnings by adding `!defined(BOOST_NO_CXX11_RVALUE_REFERENCES)` guard. " Bugs closed To Be Determined smart_ptr Boost Development Trunk Problem fixed