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

Reply via email to