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

Reply via email to