Subject: [Boost-bugs] [Boost C++ Libraries] #10832: Boost.Variant: variadic templates are disabled on Clang
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-12-01 17:45:29
#10832: Boost.Variant: variadic templates are disabled on Clang
----------------------------------------+--------------------------
Reporter: Benoit Blanchon <benoit@â¦> | Owner: ebf
Type: Bugs | Status: new
Milestone: To Be Determined | Component: variant
Version: Boost 1.57.0 | Severity: Optimization
Keywords: clang |
----------------------------------------+--------------------------
Clang compiler defines __GNUC__=4 and __GNUC_MINOR__=2, which makes
Boost.Variant believe it's building against an old GCC and therefore
disable variadic templates.
See this code from variant_fwd.hpp:75:
{{{
#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \
|| (defined(__GNUC__) && (__GNUC__ == 4) && (__GNUC_MINOR__ < 7)) \
|| (defined(_MSC_VER) && (_MSC_VER < 1800)) \
|| defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE) \
|| defined (BOOST_VARIANT_NO_TYPE_SEQUENCE_SUPPORT)
#ifndef BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES
# define BOOST_VARIANT_DO_NOT_USE_VARIADIC_TEMPLATES
#endif
#endif
}}}
Please include a special case when __clang__ is defined.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10832> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC