m68k-*-*bsd `Internal compiler error' mostly tracked down

Marc Espie espie@quatramaran.ens.fr
Tue Feb 24 07:41:00 GMT 1998


The story so far:

I've started trying to build egcs on an m68k-unknown-openbsd system
quite recently. Every snapshot has given me an internal compiler error
while trying to build the instantiation of class complex<float>;
more precisely complex& operator += (const complex&); 
(as far as I could tell).

Trying to run cc1plus under gdb has given me a segmentation fault instead.

With the help of Ingolf Koch, we managed to track down the problem to
the change between egcs-971215 and egcs-971225.   

My computer is currently building an half-backed snapshot in-between.
Namely, applying all the gcc/g++/68k related diffs does trigger the bug,
applying only the gcc/68k related diffs (plus cp/decl2.c, which seems
to be linked to the eh changes) does not, and I'm checking whether applying
only the g++ related changes does, which would narrow it down to a measly
30K of code.

This is most probably a code-generation bug, as it does not seem to occur
on any other architecture.

I would probably need some help at that point, as I'm not too familiar with
what's going on inside g++. For instance:

- is there any simple way I could get a detailed history of what was changed
between 971215 and 971225 ? Especially coherent changes to the g++ code.
- what should I look for ?



More information about the Gcc-bugs mailing list