Subject: Re: [boost] [PREDEF] Review for the Boost.Predef library by Rene Riviera
From: Iain Denniston (iain.denniston_at_[hidden])
Date: 2012-02-28 04:24:28


> - The above assume a NULL defined style macro rather than an undefined
> macro style – as has been mentioned I think perhaps undefined macros
> are the better choice for these very low level definitions. I’d
> suggest it’s likely that if you have to use these for areas of the
> code then the code being blocked off is likely not legal in most other
> cases (and so the alternative C++ compiler “if” usage would not be
> possible anyway and so removes the only reason I can see to have
> things as they are).
Ahem - this point can be safely ignored :o)

I actually knew this wasn't the "only" reason to have things as they are
even before it was spelled out (in another post) - honest! I blame a
sleep addled brain.

However, the choice between undefined and null defined is perhaps best
left to the user? So, a set of BOOST_CXX_GCC and associated
BOOST_CXX_GCC_VERSION might be worth doing - the first is defined only
on when the compiler is GCC (or emulates GCC) the second is always
defined, but null when not GCC. Best of both worlds, no?

Iain