1 /* { dg-do run } */
2 
3 struct S { int *p; int *q; };
4 
foo(struct S * s)5 int **__attribute__((noinline,noclone,pure)) foo (struct S *s)
6 {
7   int tem;
8   __asm__ ("" : "=g" (tem) : "g" (s->p));
9   return &s->q;
10 }
11 
main()12 int main()
13 {
14   struct S s;
15   int i = 1, j = 2;
16   int **x;
17   s.p = &i;
18   s.q = &j;
19   x = foo (&s);
20   **x = 7;
21   if (j != 7)
22     __builtin_abort ();
23   return 0;
24 }
25