1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fno-tree-forwprop -fno-tree-ccp -fdump-tree-ealias" } */
       3  
       4  extern void abort (void);
       5  struct X {
       6    int *p;
       7    int *q;
       8    int *r;
       9  };
      10  int __attribute__((noinline))
      11  foo(int i, int j, int k, int off)
      12  {
      13    struct X x;
      14    int **p, *q;
      15    x.p = &i;
      16    x.q = &j;
      17    x.r = &k;
      18    p = &x.q;
      19    p -= 1;
      20    /* *p points to { i } */
      21    q = *p;
      22    return *q;
      23  }
      24  
      25  /* { dg-final { scan-tree-dump "q_. = { i }" "ealias" } } */