1 /* { dg-do compile } */
2 /* { dg-additional-options "-Wall" } */
3 
4 #define COUNT 32
5 
6 typedef struct s1 {
7     unsigned char c;
8 } s1;
9 
10 typedef struct s2
11 {
12     char pad;
13     s1 arr[COUNT];
14 } s2;
15 
16 typedef struct s3 {
17     s1 arr[COUNT];
18 } s3;
19 
20 s2 * get_s2();
21 s3 * gActiveS3;
foo()22 void foo()
23 {
24     s3 * three = gActiveS3;
25     s2 * two = get_s2();
26 
27     for (int i = 0; i < COUNT; i++)
28     {
29         two->arr[i].c = three->arr[i].c;
30     }
31 }
32