|
Boost : |
Subject: Re: [boost] [accumulators] broken on msvc
From: Jürgen Hunold (jhunold_at_[hidden])
Date: 2014-06-15 15:18:12
Am Sonntag, 15. Juni 2014, 20:23:43 schrieb Andrey Semashev:
> On Sun, Jun 15, 2014 at 8:03 PM, Jürgen Hunold <jhunold_at_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_at_[hidden]>
> 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_at_gmx.eu ! Germany
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk