id summary reporter owner description type status milestone component version severity resolution keywords cc 10832 Boost.Variant: variadic templates are disabled on Clang Benoit Blanchon Antony Polukhin "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." Bugs closed Boost 1.58.0 variant Boost 1.57.0 Optimization fixed clang