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