boostorg / spirit

Boost.org spirit module
http://boost.org/libs/spirit
383 stars 159 forks source link

Fix missing includes for karma/binary #783

Closed iv-m closed 5 months ago

iv-m commented 5 months ago

Previosuly, scoped_enum was included into karma's binary.hpp through boost/endian/detail/order.hpp. Since Boost 1.84.0 that file stopped using scoped enum and switched to use plain enum class instead; so it needs to be added here.

Fixes #779

iv-m commented 5 months ago

I discovered this issue when trying to build some code with boost 1.84.0. With boost 1.83.0 it compiled just fine, but with 1.84.0 it fails with

/usr/include/boost/spirit/home/karma/binary/binary.hpp:197:19: error: 'BOOST_SCOPED_ENUM' has not been declared
  197 |         template <BOOST_SCOPED_ENUM(boost::endian::order) bits>
      |                   ^~~~~~~~~~~~~~~~~

... and a few screens of various errors.