GCC ICEs on folowing code with options -O2 -ftree-loop-distribution

typedef long unsigned int size_t;
typedef struct   {
      long dat[2];
} gsl_complex_long_double;
typedef struct {
    size_t size;
    size_t stride;
    long *data;
} gsl_vector_complex_long_double;
void gsl_vector_complex_long_double_set_zero (gsl_vector_complex_long_double *
v) 
{
    long * const data = v->data;
    const size_t n = v->size;
    const size_t stride = v->stride;
    const gsl_complex_long_double zero = { { 0,0} } ;
    size_t i;
    for (i = 0; i < n; i++)     
        *(gsl_complex_long_double *) (data + 2 * i * stride) = zero;
}

as

prx.c: In function ‘gsl_vector_complex_long_double_set_zero’:
prx.c:10: internal compiler error: in fold_binary, at fold-const.c:9308


Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../configure --prefix=/abuild/tbily/install/ --enable-checks
--enable-bootstrap --disable-multilib
Thread model: posix
gcc version 4.4.0 20081118 (experimental) (GCC)


-- 
           Summary: ICE with -O2 -ftree-loop-distribution
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tomby at gcc dot gnu dot org
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38250

Reply via email to