Sigsegv egcs 1.0.1 duplicated "template <..>" clause
Gregory Bond
gnb@itga.com.au
Tue Jun 30 00:18:00 GMT 1998
The following admittedly bogus code code causes egcs to sigsev (Sun Sparc,
Ultra450, Solaris 2.6)
Removing either the bogus extra "template <...>" at line 4 or the member
template constructor means we get the expected errors rather than coredump.
----------------
template <int digits, class T = bool> class F;
template <int digits, class T>
template <int digits, class T>
F<digits, T> operator+(F<digits, T>, F<digits, T>);
template <int digits, class T = bool> class F
{
public:
F(); // Initialized to 0
// Do scale conversion
template <int n> F(F<n, T>);
};
typedef F<2,bool> f2;
void bar()
{
f2 a, b;
a + b;
}
/*
g++ -v -c tt3.C
Reading specs from /usr/local/egcs/lib/gcc-lib/sparc-sun-solaris2.6/egcs-2.90.23/specs
gcc version egcs-2.90.23 980102 (egcs-1.0.1 release)
/usr/local/egcs/lib/gcc-lib/sparc-sun-solaris2.6/egcs-2.90.23/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=90 -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) tt3.C /var/tmp/cc0wtg78.ii
GNU CPP version egcs-2.90.23 980102 (egcs-1.0.1 release) (sparc)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/egcs/include/g++
/usr/local/include
/usr/local/egcs/sparc-sun-solaris2.6/include
/usr/local/egcs/lib/gcc-lib/sparc-sun-solaris2.6/egcs-2.90.23/include
/usr/include
End of search list.
/usr/local/egcs/lib/gcc-lib/sparc-sun-solaris2.6/egcs-2.90.23/cc1plus /var/tmp/cc0wtg78.ii -quiet -dumpbase tt3.cc -version -o /var/tmp/cc0wtg78.s
GNU C++ version egcs-2.90.23 980102 (egcs-1.0.1 release) (sparc-sun-solaris2.6) compiled by GNU C version egcs-2.90.23 980102 (egcs-1.0.1 release).
tt3.C: In function `void bar()':
tt3.C:21: Internal compiler error.
tt3.C:21: Please submit a full bug report to `egcs-bugs@cygnus.com'.
*/
More information about the Gcc-bugs
mailing list