mirror of
https://github.com/boostorg/move.git
synced 2025-08-02 05:44:25 +02:00
Fixes #49 ("clang-15 warnings about deprecated type traits intrinsics")
This commit is contained in:
@@ -190,33 +190,37 @@
|
|||||||
# endif
|
# endif
|
||||||
|
|
||||||
// BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR
|
// BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR
|
||||||
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_trivially_constructible)
|
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
|
||||||
|
|
||||||
|
# if BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_trivially_constructible)
|
||||||
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_constructible(T, T&&) && __is_trivially_constructible(T, T&&))
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_constructible(T, T&&) && __is_trivially_constructible(T, T&&))
|
||||||
# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_constructor)
|
# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_constructor)
|
||||||
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) __has_trivial_move_constructor(T)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN
|
// BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN
|
||||||
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_trivially_assignable)
|
# if BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_trivially_assignable)
|
||||||
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_assignable(T, T&&) && __is_trivially_assignable(T, T&&))
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_assignable(T, T&&) && __is_trivially_assignable(T, T&&))
|
||||||
# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_assign)
|
# elif BOOST_MOVE_HAS_TRAIT(has_trivial_move_assign)
|
||||||
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
|
# define BOOST_MOVE_HAS_TRIVIAL_MOVE_ASSIGN(T) __has_trivial_move_assign(T)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR
|
// BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR
|
||||||
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_nothrow_constructible)
|
# if BOOST_MOVE_HAS_TRAIT(is_constructible) && BOOST_MOVE_HAS_TRAIT(is_nothrow_constructible)
|
||||||
# define BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR(T) (__is_constructible(T, T&&) && __is_nothrow_constructible(T, T&&))
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR(T) (__is_constructible(T, T&&) && __is_nothrow_constructible(T, T&&))
|
||||||
# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_move_constructor)
|
# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_move_constructor)
|
||||||
# define BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR(T) __has_nothrow_move_constructor(T)
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_CONSTRUCTOR(T) __has_nothrow_move_constructor(T)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
// BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN
|
// BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN
|
||||||
# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_nothrow_assignable)
|
# if BOOST_MOVE_HAS_TRAIT(is_assignable) && BOOST_MOVE_HAS_TRAIT(is_nothrow_assignable)
|
||||||
# define BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) (__is_assignable(T, T&&) && __is_nothrow_assignable(T, T&&))
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) (__is_assignable(T, T&&) && __is_nothrow_assignable(T, T&&))
|
||||||
# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_move_assign)
|
# elif BOOST_MOVE_HAS_TRAIT(has_nothrow_move_assign)
|
||||||
# define BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) __has_nothrow_move_assign(T)
|
# define BOOST_MOVE_HAS_NOTHROW_MOVE_ASSIGN(T) __has_nothrow_move_assign(T)
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
# endif //BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||||
|
|
||||||
// BOOST_MOVE_ALIGNMENT_OF
|
// BOOST_MOVE_ALIGNMENT_OF
|
||||||
# define BOOST_MOVE_ALIGNMENT_OF(T) __alignof(T)
|
# define BOOST_MOVE_ALIGNMENT_OF(T) __alignof(T)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user