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