
On Wed, Oct 06, 2004 at 12:36:58PM +0100, John Maddock wrote:
#ifdef __GLIBCXX__ // gcc 3.4 and greater: # ifdef _GLIBCXX_HAVE_GTHR_DEFAULT // // If the std lib has thread support turned on, then turn it on in Boost // as well. We do this because some gcc-3.4 std lib headers define _REENTANT // while others do not... // # define BOOST_HAS_THREADS # else # define BOOST_DISABLE_THREADS # endif #endif
John, this comment (which is in the current version in CVS) is misleading, and IMHO the whole thing is redundant. If *any* 3.4 libstdc++ header is included and _GLIBCXX_HAVE_GTHR_DEFAULT is defined then gthr-default.h will be included and therefore _REENTRANT will be defined, and therefore BOOST_HAS_THREADS will be defined anyway by boost/config/suffix.hpp (this is the case for GCC configured for MT support.) If _GLIBCXX_HAVE_GTHR_DEFAULT is not defined then gthr-default.h will not be included, and _REENTRANT will not be defined, and BOOST_DISABLE_THREADS will be defined by boost/config/suffix.hpp (this is the case for GCC configured with no support for MT.) I don't think that bit of preprocessor code changes anything (but I might be wrong again) jon -- "It is seldom that liberty of any kind is lost all at once." - David Hume