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

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.


(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.

Or one could just leave PHOENIX_LIMIT named as is.

What would Boost developers prefer we do?


Boost list run by bdawes at, gregod at, cpdaniel at, john at