------- Additional Comments From micis at gmx dot de 2004-09-30 11:29 -------
After compiling ~2500 files I found one where this error still occures.
Below is a reduced testcase.
/usr/local/gcc40/bin/g++40 -O2 -c -o out.o src.ii -v
Reading specs from /usr/local/gcc40/lib/gcc/powerpc-unknown-linux-
gnu/4.0.0/specs
Configured with: ../gcc40/configure --prefix=/usr/local/gcc40 --program-
suffix=40 --with-cpu=G5 --enable-altivec --enable-languages=c,c++ --enable-
checking
Thread model: posix
gcc version 4.0.0 20040926 (experimental)
/usr/local/gcc40/libexec/gcc/powerpc-unknown-linux-gnu/4.0.0/cc1plus -
fpreprocessed src.ii -quiet -dumpbase src.ii -mcpu=G5 -auxbase-strip out.o -O2 -
version -o /tmp/ccRGaRii.s
GNU C++ version 4.0.0 20040926 (experimental) (powerpc-unknown-linux-gnu)
compiled by GNU C version 4.0.0 20040926 (experimental).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
src.ii: In member function `int C::D()':
src.ii:11: error: dominator of 3 should be 2, not 0
src.ii:11: internal compiler error: in verify_dominators, at dominance.c:860
Please submit a full bug report, with preprocessed source if appropriate.
Michael Cieslinski
extern char *strcpy (char* d, const char* s) throw ();
class A { public: A (); ~A (); };
inline char * B (char *s, const char *t)
{ return ::strcpy (s, t); }
class C { int D (void); int E; };
int C::D (void)
{
A aa;
try
{
char z [22];
if (this->E) B (z, "");
return 0;
}
catch (int &f) { return -1; }
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17724