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