2
0
mirror of https://github.com/boostorg/log.git synced 2026-01-19 04:22:09 +00:00

Fix incorrect constant used for PP iteration limit in value_ref visitation.

This fixes generation of apply_visitor_dispatch template specializations
that are supposed to terminate the lookup recursion and optimize for
a small number of (last) lookup steps. The bug was reported on the ML:

https://lists.boost.org/archives/list/boost@lists.boost.org/message/PN6TVYAFH2ICX5ENT76ARTQ7V372G5F2/
This commit is contained in:
Andrey Semashev
2025-10-25 01:17:20 +03:00
parent 3ab24d1e4f
commit b1fd6a2423
2 changed files with 5 additions and 1 deletions

View File

@@ -9,6 +9,10 @@
[section:changelog Changelog]
[heading 2.33, Boost 1.90]
* Fixed a missed optimization in `value_ref` visitation.
[heading 2.32, Boost 1.89]
* Added support for `BOOST_LOG_WITHOUT_ASIO` configuration macro, which can be used to remove the dependency on __boost_asio__ and disable the related functionality.

View File

@@ -67,7 +67,7 @@ struct apply_visitor_dispatch
case i: return visitor(*static_cast< typename mpl::at_c< SequenceT, i >::type const* >(p));
#define BOOST_PP_FILENAME_1 <boost/log/detail/value_ref_visitation.hpp>
#define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_INC(BOOST_LOG_VALUE_REF_VISITATION_VTABLE_SIZE))
#define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_INC(BOOST_LOG_VALUE_REF_VISITATION_UNROLL_COUNT))
#include BOOST_PP_ITERATE()
#undef BOOST_LOG_AUX_CASE_ENTRY