------- 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