1 /* { dg-do run } */ 2 3 extern void abort (void); 4 5 static inline void foo(int * p)6foo (int * p) 7 { 8 int * __restrict pr = p; 9 *pr = 1; 10 } 11 12 int __attribute__((noinline,noclone)) bar(int * q)13bar (int *q) 14 { 15 int * __restrict qr = q; 16 *qr = 0; 17 foo (qr); 18 return *qr; 19 } 20 main()21int main() 22 { 23 int i; 24 if (bar (&i) != 1) 25 abort (); 26 return 0; 27 } 28