1 /* { dg-do compile } */
2 /* { dg-additional-options "-fallow-store-data-races" } */
3 
4 char tcube[3][9];
5 int cur_move;
perm_cube(void)6 void perm_cube(void) {
7   int i, j, k, tmp;
8   for (; i < cur_move; i++)
9     while (k-- >= 0)
10       switch (j) {
11       case 0:
12         tmp = tcube[0][6];
13         tcube[2][8] = tcube[0][8];
14         tcube[0][8] = tmp;
15         tmp = tcube[0][5];
16         tcube[0][5] = tcube[1][8];
17         tcube[1][8] = tcube[2][5];
18         tcube[2][5] = tcube[1][2];
19         tcube[1][2] = tcube[2][1];
20         tcube[2][1] = tcube[1][0];
21         tcube[0][6] = tmp;
22         tmp = tcube[0][3];
23         tcube[0][3] = tcube[1][0];
24         tcube[1][0] = tcube[2][3];
25         tcube[2][3] = tcube[1][6];
26         tcube[1][6] = tmp;
27         break;
28       case 5:
29         tmp = tcube[2][0];
30         tcube[2][0] = tcube[2][2];
31         tcube[2][2] = tcube[2][8];
32         tcube[2][3] = tmp;
33       }
34 }
35