1  void
       2  foo (int *x, int y)
       3  {
       4    int *a = x, *b = (int *) &a;
       5  
       6    __builtin_memcpy (b + 1, x, y);
       7    foo (a, 0);
       8  }
       1  void
       2  foo (int *x, int y)
       3  {
       4    int *a = x, *b = (int *) &a;
       5  
       6    __builtin_memcpy (b + 1, x, y);
       7    foo (a, 0);
       8  }