libstdc++ regression from 4.1.1 to current live sources?

Marco Trudel mtrudel@gmx.ch
Sun Sep 24 19:12:00 GMT 2006


Hello list

I use cygwin on windows. Compiling GCC 4.1.1 source works, using the 
current subversion state, I get:

/cygdrive/d/GCC/build/./gcc/xgcc -shared-libgcc 
-B/cygdrive/d/GCC/build/./gcc -nostdinc++ 
-L/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/src 
-L/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/src/.libs 
-B/cygdrive/d/GCC/out/i686-pc-cygwin/bin/ 
-B/cygdrive/d/GCC/out/i686-pc-cygwin/lib/ -isystem 
/cygdrive/d/GCC/out/i686-pc-cygwin/include -isystem 
/cygdrive/d/GCC/out/i686-pc-cygwin/sys-include-I/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/i686-pc-cygwin 
-I/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include 
-I/cygdrive/d/GCC/source/libstdc++-v3/libsupc++ -fno-implicit-templates 
-Wall -Wextra -Wwrite-strings -Wcast-qual 
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections -g 
-O2 -c /cygdrive/d/GCC/source/libstdc++-v3/src/codecvt.cc -o codecvt.o
/cygdrive/d/GCC/source/libstdc++-v3/src/codecvt.cc:1: warning: 
-ffunction-sections may affect debugging on some targets
In file included from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/ext/type_traits.h:38,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/bits/stl_algobase.h:73,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/bits/char_traits.h:46,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/string:46,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:47,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/locale:44,
                  from 
/cygdrive/d/GCC/source/libstdc++-v3/src/codecvt.cc:30:
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:291:22: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:293:22: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:321:23: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:323:23: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:375:23: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:377:23: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:426:30: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:428:30: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:477:32: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:479:32: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:528:26: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:530:26: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:579:24: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:581:24: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:630:33: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:632:33: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:681:22: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:683:22: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:732:31: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:734:31: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:783:23: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:785:23: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:834:32: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:836:32: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:885:28: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:887:28: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:936:37: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:938:37: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:987:24: 
error:
macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:989:24: 
error:
macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1044:25: 
error:
  macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1046:25: 
error:
  macro "max" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1101:30: 
error:
  macro "min" requires 2 arguments, but only 1 given
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1103:30: 
error:
  macro "max" requires 2 arguments, but only 1 given
In file included from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/ext/type_traits.h:38,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/bits/stl_algobase.h:73,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/bits/char_traits.h:46,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/string:46,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:47,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/locale:44,
                  from 
/cygdrive/d/GCC/source/libstdc++-v3/src/codecvt.cc:30:
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:291: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:293: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:293: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:296: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:321: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:323: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:323: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:326: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:375: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:377: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:377: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:380: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:426: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:428: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:428: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:431: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:477: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:479: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:479: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:482: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:528: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:530: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:530: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:533: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:579: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:581: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:581: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:584: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:630: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:632: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:632: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:635: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:681: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:683: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:683: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:686: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:732: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:734: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:734: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:737: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:783: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:785: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:785: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:788: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:834: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:836: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:836: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:839: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:885: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:887: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:887: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:890: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:936: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:938: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:938: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:941: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:987: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:989: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:989: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:992: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1044: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1046: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1046: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1049: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1101: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1103: 
error: expected `;' before 'static'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1103: 
error: expected ';' before 'throw'
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/limits:1106: 
error: expected `;' before 'static'
In file included from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/string:47,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/bits/locale_classes.h:47,
                  from 
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/locale:44,
                  from 
/cygdrive/d/GCC/source/libstdc++-v3/src/codecvt.cc:30:
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/memory: In 
function 'std::pair<_Tp*, int> std::__get_temporary_buffer(ptrdiff_t, 
_Tp*)':
/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/include/memory:77: 
error: 'max' is not a member of 'std::numeric_limits<int>'
make[4]: *** [codecvt.lo] Error 1
make[4]: Leaving directory 
`/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3/src'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory 
`/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3'
make[2]: *** [all] Error 2
make[2]: Leaving directory 
`/cygdrive/d/GCC/build/i686-pc-cygwin/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/cygdrive/d/GCC/build'
make: *** [all] Error 2


I compile with:
/cygdrive/d/GCC/source/configure --prefix=/cygdrive/d/GCC/out \
     --enable-languages=c,c++,java \
     --disable-nls --disable-debug --disable-shared --disable-checking \
     --enable-threads=win32 --disable-win32-registry 
--enable-sjlj-exceptions \
     --enable-libgcj

I get the same error when using gcc 4.1.1 and 3.4.5 as the compiler...

The only difference between the 4.1.1 and 4.2.0 source I see, is that
	namespace std { ... }
changed to:
	_GLIBCXX_BEGIN_NAMESPACE(std)
	...
	_GLIBCXX_END_NAMESPACE
But actually I don't know where to look excactly...


Anyone having an idea?

thanks
Marco



More information about the Gcc-help mailing list