1 /* { dg-do run } */ 2 3 struct S { int *p; int *q; }; 4 foo(struct S * s)5int **__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()12int 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