1 /* { dg-do compile } */
2 /* { dg-options "-ftree-loop-distribution -funswitch-loops" } */
3 
4 struct test_struct {
5     int a, b[10], c[10], d[10];
6 };
7 
8 extern struct test_struct* new_struct;
9 
testfunc(struct test_struct * old_struct)10 void testfunc(struct test_struct* old_struct)
11 {
12   int i;
13   for (i = 0; i < 10; ++i)
14     {
15       new_struct->b[i] = old_struct ? old_struct->b[i] : -1;
16       new_struct->c[i] = old_struct ? old_struct->c[i] : 0;
17       new_struct->d[i] = old_struct ? old_struct->d[i] : 0;
18     }
19   if (old_struct)
20     old_struct->a++;
21 }
22