From 5221bbbc766e664a21727e591bae2c1f98b8ebd2 Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Fri, 27 Apr 2018 14:56:23 +0900 Subject: [PATCH] Added workaround for defaulted and noexcept --- include/boost/fusion/support/config.hpp | 10 +++++++++- include/boost/fusion/support/unused.hpp | 4 ++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/include/boost/fusion/support/config.hpp b/include/boost/fusion/support/config.hpp index 23554531..16cd8f7f 100644 --- a/include/boost/fusion/support/config.hpp +++ b/include/boost/fusion/support/config.hpp @@ -1,6 +1,6 @@ /*============================================================================= Copyright (c) 2014 Eric Niebler - Copyright (c) 2014 Kohei Takahashi + Copyright (c) 2014,2015,2018 Kohei Takahashi Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -96,4 +96,12 @@ namespace std #define BOOST_FUSION_CONSTEXPR_THIS BOOST_CONSTEXPR #endif + +// Workaround for GCC 4.6 that rejects defaulted function with noexcept. +#if BOOST_WORKAROUND(BOOST_GCC, / 100 == 406) +# define BOOST_FUSION_NOEXCEPT_ON_DEFAULTED +#else +# define BOOST_FUSION_NOEXCEPT_ON_DEFAULTED BOOST_NOEXCEPT +#endif + #endif diff --git a/include/boost/fusion/support/unused.hpp b/include/boost/fusion/support/unused.hpp index 1f65015e..c376d07f 100644 --- a/include/boost/fusion/support/unused.hpp +++ b/include/boost/fusion/support/unused.hpp @@ -24,13 +24,13 @@ namespace boost { namespace fusion { BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_DEFAULTED_FUNCTION( - unused_type() BOOST_NOEXCEPT, + unused_type() BOOST_FUSION_NOEXCEPT_ON_DEFAULTED, { }) BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_DEFAULTED_FUNCTION( - unused_type(unused_type const&) BOOST_NOEXCEPT, + unused_type(unused_type const&) BOOST_FUSION_NOEXCEPT_ON_DEFAULTED, { })