g++: ice 390 assert NULL

Peter Schmid schmid@ltoi.iap.physik.tu-darmstadt.de
Sun Jun 7 13:00:00 GMT 1998


When I compile the following file with egcs-2.91.34 on an 
i386-pc-linux-gnulibc1 system the compilation crashes with an internal
compiler error. This did not happen with the previous egcs
snapshot. Changing NULL to 0 eliminates the problem.

Peter Schmid

cat t.C

#include <fstream.h>
#include <assert.h>

void
save(const char* fname)
{
    ofstream datfile;

    datfile.open(fname,ios::out);
    assert(datfile!=NULL);
}

g++ -v -c t.C -W -Wall
Reading specs from /usr/lib/gcc-lib/i386-pc-linux-gnulibc1/egcs-2.91.34/specs
gcc version egcs-2.91.34 19980530 (gcc2 ss-980502 experimental) 
 /usr/lib/gcc-lib/i386-pc-linux-gnulibc1/egcs-2.91.34/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__i386__ -Asystem(unix)
-Acpu(i386) -Amachine(i386) t.C /dos/tmp/cca01579.ii 
GNU CPP version egcs-2.91.34 19980530 (gcc2 ss-980502 experimental)
(i386 Linux/ELF) 
#include "..." search starts here:
#include <...> search starts here:
 /usr/include/g++
 /usr/local/include
 /usr/i386-pc-linux-gnulibc1/include
 /usr/lib/gcc-lib/i386-pc-linux-gnulibc1/egcs-2.91.34/include
 /usr/include
End of search list.
 /usr/lib/gcc-lib/i386-pc-linux-gnulibc1/egcs-2.91.34/cc1plus
/dos/tmp/cca01579.ii -quiet -dumpbase t.cc -W -Wall -version -o
/dos/tmp/cca01579.s 
GNU C++ version egcs-2.91.34 19980530 (gcc2 ss-980502 experimental)
(i386-pc-linux-gnulibc1) compiled by GNU C version egcs-2.91.34
19980530 (gcc2 ss-980502 experimental). 
t.C: In function `void save(const char *)':
t.C:10: Internal compiler error 390.
t.C:10: Please submit a full bug report to `egcs-bugs@cygnus.com'.




More information about the Gcc-bugs mailing list