
John Maddock wrote:
Attached is the output of "gcc -ansi -dM". I hope it contains enough information to answer your questions. Note also that _REENTRANT is not defined here, therefore its source must be somewhere outside of gcc.
John, I attached a diffent patch for the file to this mail which fixes the problem. First of all, the platform in question is Tru64 (not HP-UX). Next, when the file is included by the compiler, _GLIBCPP_HAVE_GTHR_DEFAULT is _not_ defined. Therefore I changed the check to __osf__ && !_REENTRANT to just unconditionally define _REENTRANT on Tru64. If the patch is ok for you, please go ahead and commit it or just tell me and I will commit it myself. Thanks, Markus Index: libstdcpp3.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/config/stdlib/libstdcpp3.hpp,v retrieving revision 1.9 diff -u -r1.9 libstdcpp3.hpp --- libstdcpp3.hpp 30 Jun 2004 10:17:00 -0000 1.9 +++ libstdcpp3.hpp 6 Oct 2004 12:45:54 -0000 @@ -22,6 +22,12 @@ # define BOOST_NO_STD_WSTREAMBUF #endif +#if defined(__osf__) && !defined(_REENTRANT) +// GCC 3.4 on Tru64 forces the definition of _REENTRANT when any std lib header +// file is included, therefore for consistency we define it here as well. +# define _REENTRANT +#endif + #ifdef __GLIBCXX__ // gcc 3.4 and greater: # ifdef _GLIBCXX_HAVE_GTHR_DEFAULT // @@ -43,5 +49,3 @@ // support is useless. # undef BOOST_HAS_LONG_LONG #endif - -