modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/pr58277-2.c (about) 1 /* PR tree-optimization/58277 */ 2 3 extern void abort (void); 4 static int a[1], b, c, e, i, j, k, m, q[] = { 1, 1 }, t; 5 int volatile d; 6 int **r; 7 static int ***volatile s = &r; 8 int f, g, o, x; 9 static int *volatile h = &f, *p; 10 char n; 11 12 static void 13 fn1 () 14 { 15 b = a[a[a[a[a[a[a[a[b]]]]]]]]; 16 b = a[a[a[a[a[a[a[a[b]]]]]]]]; 17 b = a[a[b]]; 18 b = a[a[a[a[a[a[a[a[b]]]]]]]]; 19 b = a[a[a[a[a[a[a[a[b]]]]]]]]; 20 } 21 22 static int 23 fn2 () 24 { 25 n = 0; 26 for (; g; t++) 27 { 28 for (;; m++) 29 { 30 d; 31 int *u; 32 int **v[] = { 33 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38 0, 0, 0, 0, 0, &u, 0, 0, 0, 0, &u, &u, &u, &u, &u, &u, &u, 0, 39 &u, 0, &u, &u, &u, 0, &u, &u, 0, &u, &u, &u, &u, 0, &u, &u, &u, 40 &u, &u, 0, &u, &u, 0, &u, 0, &u, &u, 0, &u, &u, &u, &u, &u, 0, 41 &u, 0, 0, 0, &u, &u, &u, 0, 0, &u, &u, &u, 0, &u, 0, &u, &u 42 }; 43 int ***w[] = { &v[0] }; 44 if (*p) 45 break; 46 return 0; 47 } 48 *h = 0; 49 } 50 return 1; 51 } 52 53 static void 54 fn3 () 55 { 56 int *y[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; 57 for (; i; i++) 58 x = 0; 59 if (fn2 ()) 60 { 61 int *z[6] = { }; 62 for (; n < 1; n++) 63 *h = 0; 64 int t1[7]; 65 for (; c; c++) 66 o = t1[0]; 67 for (; e; e--) 68 { 69 int **t2 = &y[0]; 70 int ***t3 = &t2; 71 *t3 = &z[0]; 72 } 73 } 74 *s = 0; 75 for (n = 0;; n = 0) 76 { 77 int t4 = 0; 78 if (q[n]) 79 break; 80 *r = &t4; 81 } 82 } 83 84 int 85 main () 86 { 87 for (; j; j--) 88 a[0] = 0; 89 fn3 (); 90 for (; k; k++) 91 fn1 (); 92 fn1 (); 93 94 if (n) 95 abort (); 96 97 return 0; 98 }