From 5e2e0f944e6bd7d16fbf49aef03c9c90f937ae52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ion=20Gazta=C3=B1aga?= Date: Sat, 15 Sep 2018 00:54:16 +0200 Subject: [PATCH] Use BOOST_MAY_ALIAS only for GCC 4.4, as other MSVC, GCC, and Clang don't seem to need it. --- include/boost/move/core.hpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/include/boost/move/core.hpp b/include/boost/move/core.hpp index 6e7d726..a5703c7 100644 --- a/include/boost/move/core.hpp +++ b/include/boost/move/core.hpp @@ -60,7 +60,11 @@ #define BOOST_MOVE_TO_RV_CAST(RV_TYPE, ARG) reinterpret_cast(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 BOOST_MAY_ALIAS + #endif namespace boost { @@ -70,7 +74,7 @@ // ////////////////////////////////////////////////////////////////////////////// template - class BOOST_MOVE_ATTRIBUTE_MAY_ALIAS rv + class BOOST_RV_ATTRIBUTE_MAY_ALIAS rv : public ::boost::move_detail::if_c < ::boost::move_detail::is_class::value , T