This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Bug report
- To: gcc-bugs at gcc dot gnu dot org
- Subject: Bug report
- From: Jan Dvorak <johnydog at go dot cz>
- Date: Thu, 20 Apr 2000 21:00:44 +0200
Hi,
gcc shows me ICE when compiling file ArenaReplay.cc from
http://download.sourceforge.net/RealTimeBattle/RealTimeBattle-1.0.3.tar.gz
i simplified to few routines, so it still reports the same error. I've
attached that simplified file preprocessed. ICE was reported by
cvs 20000408 and by current cvs (20000420), when this file was compiled
with
-O2 or greater. When used -O1 the file was compiled successfully.
Command line:
g++ -O2 -c ArenaReplay.cc
Error:
ArenaReplay.cc: In method `void ArenaReplay::parse_log_line_forward
ArenaReplay.cc: (char)':
ArenaReplay.cc:43: Internal compiler error.
ArenaReplay.cc:43: Please submit a full bug report.
ArenaReplay.cc:43: See <URL:http://www.gnu.org/software/gcc/bugs.html>
ArenaReplay.cc:43: for instructions.
Machine:
Linux napalm.go.cz 2.2.14 #1 Sun Mar 26 13:59:10 CEST 2000 i586 unknown
gcc -v:
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.96/specs
gcc version 2.96 20000420 (experimental)
gcc -v --save-temps -O2 -c ArenaReplay.cc:
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.96/specs
gcc version 2.96 20000420 (experimental)
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.96/cpp -lang-c++ -v -iprefix
/usr/bin/../lib/gcc-lib/i586-pc-linux-gnu/2.96/ -D__GNUC__=2
-D__GNUG__=2 -D__GNUC_MINOR__=96 -D__GNUC_PATCHLEVEL__=0 -D__cplusplus
-D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix
-D__linux -Asystem(posix) -D__EXCEPTIONS -D__OPTIMIZE__ -Acpu(i386)
-Amachine(i386) -Di386 -D__i386 -D__i386__ -D__tune_pentium__
ArenaReplay.cc ArenaReplay.ii
GNU CPP version 2.96 20000420 (experimental) (cpplib)
(i386 Linux/ELF)
ignoring nonexistent directory `/usr/local/qt/include'
ignoring nonexistent directory `/usr/include/g++-3'
ignoring nonexistent directory
`/usr/lib/gcc-lib/i586-pc-linux-gnu/2.96/include'
ignoring nonexistent directory `/usr/i586-pc-linux-gnu/include'
#include "..." search starts here:
#include <...> search starts here:
.
/usr/local/include/g++-3
/usr/local/include
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.96/include
/usr/local/i586-pc-linux-gnu/include
/usr/include
End of search list.
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.96/cc1plus ArenaReplay.ii
-quiet -dumpbase ArenaReplay.cc -O2 -version -o ArenaReplay.s
GNU C++ version 2.96 20000420 (experimental) (i586-pc-linux-gnu)
compiled by GNU C version 2.96 20000420 (experimental).
ArenaReplay.cc: In method `void ArenaReplay::parse_log_line_forward
ArenaReplay.cc: (char)':
ArenaReplay.cc:43: Internal compiler error.
ArenaReplay.cc:43: Please submit a full bug report.
ArenaReplay.cc:43: See <URL:http://www.gnu.org/software/gcc/bugs.html>
ArenaReplay.cc:43: for instructions.
# 1 "ArenaReplay.cc"
template<class T>
struct ListIterator
{
int* listp;
inline T* operator() () const;
};
template <class T>
class List
{
public:
void insert_last( T* );
};
class String
{
public:
String(const char* str);
~String();
};
void Error(const bool fatal, const String& error_msg, const String& function_name);
template <class T>
inline T*
ListIterator<T>::operator() () const
{
if ( listp == 0x0 ) Error(true, "NULL pointer", "ListIterator::operator()");
}
class ArenaReplay
{
public:
void parse_log_line_forward ( const char first_letter );
};
void
ArenaReplay::parse_log_line_forward( const char first_letter )
{
ListIterator<ArenaReplay> li2;
List<ArenaReplay> object_lists[5];
object_lists[0].insert_last( li2() );
}