From 7eab81300ec1ede149a84c7d0b5a27abc4c12168 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Fri, 18 May 2018 08:00:28 +0100 Subject: [PATCH] clang intrinsics: disable trivial move construction testing for c++03. --- include/boost/type_traits/intrinsics.hpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/boost/type_traits/intrinsics.hpp b/include/boost/type_traits/intrinsics.hpp index 41cd16b..ddcd50f 100644 --- a/include/boost/type_traits/intrinsics.hpp +++ b/include/boost/type_traits/intrinsics.hpp @@ -222,12 +222,14 @@ # if __has_feature(is_polymorphic) # define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T) # endif +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES # if __has_extension(is_trivially_constructible) # define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible::value && !::boost::is_volatile::value) # endif # if __has_extension(is_trivially_assignable) # define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable::value && !::boost::is_volatile::value) # endif +#endif # if (!defined(unix) && !defined(__unix__)) || defined(__LP64__) || !defined(__GNUC__) // GCC sometimes lies about alignment requirements // of type double on 32-bit unix platforms, use the