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

Reply via email to