egcs 2.91.28 crash under FreeBSD i386

Andrew Heybey ath@niksun.com
Thu May 28 10:52:00 GMT 1998


The following program causes cc1plus to crash.  (I'm actually not sure whether 
it is a legal C++ program or not, but g++ 2.7.2.1 groks it.)

struct baz {
    int i;
    int j;
};

foo(unsigned char* bp)
{
    struct baz* baz;
    baz = (struct baz*)bp;
}

The work-around is to not name your variables with the same name as your 
structs. 

Relevant info:

stiegl 67> /usr/local/egcs-19980508/bin/g++ -v -g -c crash2.cc
Reading specs from /usr/local/egcs-19980508/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.28/specs
gcc version egcs-2.91.28 19980508 (gcc2 ss-980502 experimental)
 /usr/local/egcs-19980508/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.28/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91 -Dunix -Di386 -D__FreeBSD__=2 -D__unix__ -D__i386__ -D__FreeBSD__=2 -D__unix -D__i386 -Asystem(unix) -Asystem(FreeBSD) -Acpu(i386) -Amachine(i386) -D__EXCEPTIONS -g -Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__ -Asystem(unix) -Acpu(i386) -Amachine(i386) crash2.cc /var/tmp/cc029843.ii
GNU CPP version egcs-2.91.28 19980508 (gcc2 ss-980502 experimental) (80386, BSD syntax)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/egcs-19980508/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.28/include/g++
 /usr/local/include
 /usr/local/egcs-19980508/i386-unknown-freebsd/include
 /usr/local/egcs-19980508/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.28/include
 /usr/include
End of search list.
 /usr/local/egcs-19980508/lib/gcc-lib/i386-unknown-freebsd/egcs-2.91.28/cc1plus /var/tmp/cc029843.ii -quiet -dumpbase crash2.cc -g -version -o /var/tmp/cc029843.s
GNU C++ version egcs-2.91.28 19980508 (gcc2 ss-980502 experimental) (i386-unknown-freebsd) compiled by GNU C version egcs-2.91.28 19980508 (gcc2 ss-980502 experimental).
g++: Internal compiler error: program cc1plus got fatal signal 4





More information about the Gcc-bugs mailing list