1 /* { dg-do run } */
2
3 extern void abort (void) __attribute__((noreturn));
4
5 union setconflict
6 {
7 short a[20];
8 int b[10];
9 };
10
11 int
12 main ()
13 {
14 int sum = 0;
15 {
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;
23 }
24 {
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;
32 }
33
34 if (sum != 1)
35 abort();
36 return 0;
37 }