Boost logo

Boost :

From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2019-12-16 15:22:29


Acting on guidance given to my recent supply to this list of unprefixed
macros, namespaces etc injected into the global namespace by Boost, I
have logged a list of all issues with each library, and linked to all
those from a single issue logged at
https://github.com/boostorg/boost/issues/352.

A problem has arisen which requires input from boost-dev. Some Boost
libraries define as part of their public API a non-BOOST_-prefixed macro
which changes the definition of their header files e.g.

PHOENIX_LIMIT

(just to be clear, Phoenix is not the only library doing this)

If we change such macros to be like BOOST_PHOENIX_LIMIT instead, all
existing code using Boost which sets PHOENIX_LIMIT would potentially
*silently* break.

What we could decide to do instead is:

#if defined(PHOENIX_LIMIT) && !defined(BOOST_PHOENIX_LIMIT)
#error In Boost 1.xx PHOENIX_LIMIT was renamed to BOOST_PHOENIX_LIMIT.
Please upgrade your code to reflect the new name.
#endif

Or one could just leave PHOENIX_LIMIT named as is.

What would Boost developers prefer we do?

Niall


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk