clang intrinsics: disable trivial move construction testing for c++03.

This commit is contained in:
jzmaddock
2018-05-18 08:00:28 +01:00
parent 8898c6d1bb
commit 7eab81300e

View File

@ -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<T, T&&>::value && !::boost::is_volatile<T>::value)
# endif
# if __has_extension(is_trivially_assignable)
# define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable<T&, T&&>::value && !::boost::is_volatile<T>::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