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 * __restrict qr)12 bar (int * __restrict qr)
13 {
14   *qr = 0;
15   foo (qr);
16   return *qr;
17 }
18 
main()19 int main()
20 {
21   int i;
22   if (bar (&i) != 1)
23     abort ();
24   return 0;
25 }
26