$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: [boost] [preprocessor]BOOST_PP_CHECK_2 with wrong number args
From: Larry Evans (cppljevans_at_[hidden])
Date: 2011-08-24 14:15:20
boost/preprocessor/detail/check.hpp in boost version 1.47.0 contains:
# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() &&
~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_DMC()
# define BOOST_PP_CHECK_D(x, type)
BOOST_PP_CHECK_1(BOOST_PP_CAT(BOOST_PP_CHECK_RESULT_, type x))
# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk)
# define BOOST_PP_CHECK_2(res, _) res
# elif BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC()
The above shows BOOST_PP_CHECK_2 is called with 1 argument
on rhs of BOOST_CHECK_1; yet, the arity is 2, as shown
on the next line.
This results in the errors reported here:
http://article.gmane.org/gmane.comp.lib.boost.devel/222795
when that line is changed to:
# define BOOST_PP_CHECK_1(chk) BOOST_PP_CHECK_2(chk,_)
the reported error goes away; however, several other errors
occur about too many instead of too few arguments passed to
BOOST_PP_CHECK_2.
Is this a BOOST_PP bug? If not; how can the errors reported
in:
http://article.gmane.org/gmane.comp.lib.boost.devel/222795
be avoided?
TIA.
-regards,
Larry