971031 internal compiler error (in reload, exceptions-related)

Joe Buck jbuck@synopsys.com
Wed Nov 5 14:06:00 GMT 1997


Compiling the following program with egcs-971031 on Solaris/sparc
with -O causes an internal compiler error.  Line 548 contains "throw;".

This is a fairly severe bug, as it affects many programs that use vectors
of class objects.

% ~/egcs/bin/gcc -O x2.cxx
/u/jbuck/egcs/include/g++/algobase.h: In function `class SomeClass * __uninitialized_copy_aux<const SomeClass *, SomeClass *>(const class SomeClass *, const class SomeClass *, class SomeClass *, struct __false_type)':
/u/jbuck/egcs/include/g++/algobase.h:548: Internal compiler error.
/u/jbuck/egcs/include/g++/algobase.h:548: Please submit a full bug report to `egcs-bugs@cygnus.com'.

cc1plus blows up in reload_cse_noop_set_p.

--------------------------
#include <algobase.h>

struct SomeClass {
    int data;
};

void foo(const SomeClass* arg1, const SomeClass* arg2, SomeClass* arg3)
{
    __false_type foo;
    __uninitialized_copy_aux(arg1, arg2, arg3, foo);
}



More information about the Gcc mailing list