
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!!! Markus