1 /* { dg-do run } */
2 
3 extern void abort (void);
4 
g(int ** a,int * b)5 void __attribute__((noinline)) g(int **a, int *b)
6 {
7   *a = b;
8 }
9 
foo(int * restrict p,int * q)10 int foo(int * restrict p, int *q)
11 {
12   g(&q, p);
13   *p = 1;
14   *q = 2;
15   return *p + *q;
16 }
17 
main()18 int main()
19 {
20   int x, y;
21   if (foo(&x, &y) != 4)
22     abort ();
23   return 0;
24 }
25