https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71824

--- Comment #13 from Leandro Nini <drfiemost at email dot it> ---
I've applied the patch to the 6.3.1 20170202 snapshot and the former test
compiles but this one triggers the same error: 

typedef struct { float x1; } bx;
typedef struct {
  int w;
  short o;
} T2P;
T2P a;
int b;
void fn2();
void fn3(bx*,short);
void fn1() {
  unsigned i = 0;
  int c;
  bx *d;
  bx **h;
  if (b == 0) {
    fn2();
    return;
  }
  for (; c; c++)
    for (; i < 100; i++) {
      d = h[i];
      d->x1 = a.w;
    }
  for (; i < 100; i++) {
    d = h[i];
    d->x1 = a.w;
  }
  if (a.o)
    for (; b;)
      fn3(d, a.o);
}


/opt/gcc/bin/gcc -O2 -floop-interchange bug71824_v2.c
bug71824_v2.c: In function ‘fn1’:
bug71824_v2.c:10:6: internal compiler error: in add_loop_constraints, at
graphite-sese-to-poly.c:931
 void fn1() {
      ^~~
0x17540ea add_loop_constraints
        ../../gcc/graphite-sese-to-poly.c:931
0x1754538 build_iteration_domains
        ../../gcc/graphite-sese-to-poly.c:1001
0x17546b5 build_iteration_domains
        ../../gcc/graphite-sese-to-poly.c:1040
0x17553ae build_poly_scop(scop*)
        ../../gcc/graphite-sese-to-poly.c:1364
0x1739ee5 graphite_transform_loops()
        ../../gcc/graphite.c:319
0x1739f87 graphite_transforms
        ../../gcc/graphite.c:356
0x173a0ad execute
        ../../gcc/graphite.c:433

Reply via email to