
Am Sonntag, 15. Juni 2014, 20:23:43 schrieb Andrey Semashev:
On Sun, Jun 15, 2014 at 8:03 PM, Jürgen Hunold <jhunold@gmx.eu> wrote:
My own code broke with an identical message sometime last week. Any ideas?
I think there's a missing #include <boost/preprocessor/cat.hpp> in boost/accumulators/accumulators_fwd.hpp. There is another use of BOOST_PP_CAT in boost/accumulators/numeric/detail/function_n.hpp but it has the #include. I don't see how this could be related to boost/accumulators/framework/accumulators/reference_accumulator.hpp though.
As there are no changes in accumulators I've trace the bug back to preprocessor. Bisecting the error leads to:
c66ea5871fd44274f681f02323c4d46bdf394c7c is the first bad commit commit c66ea5871fd44274f681f02323c4d46bdf394c7c Author: Edward Diener <eldiener@tropicsoft.com> Date: Wed Apr 30 16:06:49 2014 -0400
Addition of is_empty tests and changes to rem processing as a workaround to VC++ problem.
the culprit might be this change, which moves cat.hpp out of scope for msvc: diff --git a/include/boost/preprocessor/facilities/is_empty.hpp b/include/boost/preprocessor/facilities/is_empty.hpp index b1094d8..e7f821f 100644 --- a/include/boost/preprocessor/facilities/is_empty.hpp +++ b/include/boost/preprocessor/facilities/is_empty.hpp @@ -22,10 +22,13 @@ # else # # include <boost/preprocessor/config/config.hpp> -# include <boost/preprocessor/cat.hpp> +# if ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MSVC() && ~BOOST_PP_CONFIG_FLAGS() & BOOST_PP_CONFIG_MWCC() # include <boost/preprocessor/tuple/elem.hpp> # include <boost/preprocessor/facilities/empty.hpp> +# else +# include <boost/preprocessor/cat.hpp> # include <boost/preprocessor/detail/split.hpp> +# endif # # /* BOOST_PP_IS_EMPTY */ # The question remains: Who fixes this where? Yours, Jürgen -- * Dipl.-Math. Jürgen Hunold ! * voice: ++49 4257 300 ! Fährstraße 1 * fax : ++49 4257 300 ! 31609 Balge/Sebbenhausen * jhunold@gmx.eu ! Germany