id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 7907,including tr1/memory.h causes compile errors in c++11 mode,Marshall Clow,John Maddock,"From the ML: On Jan 18, 2013, at 5:17 PM, Ioannis Papadopoulos wrote: With the minimal test: {{{ #include int main() {} }}} I am getting the following using gcc 4.7.2 in C++11 mode: {{{ /usr/local/boost/boost_1_53_beta/include/boost/shared_ptr.hpp:17:0, from /usr/local/boost/boost_1_53_beta/include/boost/tr1/memory.hpp:56, from test.cc:1: /usr/local/boost/boost_1_53_beta/include/boost/smart_ptr/shared_ptr.hpp:782:74: error: declaration of ‘template void boost::swap(boost::shared_ptr&, boost::shared_ptr&) noexcept (true)’ has a different exception specifier }}} .. and so on... I have duplicated this behavior using clang in C++11 mode. The problem is that `template void swap(shared_ptr & a, shared_ptr & b)` (and others) is declared `BOOST_NOEXCEPT` in /boost/smart_ptr/shared_ptr.hpp, and without the `BOOST_NOEXCEPT` in boost/tr1/memory.hpp. With the attached patch applied, the OP's trivial program now compiles w/o errors (using clang). I have marked this as a showstopper because I believe this needs to be fixed before the 1.53.0 release.",Bugs,closed,Boost 1.53.0,TR1,Boost 1.52.0,Showstopper,fixed,,