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]

internal errors with 1.1.2pre2


Hello

I have two familly of problems with gcc 1.1.2pre2

Here is the first one:

miniussi@nice > inf : g++ -c t.cpp -v
Reading specs from
/nfs/home5/miniussi/egcs/solaris/112p2/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.91.62/specs
gcc version egcs-2.91.62 19990224 (egcs-1.1.2 pre-release-2)

/nfs/home5/miniussi/egcs/solaris/112p2/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.91.62/cpp
-lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91
-Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__sparc__ -D__sun__ -D__unix__
-D__svr4__ -D__SVR4 -D__sparc -D__sun -D__unix -Asystem(unix) -Asystem(svr4)
-D__EXCEPTIONS -D__GCC_NEW_VARARGS__ -Acpu(sparc) -Amachine(sparc) t.cpp
/var/tmp/ccgZRfA6.ii
GNU CPP version egcs-2.91.62 19990224 (egcs-1.1.2 pre-release-2) (sparc)
#include "..." search starts here:
#include <...> search starts here:
 /nfs/home5/miniussi/egcs/solaris/112p2/include/g++
 /usr/local/include
 /nfs/home5/miniussi/egcs/solaris/112p2/sparc-sun-solaris2.5.1/include

/nfs/home5/miniussi/egcs/solaris/112p2/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.91.62/include
 /usr/include
End of search list.

/nfs/home5/miniussi/egcs/solaris/112p2/lib/gcc-lib/sparc-sun-solaris2.5.1/egcs-2.91.62/cc1plus
/var/tmp/ccgZRfA6.ii -quiet -dumpbase t.cc -version -o /var/tmp/cceK53A6.s
GNU C++ version egcs-2.91.62 19990224 (egcs-1.1.2 pre-release-2)
(sparc-sun-solaris2.5.1) compiled by GNU C version egcs-2.91.62 19990224
(egcs-1.1.2 pre-release-2).
t.cpp:4: Internal compiler error.
t.cpp:4: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
t.cpp:4: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.
miniussi@nice > inf : more t.cpp

template<int i,class H>
struct reader {
  template<int j,int H::*f>  struct field {};
};
miniussi@nice > inf : 

------------------------------------------------------

miniussi@nice > inf : g++ -c t.cpp
miniussi@nice > inf : more t.cpp

template<int i,class H>
struct reader {
  template<int H::*f>  struct field {};
};
miniussi@nice > inf : 

------------------------------------------------------

miniussi@nice > inf : g++ -c t.cpp
t.cpp:4: Internal compiler error.
t.cpp:4: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
t.cpp:4: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.
You have mail in /var/mail/miniussi
miniussi@nice > inf : more t.cpp

template<class H>
struct reader {
  template<int H::*f>  struct field {};
};
miniussi@nice > inf : 

------------------------------------------------------
iniussi@nice > inf : uname -a
SunOS nice 5.5.1 Generic_103640-12 sun4u sparc SUNW,Ultra-1
miniussi@nice > inf : 

==================================

here is the second one:

miniussi@nice > inf : g++ -c t.cpp
t.cpp: In instantiation of
`::xxxxxxxxxxx::::xxxxxxxxxxx::RRRRRR<1,C,int>::::xxxxxxxxxxx::::xxxxxxxxxxx::RRRRRR<1,C,int>::fffff<1>':
t.cpp:26:   instantiated from here
t.cpp:26: Internal compiler error.
t.cpp:26: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
t.cpp:26: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.
miniussi@nice > inf : m t.cpp

namespace xxxxxxxxxxx
{
  template<int i,class H, class AT> 
  struct RRRRRR {
    struct bbbb {
      typedef H    xxxxxx_xxxx;
      typedef AT   yyyyyyyyy_xxxx;
    };
    template<AT H::*f>
    struct fffff : public bbbb {
      AT operator()(H const& h) { return h.*f;}
    };
    template<AT (H::*m)() const>
    struct mmmmmm : public bbbb {
      yyyyyyyyy_xxxx operator()(H const& h) { return (h.*m)();}
    };
  };
}


struct C { int i;};

using namespace xxxxxxxxxxx;

RRRRRR<1,C,int>::fffff<&C::i>         Ci;
miniussi@nice > inf : 

----------------------------------------

The strange thing, with the last one, is that a small change
in the source code can remove the internal error:

for example, removing an x in the namespace =>

miniussi@nice > inf : g++ -c t.cpp
miniussi@nice > inf : m t.cpp

namespace xxxxxxxxxx
{
  template<int i,class H, class AT> 
  struct RRRRRR {
    struct bbbb {
      typedef H    xxxxxx_xxxx;
      typedef AT   yyyyyyyyy_xxxx;
    };
    template<AT H::*f>
    struct fffff : public bbbb {
      AT operator()(H const& h) { return h.*f;}
    };
    template<AT (H::*m)() const>
    struct mmmmmm : public bbbb {
      yyyyyyyyy_xxxx operator()(H const& h) { return (h.*m)();}
    };
  };
}


struct C { int i;};

using namespace xxxxxxxxxx;

RRRRRR<1,C,int>::fffff<&C::i>         Ci;
miniussi@nice > inf : 



Thanks,

Alain


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