
On Tue, 13 Mar 2012 08:26:06 -0500, Steve M. Robbins wrote:
I suppose that I *could* define all of these (it isn't just BOOST_PP_ITERATION_FLAGS) to have values in the non-iterating case such as:
#define BOOST_PP_ITERATION_FLAGS_0() 0 // etc.
If I were to pursue this option, which other macros would need to be defined?
This isn't a good option. Essentially, GCC makes the code pattern... #if !defined(MACRO) // A #elif MACRO() // B #endif ...untenable (or at least dependent on the contents of A). This is not a problem with the definitions in the pp-lib. This is a general issue with either GCC or the C/C++ languages themselves (if GCC is actually correctly implementing the *intent* of the standards). The fix and/or workaround is to change the usage pattern to the (more verbose): #if !defined(MACRO) // A #else #if MACRO() // B #endif #endif Regards, Paul Mensonides