From 3d170e65a4bfd718b97ccb5c2bd70bcbdb704fca Mon Sep 17 00:00:00 2001 From: bolero-MURAKAMI Date: Mon, 3 Mar 2014 12:01:27 +0900 Subject: [PATCH] workaround for clang3.4 or later: empty base class construction --- sprout/functional/type_traits/weak_result_type.hpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/sprout/functional/type_traits/weak_result_type.hpp b/sprout/functional/type_traits/weak_result_type.hpp index 537e315e..f44f4b89 100644 --- a/sprout/functional/type_traits/weak_result_type.hpp +++ b/sprout/functional/type_traits/weak_result_type.hpp @@ -11,6 +11,7 @@ #include #include #include +#include namespace sprout { namespace detail { @@ -78,7 +79,14 @@ namespace sprout { template struct weak_result_type : public sprout::detail::weak_result_type_impl::type> - {}; + { +#ifdef SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT + public: + SPROUT_CONSTEXPR weak_result_type() + : SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::weak_result_type_impl::type>) + {} +#endif + }; } // namespace sprout #endif // #ifndef SPROUT_FUNCTIONAL_TYPE_TRAITS_WEAK_RESULT_TYPE_HPP