This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

l'0514 libstdc++ fails building powerpc/limitsMEMBERS.cc on rs6000-ibm-aix4.2.0.0


make[8]: Entering directory `/devel/tmp/gcc-20010514.obj/rs6000-ibm-aix4.2.0.0/powerpc/libstdc++-v3/src'
/bin/sh ../libtool --tag CXX --mode=compile /devel/tmp/gcc-20010514.obj/gcc/xgcc -B/devel/tmp/gcc-20010514.obj/gcc/ -nostdinc++
-L/devel/tmp/gcc-20010514.obj/rs6000-ibm-aix4.2.0.0/powerpc/libstdc++-v3/src
-L/devel/tmp/gcc-20010514.obj/rs6000-ibm-aix4.2.0.0/powerpc/libstdc++-v3/src/.libs -B/usr/local/rs6000-ibm-aix4.2.0.0/bin/
-B/usr/local/rs6000-ibm-aix4.2.0.0/lib/ -isystem /usr/local/rs6000-ibm-aix4.2.0.0/include  -mcpu=powerpc -nostdinc++
-I../../../../../gcc-20010514/libstdc++-v3/include -I../../../../../gcc-20010514/libstdc++-v3/include/std
-I../../../../../gcc-20010514/libstdc++-v3/include/c_std -I../include       -I../../../../../gcc-20010514/libstdc++-v3/libsupc++ -I../libio
-I../../../../../gcc-20010514/libstdc++-v3/libio -I../../../../../gcc-20010514/libstdc++-v3/libmath                -g -O2  -mcpu=powerpc
-fno-implicit-templates       -Wall -Wno-format -W -Wwrite-strings -Winline  -fdiagnostics-show-location=once        -g    -c limitsMEMBERS.cc
mkdir .libs
/devel/tmp/gcc-20010514.obj/gcc/xgcc -B/devel/tmp/gcc-20010514.obj/gcc/ -nostdinc++
-L/devel/tmp/gcc-20010514.obj/rs6000-ibm-aix4.2.0.0/powerpc/libstdc++-v3/src
-L/devel/tmp/gcc-20010514.obj/rs6000-ibm-aix4.2.0.0/powerpc/libstdc++-v3/src/.libs -B/usr/local/rs6000-ibm-aix4.2.0.0/bin/
-B/usr/local/rs6000-ibm-aix4.2.0.0/lib/ -isystem /usr/local/rs6000-ibm-aix4.2.0.0/include -mcpu=powerpc -nostdinc++
-I../../../../../gcc-20010514/libstdc++-v3/include -I../../../../../gcc-20010514/libstdc++-v3/include/std
-I../../../../../gcc-20010514/libstdc++-v3/include/c_std -I../include -I../../../../../gcc-20010514/libstdc++-v3/libsupc++ -I../libio
-I../../../../../gcc-20010514/libstdc++-v3/libio -I../../../../../gcc-20010514/libstdc++-v3/libmath -g -O2 -mcpu=powerpc -fno-implicit-templates -Wall
 -Wno-format -W -Wwrite-strings -Winline -fdiagnostics-show-location=once -g -c limitsMEMBERS.cc   -DPIC -o .libs/limitsMEMBERS.o
limitsMEMBERS.cc:38: semicolon missing after declaration of
   `std::numeric_limits<bool>'
limitsMEMBERS.cc:38: parse error before `namespace'
limitsMEMBERS.cc:38: ISO C++ forbids defining types within return type
limitsMEMBERS.cc:38: syntax error before `{' token
limitsMEMBERS.cc:59: `const bool std::numeric_limits<bool>::traps' is not a
   static member of `struct std::numeric_limits<bool>'
limitsMEMBERS.cc:59: uninitialized const `std::numeric_limits<bool>::traps'
limitsMEMBERS.cc:60: `const bool std::numeric_limits<bool>::tinyness_before' is
   not a static member of `struct std::numeric_limits<bool>'
limitsMEMBERS.cc:60: uninitialized const
   `std::numeric_limits<bool>::tinyness_before'
limitsMEMBERS.cc:61: `const std::float_round_style
   std::numeric_limits<bool>::round_style' is not a static member of `struct
   std::numeric_limits<bool>'
limitsMEMBERS.cc:61: uninitialized const
   `std::numeric_limits<bool>::round_style'
make[8]: *** [limitsMEMBERS.lo] Error 1
make[8]: Leaving directory `/devel/tmp/gcc-20010514.obj/rs6000-ibm-aix4.2.0.0/powerpc/libstdc++-v3/src'

find . -name 'limitsM*.o' -print | xargs sum
49624    66 ./rs6000-ibm-aix4.2.0.0/libstdc++-v3/src/.libs/limitsMEMBERS.o
58320    66 ./rs6000-ibm-aix4.2.0.0/soft-float/libstdc++-v3/src/.libs/limitsMEMBERS.o
29453    66 ./rs6000-ibm-aix4.2.0.0/power/libstdc++-v3/src/.libs/limitsMEMBERS.o
$ find . -name 'limitsM*.cc' -print | xargs sum
31671    17 ./rs6000-ibm-aix4.2.0.0/libstdc++-v3/src/limitsMEMBERS.cc
31671    17 ./rs6000-ibm-aix4.2.0.0/soft-float/libstdc++-v3/src/limitsMEMBERS.cc
31671    17 ./rs6000-ibm-aix4.2.0.0/soft-float/power/libstdc++-v3/src/limitsMEMBERS.cc
39758     3 ./rs6000-ibm-aix4.2.0.0/soft-float/powerpc/libstdc++-v3/src/limitsMEMBERS.cc
31671    17 ./rs6000-ibm-aix4.2.0.0/power/libstdc++-v3/src/limitsMEMBERS.cc
39758     3 ./rs6000-ibm-aix4.2.0.0/powerpc/libstdc++-v3/src/limitsMEMBERS.cc

The smaller limitsMEMBERS.cc in the powerpc directories are lacking the
declarations for

{,signed ,unsigned }char
{,unsigned }short
{,unsigned }int
{,unsigned }long
float
{,long }double

32  //
33  // ISO C++ 14882:1998
34  // 18.2.1
35  //
36
37  #include <bits/std_limits.h>
38  namespace std {
39
40      const bool numeric_limits<bool>::is_specialized;
41      const int  numeric_limits<bool>::digits;
42      const int  numeric_limits<bool>::digits10;

# limitsMEMBERS.ii

# 37 "limitsMEMBERS.cc"
# 1 "../include/bits/std_limits.h" 1
# 45 "../include/bits/std_limits.h"
# 1 "../include/bits/c++config.h" 1
# 34 "../include/bits/c++config.h"
# 1 "../include/bits/os_defines.h" 1
# 35 "../include/bits/c++config.h" 2
# 46 "../include/bits/std_limits.h" 2
# 1 "../../../../../gcc-20010514/libstdc++-v3/include/c_std/bits/std_cfloat.h" 1
# 40 "../../../../../gcc-20010514/libstdc++-v3/include/c_std/bits/std_cfloat.h" 3
# 1 "/usr/include/float.h" 1 3 4
# 36 "/usr/include/float.h" 3 4
# 1 "/usr/include/standards.h" 1 3 4
# 37 "/usr/include/float.h" 2 3 4
# 201 "/usr/include/float.h" 3 4
# 1 "/usr/include/sys/limits.h" 1 3 4
# 202 "/usr/include/float.h" 2 3 4




        extern unsigned int SINFINITY;
        extern unsigned int _DBLINF[2];
        extern unsigned int SQNAN;
        extern unsigned int DQNAN[2];
        extern unsigned int SSNAN;
        extern unsigned int DSNAN[2];
# 237 "/usr/include/float.h" 3 4
typedef unsigned short fprnd_t;
# 246 "/usr/include/float.h" 3 4
fprnd_t fp_read_rnd(void);
fprnd_t fp_swap_rnd(fprnd_t rnd);
# 41 "../../../../../gcc-20010514/libstdc++-v3/include/c_std/bits/std_cfloat.h" 2 3
# 47 "../include/bits/std_limits.h" 2

namespace std {

    enum float_round_style {
        round_indeterminate = -1,
        round_toward_zero = 0,
        round_to_nearest = 1,
        round_toward_infinity = 2,
        round_toward_neg_infinity = 3
    };

    enum float_denorm_style {
        denorm_indeterminate = -1,
        denorm_absent = 0,
        denorm_present = 1
    };

    template<typename _Tp> struct numeric_limits {
        static const bool is_specialized = false;

        static _Tp min() throw() { return static_cast<_Tp>(0); }
        static _Tp max() throw() { return static_cast<_Tp>(0); }

        static const int digits = 0;
        static const int digits10 = 0;
        static const bool is_signed = false;
        static const bool is_integer = false;
        static const bool is_exact = false;
        static const int radix = 0;

        static _Tp epsilon() throw() { return static_cast<_Tp>(0); }
        static _Tp round_error() throw() { return static_cast<_Tp>(0); }

        static const int min_exponent = 0;
        static const int min_exponent10 = 0;
        static const int max_exponent = 0;
        static const int max_exponent10 = 0;

        static const bool has_infinity = false;
        static const bool has_quiet_NaN = false;
        static const bool has_signaling_NaN = false;
        static const float_denorm_style has_denorm = denorm_absent;
        static const bool has_denorm_loss = false;

        static _Tp infinity() throw() { return static_cast<_Tp>(0); }
        static _Tp quiet_NaN() throw() { return static_cast<_Tp>(0); }
        static _Tp signaling_NaN() throw() { return static_cast<_Tp>(0); }
        static _Tp denorm_min() throw() { return static_cast<_Tp>(0); }

        static const bool is_iec559 = false;
        static const bool is_bounded = false;
        static const bool is_modulo = false;

        static const bool traps = false;
        static const bool tinyness_before = false;
        static const float_round_style round_style = round_toward_zero;
    };

    template<typename _Tp> _Tp __limits_infinity();
    template<typename _Tp> _Tp __limits_quiet_NaN();
    template<typename _Tp> _Tp __limits_signaling_NaN();
    template<typename _Tp> _Tp __limits_denorm_min();

    template<> struct numeric_limits<bool> {
        static const bool is_specialized = true;

        static bool min() throw()
        { return false; }
        static bool max() throw()
        { return true; }

        static const int digits = 8;
        static const int digits10 = 2;
        static const bool is_signed = false;
        static const bool is_integer = true;
        static const bool is_exact = true;
        static const int radix = 2;
        static bool epsilon() throw()
        { return 0; }
        static bool round_error() throw()
        { return 0; }

        static const int min_exponent = 0;
        static const int min_exponent10 = 0;
        static const int max_exponent = 0;
        static const int max_exponent10 = 0;

        static const bool has_infinity = false;
        static const bool has_quiet_NaN = false;
        static const bool has_signaling_NaN = false;
        static const float_denorm_style has_denorm = denorm_absent;
        static const bool has_denorm_loss = false;

        static bool infinity() throw()
        { return static_cast<bool>(0); }
        static bool quiet_NaN() throw()
        { return static_cast<bool>(0); }
        static bool signaling_NaN() throw()
        { return static_cast<bool>(0); }
        static bool denorm_min() throw()
        { return static_cast<bool>(0); }

        static const bool is_iec559 = true;
        static const bool is_bounded = true;
        static const bool is_modulo = true;

}
# 38 "limitsMEMBERS.cc" 2
namespace std {

    const bool numeric_limits<bool>::is_specialized;
    const int numeric_limits<bool>::digits;
    const int numeric_limits<bool>::digits10;
    const bool numeric_limits<bool>::is_signed;
    const bool numeric_limits<bool>::is_integer;
    const bool numeric_limits<bool>::is_exact;
    const int numeric_limits<bool>::radix;
    const int numeric_limits<bool>::min_exponent;
    const int numeric_limits<bool>::min_exponent10;
    const int numeric_limits<bool>::max_exponent;
    const int numeric_limits<bool>::max_exponent10;
    const bool numeric_limits<bool>::has_infinity;
    const bool numeric_limits<bool>::has_quiet_NaN;
    const bool numeric_limits<bool>::has_signaling_NaN;
    const float_denorm_style numeric_limits<bool>::has_denorm;
    const bool numeric_limits<bool>::has_denorm_loss;
    const bool numeric_limits<bool>::is_iec559;
    const bool numeric_limits<bool>::is_bounded;
    const bool numeric_limits<bool>::is_modulo;
    const bool numeric_limits<bool>::traps;
    const bool numeric_limits<bool>::tinyness_before;
    const float_round_style numeric_limits<bool>::round_style;
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]