1 /* { dg-do run } */ 2 3 extern void abort (void); 4 void __attribute__((noinline,noclone)) foo(void * p_)5foo (void *p_) 6 { 7 int *p; 8 int i; 9 for (i = 0; i < sizeof(int *); ++i) 10 ((char *)&p)[i] = ((char *)p_)[i]; 11 *p = 1; 12 } main()13int main() 14 { 15 int i = 0; 16 int *p = &i; 17 foo (&p); 18 if (i != 1) 19 abort (); 20 return 0; 21 } 22