From 71c6fea390bd50d9d55e89b4066c79088eb96841 Mon Sep 17 00:00:00 2001 From: Marcel Raad Date: Wed, 13 Jan 2016 17:27:39 +0100 Subject: [PATCH 1/3] Fixes for clang in MSVC mode In MSVC mode, clang doesn't define __GNUC__. Also, it doesn't define __clang, but defines __clang__. --- include/boost/type_traits/has_nothrow_assign.hpp | 2 +- include/boost/type_traits/has_nothrow_constructor.hpp | 2 +- include/boost/type_traits/has_trivial_assign.hpp | 2 +- include/boost/type_traits/has_trivial_destructor.hpp | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/boost/type_traits/has_nothrow_assign.hpp b/include/boost/type_traits/has_nothrow_assign.hpp index a7312a1..65fbeef 100644 --- a/include/boost/type_traits/has_nothrow_assign.hpp +++ b/include/boost/type_traits/has_nothrow_assign.hpp @@ -24,7 +24,7 @@ #include #endif #endif -#if defined(__GNUC__) || defined(__SUNPRO_CC) +#if defined(__GNUC__) || defined(__SUNPRO_CC) || defined(__clang__) #include #include #include diff --git a/include/boost/type_traits/has_nothrow_constructor.hpp b/include/boost/type_traits/has_nothrow_constructor.hpp index e5af89f..a71d42e 100644 --- a/include/boost/type_traits/has_nothrow_constructor.hpp +++ b/include/boost/type_traits/has_nothrow_constructor.hpp @@ -17,7 +17,7 @@ #if defined(BOOST_MSVC) || defined(BOOST_INTEL) #include #endif -#if defined(__GNUC__ ) || defined(__SUNPRO_CC) +#if defined(__GNUC__ ) || defined(__SUNPRO_CC) || defined(__clang__) #include #endif diff --git a/include/boost/type_traits/has_trivial_assign.hpp b/include/boost/type_traits/has_trivial_assign.hpp index a5e625d..a434dae 100644 --- a/include/boost/type_traits/has_trivial_assign.hpp +++ b/include/boost/type_traits/has_trivial_assign.hpp @@ -13,7 +13,7 @@ #include #include -#if !defined(BOOST_HAS_TRIVIAL_ASSIGN) || defined(BOOST_MSVC) || defined(__GNUC__) || defined(BOOST_INTEL) || defined(__SUNPRO_CC) || defined(__clang) +#if !defined(BOOST_HAS_TRIVIAL_ASSIGN) || defined(BOOST_MSVC) || defined(__GNUC__) || defined(BOOST_INTEL) || defined(__SUNPRO_CC) || defined(__clang__) #include #include #include diff --git a/include/boost/type_traits/has_trivial_destructor.hpp b/include/boost/type_traits/has_trivial_destructor.hpp index 763283d..9a3a61f 100644 --- a/include/boost/type_traits/has_trivial_destructor.hpp +++ b/include/boost/type_traits/has_trivial_destructor.hpp @@ -21,7 +21,7 @@ #include #endif -#if defined(__GNUC__) || defined(__clang) || defined(__SUNPRO_CC) +#if defined(__GNUC__) || defined(__clang__) || defined(__SUNPRO_CC) #include #endif From 2b64ca10e5806b22a98edeeb123b8788b882c028 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 12 Mar 2016 17:05:27 +0000 Subject: [PATCH 2/3] Change #includes to angle brackets. See https://svn.boost.org/trac/boost/ticket/11516. --- include/boost/type_traits.hpp | 256 +++++++++++++++++----------------- 1 file changed, 128 insertions(+), 128 deletions(-) diff --git a/include/boost/type_traits.hpp b/include/boost/type_traits.hpp index 57680f8..7d651ce 100644 --- a/include/boost/type_traits.hpp +++ b/include/boost/type_traits.hpp @@ -10,141 +10,141 @@ #ifndef BOOST_TYPE_TRAITS_HPP #define BOOST_TYPE_TRAITS_HPP -#include "boost/type_traits/add_const.hpp" -#include "boost/type_traits/add_cv.hpp" -#include "boost/type_traits/add_lvalue_reference.hpp" -#include "boost/type_traits/add_pointer.hpp" -#include "boost/type_traits/add_reference.hpp" -#include "boost/type_traits/add_rvalue_reference.hpp" -#include "boost/type_traits/add_volatile.hpp" -#include "boost/type_traits/aligned_storage.hpp" -#include "boost/type_traits/alignment_of.hpp" -#include "boost/type_traits/common_type.hpp" -#include "boost/type_traits/conditional.hpp" -#include "boost/type_traits/copy_cv.hpp" -#include "boost/type_traits/decay.hpp" -#include "boost/type_traits/declval.hpp" -#include "boost/type_traits/extent.hpp" -#include "boost/type_traits/floating_point_promotion.hpp" -#include "boost/type_traits/function_traits.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include "boost/type_traits/has_bit_and.hpp" -#include "boost/type_traits/has_bit_and_assign.hpp" -#include "boost/type_traits/has_bit_or.hpp" -#include "boost/type_traits/has_bit_or_assign.hpp" -#include "boost/type_traits/has_bit_xor.hpp" -#include "boost/type_traits/has_bit_xor_assign.hpp" -#include "boost/type_traits/has_complement.hpp" -#include "boost/type_traits/has_dereference.hpp" -#include "boost/type_traits/has_divides.hpp" -#include "boost/type_traits/has_divides_assign.hpp" -#include "boost/type_traits/has_equal_to.hpp" -#include "boost/type_traits/has_greater.hpp" -#include "boost/type_traits/has_greater_equal.hpp" -#include "boost/type_traits/has_left_shift.hpp" -#include "boost/type_traits/has_left_shift_assign.hpp" -#include "boost/type_traits/has_less.hpp" -#include "boost/type_traits/has_less_equal.hpp" -#include "boost/type_traits/has_logical_and.hpp" -#include "boost/type_traits/has_logical_not.hpp" -#include "boost/type_traits/has_logical_or.hpp" -#include "boost/type_traits/has_minus.hpp" -#include "boost/type_traits/has_minus_assign.hpp" -#include "boost/type_traits/has_modulus.hpp" -#include "boost/type_traits/has_modulus_assign.hpp" -#include "boost/type_traits/has_multiplies.hpp" -#include "boost/type_traits/has_multiplies_assign.hpp" -#include "boost/type_traits/has_negate.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #if !defined(__BORLANDC__) && !defined(__CUDACC__) -#include "boost/type_traits/has_new_operator.hpp" +#include #endif -#include "boost/type_traits/has_not_equal_to.hpp" -#include "boost/type_traits/has_nothrow_assign.hpp" -#include "boost/type_traits/has_nothrow_constructor.hpp" -#include "boost/type_traits/has_nothrow_copy.hpp" -#include "boost/type_traits/has_nothrow_destructor.hpp" -#include "boost/type_traits/has_plus.hpp" -#include "boost/type_traits/has_plus_assign.hpp" -#include "boost/type_traits/has_post_decrement.hpp" -#include "boost/type_traits/has_post_increment.hpp" -#include "boost/type_traits/has_pre_decrement.hpp" -#include "boost/type_traits/has_pre_increment.hpp" -#include "boost/type_traits/has_right_shift.hpp" -#include "boost/type_traits/has_right_shift_assign.hpp" -#include "boost/type_traits/has_trivial_assign.hpp" -#include "boost/type_traits/has_trivial_constructor.hpp" -#include "boost/type_traits/has_trivial_copy.hpp" -#include "boost/type_traits/has_trivial_destructor.hpp" -#include "boost/type_traits/has_trivial_move_assign.hpp" -#include "boost/type_traits/has_trivial_move_constructor.hpp" -#include "boost/type_traits/has_unary_minus.hpp" -#include "boost/type_traits/has_unary_plus.hpp" -#include "boost/type_traits/has_virtual_destructor.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include -#include "boost/type_traits/integral_constant.hpp" +#include -#include "boost/type_traits/is_abstract.hpp" -#include "boost/type_traits/is_arithmetic.hpp" -#include "boost/type_traits/is_array.hpp" -#include "boost/type_traits/is_assignable.hpp" -#include "boost/type_traits/is_base_and_derived.hpp" -#include "boost/type_traits/is_base_of.hpp" -#include "boost/type_traits/is_class.hpp" -#include "boost/type_traits/is_complex.hpp" -#include "boost/type_traits/is_compound.hpp" -#include "boost/type_traits/is_const.hpp" -#include "boost/type_traits/is_constructible.hpp" -#include "boost/type_traits/is_convertible.hpp" -#include "boost/type_traits/is_copy_assignable.hpp" -#include "boost/type_traits/is_copy_constructible.hpp" -#include "boost/type_traits/is_default_constructible.hpp" -#include "boost/type_traits/is_destructible.hpp" -#include "boost/type_traits/is_empty.hpp" -#include "boost/type_traits/is_enum.hpp" -#include "boost/type_traits/is_final.hpp" -#include "boost/type_traits/is_float.hpp" -#include "boost/type_traits/is_floating_point.hpp" -#include "boost/type_traits/is_function.hpp" -#include "boost/type_traits/is_fundamental.hpp" -#include "boost/type_traits/is_integral.hpp" -#include "boost/type_traits/is_lvalue_reference.hpp" -#include "boost/type_traits/is_member_function_pointer.hpp" -#include "boost/type_traits/is_member_object_pointer.hpp" -#include "boost/type_traits/is_member_pointer.hpp" -#include "boost/type_traits/is_nothrow_move_assignable.hpp" -#include "boost/type_traits/is_nothrow_move_constructible.hpp" -#include "boost/type_traits/is_object.hpp" -#include "boost/type_traits/is_pod.hpp" -#include "boost/type_traits/is_pointer.hpp" -#include "boost/type_traits/is_polymorphic.hpp" -#include "boost/type_traits/is_reference.hpp" -#include "boost/type_traits/is_rvalue_reference.hpp" -#include "boost/type_traits/is_same.hpp" -#include "boost/type_traits/is_scalar.hpp" -#include "boost/type_traits/is_signed.hpp" -#include "boost/type_traits/is_stateless.hpp" -#include "boost/type_traits/is_union.hpp" -#include "boost/type_traits/is_unsigned.hpp" -#include "boost/type_traits/is_virtual_base_of.hpp" -#include "boost/type_traits/is_void.hpp" -#include "boost/type_traits/is_volatile.hpp" -#include "boost/type_traits/make_signed.hpp" -#include "boost/type_traits/make_unsigned.hpp" -#include "boost/type_traits/rank.hpp" -#include "boost/type_traits/remove_all_extents.hpp" -#include "boost/type_traits/remove_bounds.hpp" -#include "boost/type_traits/remove_const.hpp" -#include "boost/type_traits/remove_cv.hpp" -#include "boost/type_traits/remove_extent.hpp" -#include "boost/type_traits/remove_pointer.hpp" -#include "boost/type_traits/remove_reference.hpp" -#include "boost/type_traits/remove_volatile.hpp" -#include "boost/type_traits/type_identity.hpp" -#include "boost/type_traits/type_with_alignment.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #if !(defined(__sgi) && defined(__EDG_VERSION__) && (__EDG_VERSION__ == 238)) -#include "boost/type_traits/integral_promotion.hpp" -#include "boost/type_traits/promote.hpp" +#include +#include #endif #endif // BOOST_TYPE_TRAITS_HPP From f7e1f2d52e136c854267f88fa40b4b867f61b868 Mon Sep 17 00:00:00 2001 From: jzmaddock Date: Sat, 12 Mar 2016 17:18:24 +0000 Subject: [PATCH 3/3] Change #includes to use angle brackets. See https://svn.boost.org/trac/boost/ticket/11516. --- include/boost/type_traits/aligned_storage.hpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/include/boost/type_traits/aligned_storage.hpp b/include/boost/type_traits/aligned_storage.hpp index 09f0c6b..171f5d4 100644 --- a/include/boost/type_traits/aligned_storage.hpp +++ b/include/boost/type_traits/aligned_storage.hpp @@ -15,12 +15,12 @@ #include // for std::size_t -#include "boost/config.hpp" -#include "boost/detail/workaround.hpp" -#include "boost/type_traits/alignment_of.hpp" -#include "boost/type_traits/type_with_alignment.hpp" -#include "boost/type_traits/is_pod.hpp" -#include "boost/type_traits/conditional.hpp" +#include +#include +#include +#include +#include +#include namespace boost {