This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
g++: Internal compiler error, friends smart pointers stl
- To: egcs-bugs at cygnus dot com
- Subject: g++: Internal compiler error, friends smart pointers stl
- From: Peter Schmid <schmid at ltoi dot iap dot physik dot tu-darmstadt dot de>
- Date: Mon, 4 May 1998 21:59:23 +0200 (MEST)
The following file generates an internal compiler error.
With egcs-2.91.16 (980328) there is no problem.
Peter Schmid
cat p2.C
#include <list>
using namespace std;
template <class T>
class Ptr {
private:
T* adr;
public:
Ptr (T& t)
: adr(&t) {
}
friend bool operator==<T> (const Ptr<T>& lhs, const Ptr<T>& rhs);
friend bool operator< <T> (const Ptr<T>& lhs, const Ptr<T>& rhs);
};
template <class T>
inline bool operator== (const Ptr<T>& lhs, const Ptr<T>& rhs)
{
return *lhs.adr == *rhs.adr;
}
template <class T>
inline bool operator< (const Ptr<T>& lhs, const Ptr<T>& rhs)
{
return *lhs.adr < *rhs.adr;
}
int main()
{
typedef Ptr<int> IntPtr;
list<IntPtr> menge1;
}
cd ~/ftp/
g++ -v -o p2 p2.C -W -Wall
Reading specs from
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91.26/specs
gcc version egcs-2.91.26 19980502 (gcc2 ss-980401 experimental)
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91..26/cpp
-lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus
-D__GNUC_MINOR__=91 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__
-D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -W -Wall
-Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__pentium__
-D__i586__ -D__i386__ -Asystem(unix) -Acpu(i386) -Amachine(i386)
-D__pentium__ -D__i586__ p2.C /tmp/cca07375.ii GNU CPP version
egcs-2.91.26 19980502 (gcc2 ss-980401 experimental) (i386 Linux/ELF)
#include "..." search starts here: #include <...> search starts here:
/usr/local/include/g++
/usr/local/include
/usr/local/i586-pc-linux-gnulibc1/include
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91.26/include
/usr/include
End of search list.
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91.26/cc1plus
/tmp/cca07375.ii -quiet -dumpbase p2.cc -W -Wall -version -o
/tmp/cca07375.s GNU C++ version egcs-2.91.26 19980502 (gcc2 ss-980401
experimental) (i586-pc-linux-gnulibc1) compiled by GNU C version
egcs-2.91.26 19980502 (gcc2 ss-980401 experimental).
/usr/local/include/g++/stl_list.h: g++: Internal compiler error:
program cc1plus got fatal signal 11
Compilation exited abnormally with code 1 at Mon May 4 19:10:04 cd
~/ftp/ g++ -v -o p2 p2.C -W -Wall Reading specs from
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91.26/specs gcc
version egcs-2.91.26 19980502 (gcc2 ss-980401 experimental)
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91.26/cpp
-lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus
-D__GNUC_MINOR__=91 -D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__
-D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -W -Wall
-Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__pentium__
-D__i586__ -D__i386__ -Asystem(unix) -Acpu(i386) -Amachine(i386)
-D__pentium__ -D__i586__ p2.C /tmp/cca07375.ii GNU CPP version
egcs-2.91.26 19980502 (gcc2 ss-980401 experimental) (i386 Linux/ELF)
#include "..." search starts here: #include <...> search starts here:
/usr/local/include/g++
/usr/local/include
/usr/local/i586-pc-linux-gnulibc1/include
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91.26/include
/usr/include
End of search list.
/usr/local/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.91.26/cc1plus
/tmp/cca07375.ii -quiet -dumpbase p2.cc -W -Wall -version -o
/tmp/cca07375.s GNU C++ version egcs-2.91.26 19980502 (gcc2 ss-980401
experimental) (i586-pc-linux-gnulibc1) compiled by GNU C version
egcs-2.91.26 19980502 (gcc2 ss-980401 experimental).
/usr/local/include/g++/stl_list.h: g++: Internal compiler error:
program cc1plus got fatal signal 11