1169695Skan/* { dg-do run } */ 2169695Skan 3169695Skanextern void abort (void); 4169695Skan 5169695Skanstatic inline void 6169695Skanfoo (int * p) 7169695Skan{ 8169695Skan int * __restrict pr = p; 9169695Skan *pr = 1; 10169695Skan} 11169695Skan 12169695Skanint __attribute__((noinline,noclone)) 13169695Skanbar (int *q) 14169695Skan{ 15169695Skan int * __restrict qr = q; 16169695Skan *qr = 0; 17169695Skan foo (qr); 18169695Skan return *qr; 19169695Skan} 20169695Skan 21169695Skanint main() 22169695Skan{ 23169695Skan int i; 24169695Skan if (bar (&i) != 1) 25169695Skan abort (); 26169695Skan return 0; 27169695Skan} 28169695Skan