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]

g++: Internal compiler error, friends smart pointers stl


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














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