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)6void 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