2009-07-17 Richard Guenther <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr25654.c
blob03761e93c39683d9a1fbf92a5a2cc66f673064b1
1 /* { dg-do run } */
3 extern void abort (void) __attribute__((noreturn));
5 union setconflict
7 short a[20];
8 int b[10];
9 };
11 int
12 main ()
14 int sum = 0;
16 union setconflict a;
17 short *c;
18 c = a.a;
19 asm ("": "=r" (c):"0" (c));
20 *c = 0;
21 asm ("": "=r" (c):"0" (c));
22 sum += *c;
25 union setconflict a;
26 int *c;
27 c = a.b;
28 asm ("": "=r" (c):"0" (c));
29 *c = 1;
30 asm ("": "=r" (c):"0" (c));
31 sum += *c;
34 if (sum != 1)
35 abort();
36 return 0;