On Fri, Mar 6, 2009 at 1:48 PM, Piotr Wyderski <piotr.wyder...@gmail.com> wrote:
> 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

Where is windows.h included?  I guess the libstdc++ headers should
be fixed to #define NOMINMAX in the algorithms headers or cygwin
should define this macro unconditionally.

> 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.

During what part of compilation is CONST_CAST2 a problem?

Richard.

> Best regards,
> Piotr Wyderski
>

Reply via email to