From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2004-10-06 07:51:49
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.
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
+#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
#ifdef __GLIBCXX__ // gcc 3.4 and greater:
# ifdef _GLIBCXX_HAVE_GTHR_DEFAULT
@@ -43,5 +49,3 @@
// support is useless.
# undef BOOST_HAS_LONG_LONG
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk