1 /* { dg-do run } */
2 
3 struct T
4 {
5   int a, b;
6 } t;
7 
f(struct T * p)8 __attribute__((noinline)) struct T *f (struct T *p)
9 {
10   struct T *q = __builtin_malloc (sizeof (struct T));
11   *q = *p;
12   return q;
13 }
14 
main(void)15 int main (void)
16 {
17   struct T *p;
18 
19   t.a = 1;
20   t.b = 2;
21   p = f (&t);
22   t.a = 3;
23 
24   if (p->a != 1)
25     __builtin_abort ();
26 
27   return 0;
28 }
29 
30