Subject: [Boost-bugs] [Boost C++ Libraries] #11225: failed to compile with msvc8, variadics used wrong
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-04-22 12:32:56
#11225: failed to compile with msvc8, variadics used wrong
-------------------------------------------------+-------------------------
Reporter: ingo.loehken@⦠| Owner: djowel
Type: Bugs | Status: new
Milestone: To Be Determined | Component: fusion
Version: Boost 1.58.0 | Severity: Regression
Keywords: BOOST_PP_IS_EMPTY, phoenix vector, |
variadics, vs2005, mscv8 |
-------------------------------------------------+-------------------------
Hi,
in fusion there are now switches to generate code either for compilers
that support variadics macros or don't. For that the macro
BOOST_PP_VARIADICS macro used, but there is a corner case: vs2005 has an
incomplete implementation of variadic macros, that will fail with empty
sequences, i.e. see BOOST_PP_IS_EMPTY that handles this is in a special
way.
Therefore variadics should not be used for generation here.
All code in boost/fusion that uses only BOOST_PP_VARIADICS needs to be
extended with && (!defined(_MSC_VER) || defined(_MSC_VER) && _MSC_VER >
1400) to avoid compiler failures.
Original error message comes from boost/phoenix, where compiler complains
that there are not enough actual arguments for BOOST_PP_IS_EMPTY and other
macros.
Greetz, ILo.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11225> 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:18 UTC