
On Thu, Oct 07, 2004 at 04:24:56PM +0200, Markus Sch?pflin wrote:
John Maddock wrote:
In which case I'm lost as to why the config headers aren't doing the right thing anyway - including <utility> should be enough solve the issue as it does on linux :-(
I think I found the reason why it doesn't work. As we all known by now, _REENTRANT is defined in a header included by "gthr.h".
schoepf@AREA51:/opt/gcc/include/c++/3.4.2> /usr/local/bin/grep -r "gthr.h" . ./fstream:#include <bits/gthr.h> ./bits/concurrence.h:#include "bits/gthr.h" ./bits/locale_classes.h:#include <bits/gthr.h> ./bits/stl_threads.h:// The only supported threading model is GCC's own gthr.h abstraction ./bits/stl_threads.h:#include "bits/gthr.h" ./ext/bitmap_allocator.h:#include <bits/gthr.h> ./ext/mt_allocator.h:#include <bits/gthr.h> ./ext/rope:# include <bits/gthr.h> ./ext/rope:#error __GTHREAD_MUTEX_INIT or __GTHREAD_MUTEX_INIT_FUNCTION should be defined by gthr.h abstraction layer, report problem to libstdc++@gcc.gnu.org. ./alphaev56-dec-osf5.1/bits/c++io.h:#include <bits/gthr.h>
And none of these headers is included by <utility>.
But as soon as you use any I/O headers, the file gets included via "c++io.h" which is included by <iosfwd>. :-(
What a mess!!!
Indeed. I'll ask about this on the libstdc++ list. jon -- "Capitalism is the extraordinary belief that the nastiest of men, for the nastiest of reasons, will somehow work for the benefit of us all." - John Maynard Keynes