This build problem has been occuring for at least a month,
both on the most recent snapshots and on trunk.
The compiler is configured as follows:
../configure --prefix=/opt/gcc-4.4.0-20090227 -v --enable-bootstrap
--enable-version-specific-runtime-libs --enable-static --enable-shared
--enable-shared-libgcc --with-gnu-ld --with-gnu-as --enable-sjlj-exceptions
--enable-languages=c,c++ --disable-symvers --enable-libjava --disable-nls
--with-cpu-32=core2 --with-cpu-64=core2 --enable-threads=win32
There are actually two problems in libstdc++. The first one is is caused
by the existence of the min/max macros, injected by windows.h.
make CCXFLAGS=-DNOMINMAX
solves the issue. The next one is more serious. The file gthr-default.h,
line 620 contains the macro
#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE
_q; TOTYPE _nq;})(X))._nq)
but the compiler claims that it is not allowed to declare a type within a cast.
I've temporarily replaced it with
#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)(X))
and that solved the issue, however, a cleaner patch should be applied.
Best regards,
Piotr Wyderski