PR inline-asm/84742
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 20060930-2.c
blob498f7811d1c838d689315fff5937f0540378a38a
1 /* PR middle-end/29272 */
3 extern void abort (void);
5 struct S { struct S *s; } s;
6 struct T { struct T *t; } t;
8 static inline void
9 foo (void *s)
11 struct T *p = s;
12 __builtin_memcpy (&p->t, &t.t, sizeof (t.t));
15 void *
16 __attribute__((noinline))
17 bar (void *p, struct S *q)
19 q->s = &s;
20 foo (p);
21 return q->s;
24 int
25 main (void)
27 t.t = &t;
28 if (bar (&s, &s) != (void *) &t)
29 abort ();
30 return 0;