1  /* Test that variable
       2       int val;
       3     may hold value of tyope "struct c" which has same size.
       4     This is valid in GIMPLE memory model.  */
       5  
       6  struct a {int val;} a={1},a2;
       7  struct b {struct a a;};
       8  int val;
       9  struct c {struct b b;} *cptr=(void *)&val;
      10  
      11  int
      12  main(void)
      13  {
      14    cptr->b.a=a;
      15    val = 2;
      16    a2=cptr->b.a;
      17    if (a2.val == a.val)
      18      __builtin_abort ();
      19  }