the following code ICEs with g++-3.3.5 and freezes g++-3.4.3 --- begin of tree.cc -------------------------------------- namespace numbers { int subtrees = 4; } template< class T > class Tree { public: Tree* L[numbers::subtrees]; Tree* R[numbers::subtrees]; public: Tree() { L[0] = 0; R[0] = 0; } ~Tree() { if( L[0] ) delete [] L[0]; if( R[0] ) delete [] R[0]; } }; int main() { Tree<int> t; return 0; } --- end of tree.cc -------------------------------- > g++-3.3.5 -v Reading specs from /opt/gcc-3.3.5/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/specs Configured with: ../gcc-3.3.5/configure --prefix=/opt/gcc-3.3.5 --enable-shared--enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --program-suffix=-3.3.5 --with-cpu=pentium3 Thread model: posix gcc version 3.3.5 > g++-3.4.3 -v Reading specs from /opt/gcc-3.4.3/lib/gcc/i686-pc-linux-gnu/3.4.3/specs Configured with: ../gcc-3.4.3/configure --prefix=/opt/gcc-3.4.3 --enable-shared--enable-languages=c,c++ --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --program-suffix=-3.4.3 --with-arch=pentium3 Thread model: posix gcc version 3.4.3
-- Summary: ICE for g++-3.3.5/ endless loop for g++-3.4.3 (template and namespace) Product: gcc Version: 3.3.5 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andre dot maute at gmx dot de CC: gcc-bugs at gcc dot gnu dot org GCC build triplet: i686-pc-linux-gnu GCC host triplet: i686-pc-linux-gnu GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18429