On 08/23/2014 04:58 AM, Andrey Semashev wrote:
On Saturday 23 August 2014 09:40:34 John Maddock wrote:
If this is a GCC specific bug, then I'm inclined to suggest that this is what BOOST_WORKAROUND is for: unless there are a lot of libraries needing this, or there's a consensus that variadic templates should be disabled altogether prior to 4.7? I have a similar macro BOOST_LOG_NO_CXX11_ARG_PACKS_TO_NON_VARIADIC_ARGS_EXPANSION in Boost.Log. To my knowledge, this is a gcc-specific issue.
I don't think that variadic templates should be disabled for gcc prior to 4.7, even with this problem, since the implementation is sufficient for many use cases. I'm not a Boost developer, but it makes sense that this belongs with other workarounds. The GCC C++11 support table claims that 4.4 supports variadic templates. GCC treated the problem as a bug, whose report claims it is fixed in 4.7.0. That seems appropriate for a workaround. Since at least 2 libraries already need this workaround, I think it's reasonable to replace the library-specific macros with a general workaround macro.
Whatever the final decision, I would eventually like to know how to patch my copy of 1.56.0, including your fix for gcc.hpp. -- Dick Hadsell 203-992-6320 Fax: 203-992-6001 Reply-to: hadsell@blueskystudios.com Blue Sky Studioshttp://www.blueskystudios.com 1 American Lane, Greenwich, CT 06831-2560