]> git.lyx.org Git - lyx.git/blobdiff - 3rdparty/boost/boost/move/core.hpp
Update to boost 1.72
[lyx.git] / 3rdparty / boost / boost / move / core.hpp
index c0f5be59d47158d4757d13e8865220e5975efebc..b34740dcf838fcb254a659cc22f73f273eaf5241 100644 (file)
    #define BOOST_MOVE_TO_RV_CAST(RV_TYPE, ARG) reinterpret_cast<RV_TYPE>(ARG)
 
    //Move emulation rv breaks standard aliasing rules so add workarounds for some compilers
-   #define BOOST_MOVE_ATTRIBUTE_MAY_ALIAS BOOST_MAY_ALIAS
+   #if defined(BOOST_GCC) && (BOOST_GCC >= 40400) && (BOOST_GCC < 40500)
+   #define BOOST_RV_ATTRIBUTE_MAY_ALIAS BOOST_MAY_ALIAS
+   #else
+   #define BOOST_RV_ATTRIBUTE_MAY_ALIAS 
+   #endif
 
    namespace boost {
 
@@ -70,7 +74,7 @@
    //
    //////////////////////////////////////////////////////////////////////////////
    template <class T>
-   class rv
+   class BOOST_RV_ATTRIBUTE_MAY_ALIAS rv
       : public ::boost::move_detail::if_c
          < ::boost::move_detail::is_class<T>::value
          , T
@@ -81,7 +85,7 @@
       ~rv() throw();
       rv(rv const&);
       void operator=(rv const&);
-   } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS;
+   };
 
 
    //////////////////////////////////////////////////////////////////////////////