modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr48571-1.c (about) 1 #define S (sizeof (int)) 2 3 unsigned int c[624]; 4 void __attribute__((noinline)) 5 bar (void) 6 { 7 unsigned int i; 8 /* Obfuscated c[i] = c[i-1] * 2. */ 9 for (i = 1; i < 624; ++i) 10 *(unsigned int *)((void *)c + (__SIZE_TYPE__)i * S) 11 = 2 * *(unsigned int *)((void *)c + ((__SIZE_TYPE__)i + 12 ((__SIZE_TYPE__)-S)/S) * S); 13 } 14 extern void abort (void); 15 int 16 main() 17 { 18 unsigned int i, j; 19 for (i = 0; i < 624; ++i) 20 c[i] = 1; 21 bar(); 22 j = 1; 23 for (i = 0; i < 624; ++i) 24 { 25 if (c[i] != j) 26 abort (); 27 j = j * 2; 28 } 29 return 0; 30 }