Exception bug in egcs-19980803 on linux
Derrick Bass
derrick@tapir.Caltech.EDU
Mon Aug 10 16:21:00 GMT 1998
This code is from the blitz compiler testsuite, slightly modified. It
works under egcs-1.0.1, but the code generated core dumps with egcs-19980803.
Here's the code:
// Exceptions
// BZ_EXCEPTIONS
#include <typeinfo>
#include <iostream>
class foo { };
int divide(int a, int b)
{
if (b == 0)
throw foo();
return a / b;
}
int main()
{
try {
divide(5,0);
}
catch(foo x) {
cout << "division by zero error" << endl;
exit(1);
}
cout << "Division worked!" << endl;
}
Here's the output from the compile command
eg++-latest -v -o except except.cc
Reading specs from /ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53/specs
gcc version egcs-2.91.53 19980803 (gcc2 ss-980609 experimental)
/ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53/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 -Asystem(unix) -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -Di686 -Dpentiumpro -D__i686 -D__i686__ -D__pentiumpro -D__pentiumpro__ except.cc /tmp/ccIsZR2H.ii
GNU CPP version egcs-2.91.53 19980803 (gcc2 ss-980609 experimental) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/ufs/murphy/derrick/gnu/egcs-19980803/include/g++
/usr/local/include
/ufs/murphy/derrick/gnu/egcs-19980803/i686-pc-linux-gnulibc1/include
/ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53/include
/usr/include
End of search list.
/ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53/cc1plus /tmp/ccIsZR2H.ii -quiet -dumpbase except.cc -version -o /tmp/ccS4eN7z.s
GNU C++ version egcs-2.91.53 19980803 (gcc2 ss-980609 experimental) (i686-pc-linux-gnulibc1) compiled by GNU C version egcs-2.91.53 19980803 (gcc2 ss-980609 experimental).
as -V -Qy -o /tmp/cctDkUs8.o /tmp/ccS4eN7z.s
GNU assembler version 960425 (i486-linux), using BFD version 2.6.0.14
/ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53/collect2 -m elf_i386 -dynamic-linker /lib/ld-linux.so.1 -o except /usr/lib/crt1.o /usr/lib/crti.o /ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53/crtbegin.o -L/ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53 -L/ufs/murphy/derrick/gnu/egcs-19980803/i686-pc-linux-gnulibc1/lib -L/ufs/murphy/derrick/gnu/egcs-19980803/lib /tmp/cctDkUs8.o -lstdc++ -lm -lgcc -lc -lgcc /ufs/murphy/derrick/gnu/egcs-19980803/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.53/crtend.o /usr/lib/crtn.o
-- Derrick Bass
More information about the Gcc-bugs
mailing list