libstdc++ fails to bootstrap on Tru64 UNIX as of 20060710: /vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/./gcc/xgcc -shared-libgcc -B/vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/./gcc -nostdinc++ -L/vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/alpha-dec-osf4.0f/libstdc++-v3/src -L/vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/alpha-dec-osf4.0f/libstdc++-v3/src/.libs -B/vol/gcc/share/alpha-dec-osf4.0f/bin/ -B/vol/gcc/share/alpha-dec-osf4.0f/lib/ -isystem /vol/gcc/share/alpha-dec-osf4.0f/include -isystem /vol/gcc/share/alpha-dec-osf4.0f/sys-include -Winvalid-pch -Wno-deprecated -x c++-header -g -O2 -mieee -I/vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/alpha-dec-osf4.0f/libstdc++-v3/include/alpha-dec-osf4.0f -I/vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/alpha-dec-osf4.0f/libstdc++-v3/include -I/vol/gccsrc/src/gcc/libstdc++-v3/libsupc++ -O2 -g /vol/gccsrc/src/gcc/libstdc++-v3/include/precompiled/stdtr1c++.h -o alpha-dec-osf4.0f/bits/stdtr1c++.h.gch/O2g.gch /vol/gccsrc/src/gcc/libstdc++-v3/include/precompiled/stdtr1c++.h:30:25: warning: /vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/alpha-dec-osf4.0f/libstdc++-v3/include/alpha-dec-osf4.0f/bits/stdc++.h.gch/O0g.gch: not used because `__NO_INLINE__' not defined /vol/gccsrc/obj/gcc-4.2.0-20060710/4.0f-gcc/alpha-dec-osf4.0f/libstdc++-v3/include/tr1/random:1983: error: expected ',' or '...' before numeric constant
This happens because tr1/random uses __alpha template<typename _RealType> class gamma_distribution { [...] explicit gamma_distribution(const result_type& __alpha = result_type(1)) : _M_alpha(__alpha) which is predefined as 1 on Tru64 UNIX (and probably other alpha systems). This was introduced by this patch: 2006-07-06 Paolo Carlini <[EMAIL PROTECTED]> * include/tr1/random (class gamma_distribution<>): Add. Environment: System: OSF1 haydn V4.0 1229 alpha Machine: alpha host: alpha-dec-osf4.0f build: alpha-dec-osf4.0f target: alpha-dec-osf4.0f configured with: /vol/gcc/src/gcc/configure --prefix=/vol/gcc --with-local-prefix=/vol/gcc --disable-nls --host alpha-dec-osf4.0f --build alpha-dec-osf4.0f --target alpha-dec-osf4.0f --with-gmp-dir=/vol/gnu/obj/gmp-4.1.3 --with-mpfr-dir=/vol/gnu/obj/gmp-4.1.3/mpfr --enable-languages=c,c++,fortran,java,objc,ada --disable-libmudflap How-To-Repeat: Bootstrap as described above. ------- Comment #1 from ro at techfak dot uni-bielefeld dot de 2006-07-11 15:29 ------- Fix: This patch works around this issue: Index: libstdc++-v3/include/tr1/random =================================================================== --- libstdc++-v3/include/tr1/random (revision 115313) +++ libstdc++-v3/include/tr1/random (working copy) @@ -46,6 +46,8 @@ #include <tr1/type_traits> #include <fstream> +#undef __alpha + namespace std { _GLIBCXX_BEGIN_NAMESPACE(tr1) -- Summary: [4.2 Regression] Use of __alpha in tr1/random breaks Tru64 UNIX bootstrap Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: ro at techfak dot uni-bielefeld dot de GCC build triplet: alpha-dec-osf4.0f GCC host triplet: alpha-dec-osf4.0f GCC target triplet: alpha-dec-osf4.0f http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28344