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

Reply via email to