c++ internal compiler error

Joe Buck jbuck@synopsys.com
Fri Oct 10 17:21:00 GMT 1997


The program foo.cxx below, when compiled with "gcc -O foo.cxx" with
191008, gives

/u/jbuck/egcs/include/g++/algobase.h: In function `void
__uninitialized_fill_aux<pair<int,int> *, pair<int,int>>(struct
pair<int,int> *, struct pair<int,int> *, const struct pair<int,int> &,
struct __false_type)':
/u/jbuck/egcs/include/g++/algobase.h:641: Internal compiler error.
/u/jbuck/egcs/include/g++/algobase.h:641: Please submit a full bug report
to `egcs-bugs@cygnus.com'.

on sparc-sun-solaris2.5.1

(this is a pared-down case that arises in programs that put a pair in
a vector or queue, e.g. the tdeque example we were discussing earlier).

The offending line in algobase.h is a "throw" statement; -fno-exceptions
eliminates the problem.

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

void foo(pair<int,int>* p, const pair<int,int>& q)
{
    __uninitialized_fill_aux(p, p, q, __false_type());
}



More information about the Gcc mailing list