The g++-4.0 in the Ubuntu Hoary repository crashes on the following file.
------- crash-4.0.cc starts here --------------------------------------- /* prompt> g++-4.0 -msse2 -O3 -ftree-vectorize -ftree-vectorizer-verbose=5 -c crash-4.0.cc crash-4.0.cc:11: note: Alignment of access forced using peeling. crash-4.0.cc:11: note: LOOP VECTORIZED. crash-4.0.cc:26: note: Alignment of access forced using peeling.crash-4.0.cc: In function ‘DenseMatrix* mat_identity(int)’: crash-4.0.cc:21: internal compiler error: in gimplify_expr, at gimplify.c:4070 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. For Debian GNU/Linux specific bug reporting instructions, see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>. prompt> g++-4.0 --version g++-4.0 (GCC) 4.0.0 20050301 (prerelease) (Debian 4.0-0pre6ubuntu7) Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. prompt> uname -a Linux tamale 2.6.10-5-amd64-generic #1 Tue Apr 5 12:21:57 UTC 2005 x86_64 GNU/Linux */ class DenseMatrix { int rows_, cols_; double *ptr_; public: DenseMatrix(int nr, int nc) : rows_(nr), cols_(nc) { ptr_ = new double[nr * nc]; } void zero() { for (int i = 0; i < rows_ * cols_; i++) ptr_[i] = 0.0; } inline double* operator[](int r) { return ptr_ + r * cols_; } }; //! Create Identity Matrix DenseMatrix *mat_identity(int len) { DenseMatrix *eye = new DenseMatrix(len, len); eye->zero(); for (int i=0; i<len; i++) { (*eye)[i][i]=1; } return eye; } -- Summary: SSA Crash, reproducable Product: gcc Version: 4.0.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: callahan at sci dot utah dot edu CC: gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21274