[Boost-bugs] [Boost C++ Libraries] #11225: failed to compile with msvc8, variadics used wrong

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