modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/compile/pr82052.c (about) 1 typedef unsigned char uint8_t; 2 typedef unsigned short uint16_t; 3 typedef unsigned uint32_t; 4 char a, t9, t22; 5 uint32_t c[56]; 6 uint32_t d, t, t1, t5, t13, t19, t31, t36, t40; 7 struct { 8 unsigned f0 : 1; 9 unsigned f7 : 4; 10 } l, t3; 11 uint16_t g, t17, t29 = 65531, t42 = 1; 12 short m, t6, t11, t12, t20, t27 = 1, t34 = 7, t38, t43, s; 13 uint8_t p, u, t2, t4, t14, t24, t33, t44 = 50, t90; 14 int f, h = 5, n, o = 40211, q, v = 2, w, t7, t8, t10, t15, t16, t18, t21, t25, 15 t26, t28, t30 = 3743393910, t32, t37 = 105423096, t39, t46, t47, t48, 16 t49, t88, t89, x, y; 17 char r; 18 char t23; 19 uint16_t t35[][7][2]; 20 static uint8_t t41; 21 char z[][8][3]; 22 char fn1(char p1, int p2) { return p1 < 0 ?: p1 >> p2; } 23 short fn2(int a, uint16_t b) {} 24 void fn3(uint8_t p1) { d = d >> 8 ^ c[(d ^ p1) & 5]; } 25 void fn4(uint32_t p1, int p2) { 26 int e; 27 uint8_t b = e; 28 d = 8 ^ c[(d ^ b) & 5]; 29 fn3(e >> 8); 30 fn3(e >> 6); 31 fn3(e >> 24); 32 if (p2) 33 printf(0); 34 } 35 int fn5(p1) { 36 if (t37) 37 for (; t28;) 38 ; 39 } 40 uint16_t fn6(char p1, int p2) { 41 int k; 42 for (; t32; t32++) 43 for (; t32 < 8; t32++) 44 fn4(t23, k); 45 } 46 uint8_t fn7(p1) { return 1; } 47 uint32_t fn8(uint8_t p1, uint32_t p2) { 48 t22 = t44 | 1; 49 t34--; 50 l.f7 = p2; 51 fn4(t18, t88); 52 fn4(t17, t88); 53 fn4(t3.f0, t88); 54 fn4(t16, t88); 55 fn4(t15, t88); 56 fn4(t14, t88); 57 fn4(t13, t88); 58 fn4(t12, t88); 59 fn4(t11, t88); 60 fn4(t3.f7, t88); 61 fn4(h, t39); 62 fn4(t10, t88); 63 fn4(t9, t88); 64 fn4(t8, t88); 65 fn4(t7, t88); 66 fn4(t6, t88); 67 fn4(t5, t88); 68 return t32; 69 } 70 uint32_t fn9(p1) { 71 h = 5; 72 int t45; 73 for (; o; o = 0) 74 if (n) 75 break; 76 f = 0; 77 for (; f < 10; f++) { 78 t45 = 0; 79 for (; t45 < 3; t45++) 80 fn4(z[f][t32][t45], f); 81 } 82 return t4; 83 } 84 short fn10(char p1, uint16_t p2, char p3, char p5) { 85 int i, k, t91; 86 z[t24][h][t89] = i = 0; 87 for (; i < 6; i++) 88 fn4(t38, 1); 89 if (p3 <= p1 != t90) 90 fn4(t41, 3); 91 else { 92 t91 = 0; 93 for (; t91 < 3; t91++) { 94 fn4(z[t32][i][t91], t37); 95 if (t37) { 96 fn4(z[t39][t39][k], f); 97 if (f) 98 printf("", t39); 99 printf("", t32); 100 } 101 } 102 } 103 for (; p; p++) { 104 if (x) 105 break; 106 if (t37) 107 break; 108 } 109 for (; t24; t24++) 110 t29++; 111 w = t29 = p5; 112 } 113 static int fn11() { 114 char t50, t52; 115 short t51, t56 = 49061, t65; 116 uint32_t t53 = 3, t55 = 4272075807, t64; 117 int t54 = 14, 118 t57 = ~(t55 | t30 & t | ~(~t37 | (v | t43 / t53) | g >> (t56 & f))), 119 t58 = ~(t57 ^ t53 | (t55 >> f & t37) / ~v & ~(t56 / ~g)); 120 uint16_t t59 = ~(t57 / (g | t | ~(t58 & t43) & t30 / (t55 / ~(v ^ t37)))); 121 LABEL_XgXgd: 122 if (!(t56 < t58)) { 123 t57 = t30; 124 t58 = t59 = g; 125 t30 = ~(t58 & ~v & t & t56 | t53); 126 f = ~t57 | ~t & ~(t30 ^ f) / ~(t37 ^ ~t55 & (t43 | t59 | v)) ^ g; 127 if (t37) { 128 printf("", (long long)t30, (long long)f); 129 g = ~(~(~g | ~v << ~t37) << ~f << t43 | t53 / (t30 | t55)); 130 f = ~(~t59 ^ ~(~(t56 & t37) ^ t) >> t43 | ~t30 / t53 >> t57); 131 } 132 } 133 int t60 = ~((~t42 >> t24 | ~-~(~s & t33) & u ^ t | 4 ^ t30 & r) + t32); 134 uint32_t t61 = 135 ~(-(t30 ^ t33) & -(~(t60 & t | 4 | ~r & t42) + (~t32 >> s) & -t24)); 136 uint8_t t62 = ~(~(t61 & ~(s | t33 | u)) ^ t60 | -(t | -t30) & ~(t24 & r)); 137 if (s) { 138 t61 = t; 139 LABEL_RhRhd: 140 t32 = ~(t33 & (t24 | r) + u + t60 | (t32 | (~s | t) & t42) + 4); 141 t = ~(-(t32 ^ ~t60 ^ t42) & (t33 | t) + t62 + u ^ ~s + ~(~t30 - t61)); 142 u = ~(r & ~s ^ -t33 | t24) + t + t32 + t60 + (t62 & t42 ^ u); 143 if (t61 > t24) { 144 printf("", (long long)t32); 145 u = ~(~(~t60 | t30) | ~t) + (t42 ^ t62 & ~t32 | ~s & r + (4 & u)); 146 } 147 while (t53 || t40) { 148 t60 = 0; 149 for (; t60 < 8; t60++) 150 fn4(t23, t32); 151 } 152 if (t32) 153 if (t60 || t42 > t24) { 154 printf("", u); 155 goto LABEL_ahahd; 156 } 157 } 158 t32 = t60; 159 t = t61; 160 u = t62; 161 t30 = t57; 162 int t63 = ~(~t53 >> t30 | l.f7 / ~t54 - t34 + ~t44 / (~q | t43) | ~t39); 163 if (t29 < t40) 164 for (;; t40++) 165 for (; t48; t48++) 166 t38 = 0; 167 if (t40) 168 t63 = q; 169 t64 = t53; 170 t65 = t34; 171 q = ~l.f7 % ~(~t65 / ~t43 - t44 & t54 | t39 % (~t30 | q & (t56 | t53))); 172 LABEL_ahahd: 173 t53 = ~(~t30 % ~t34 & ~t44 + ((t63 | t43) + (q | t65 | -l.f7) & t53)); 174 uint8_t t66 = 175 -(-t29 & (-t42 & (u + t30 ^ t36) ^ t24 >> -t54 / t37 & (-l.f7 | ~t2))); 176 uint16_t t67 = -(-(~t24 + t54 ^ ~t2 >> l.f7 ^ t42) | u | t29); 177 int t68 = -t24 & t42 & ~l.f7 ^ -t66 ^ u; 178 if (u) 179 t54 = ~(~t37 / -t42 * t2 - t66) + ~(-(t54 / t67) % t29) & t68; 180 t34 = ~(~(t54 - t64) % t44 % (t34 - (l.f7 & t39))) + (t53 | t43 || q) - t63; 181 if (t30 > q) { 182 p++; 183 z[t44][t58][t57] = 1; 184 t1++; 185 } 186 if (t2 && t44) 187 q = t63; 188 int t69 = ~(~t1 / v & (t40 && t54) << (q & t32)) ^ t28 / t53 & t39; 189 if (t69 < t30) { 190 uint8_t t70 = ~t32 + t46 + r | s ^ v & t55 << ~t40 | l.f0 & t33, 191 t71 = ~(~t55 | (v | t33) + (~(~t32 + ~t70) ^ t46 | l.f0) + ~s); 192 char t72 = -(t55 | r | ~s | ~t46 ^ t71 << t40 ^ t31 | v ^ t33) & -t70; 193 if (t31 < t71) { 194 uint8_t t73 = -((v + u & -f) % ~r + ~(~t29 | t42) | ~t54 * (t46 ^ t36)), 195 t74 = ~(-f | t42 + t54); 196 char t75 = ~(~(-t46 ^ r / v | ~t74 + t54 - t73) - ~t29); 197 if (t33) { 198 t73 = u; 199 t33 = ~(-t73 / ~(~(~v * f / t54) / -(-(t33 | u) & t75 + t29) ^ t46)); 200 r = r * ~t75 & (t29 ^ t36) ^ t73 * -t74 % t46 - ~u + t33; 201 printf("", (long long)u); 202 r = -(~(t73 & t36 & (t33 & t46) % ~r) / ~(t54 / ~t74 << -v)); 203 t33 = ~((t33 ^ -(t74 ^ r)) + (-t46 << t42 | ~f) + ~t29 / v) >> ~u * t73; 204 goto LABEL_RhRhd; 205 } 206 l.f0 = -(-t55 | -(-t32 << s & t71) ^ r & -(t46 + t70)); 207 r = ~(~t31 | -(-(t70 | t71 + t46) ^ -s ^ (-l.f0 ^ t72 ^ t40) & t74)); 208 if (l.f0 && l.f0 > t70) 209 printf("", t74); 210 LABEL_RhRhh: 211 if (v > r) 212 goto LABEL_XgXgd; 213 if (r && t72) { 214 printf("", (long long)r); 215 goto LABEL_XgXgd; 216 } 217 } 218 t33 = t70; 219 l.f0 = t71; 220 r = t72; 221 t54 = ~(~t69 | (q & t28) / ~(t32 && t1) / t39 | ~v ^ (t30 && t40)); 222 if (t54 && t44) { 223 for (; s; s++) 224 for (; t27; t27++) 225 for (; t28; t28++) 226 z[s][t27][t28] = 0; 227 for (; t32; t32++) 228 fn4(y, t46); 229 } 230 printf("", t47, t32, t32); 231 printf("", (long long)t54); 232 if (t28 && t69) { 233 printf("", (long long)t53); 234 goto LABEL_ahahd; 235 } 236 } 237 if (t32 > 4097347) 238 for (; t69 < 2; t69++) { 239 for (; t49; t49++) 240 for (; t46; t46++) 241 z[u][1][1] = 1; 242 fn4(t35[t69][f][t69], t37); 243 if (t37) 244 for (; t58 < 3; t58++) 245 z[t24][t63][t58] = 1; 246 printf("", t69, f, t69); 247 } 248 if (t44 <= 50 && t44) 249 t53 = t64; 250 while (t36 && t55 < t2) 251 for (; t57;) { 252 fn4(t41, v); 253 if (v) 254 printf("", t58, t54, t57); 255 } 256 f = t58; 257 if (t) 258 g = t59; 259 uint8_t t76 = (t33 & l.f0 % t30) + t40 ^ 4 * t53 / u + l.f7; 260 uint16_t t77 = ~(-(-t29 % ((t30 + t76 ^ -u) * ~(g ^ t40) ^ t53)) * ~-~t33); 261 uint32_t t78 = 262 ~(l.f0 + t29 % (4 * (l.f7 / t53 | g) % t30 + ~t33)) - (t77 + ~u); 263 if (t78 < t40) { 264 LABEL__h_hl: 265 t77 = t29; 266 t78 = t40; 267 u = ~(t33 >> l.f7) - (g * (t76 | u) >> t78 | ~(l.f0 << t40 ^ 4 | t30)); 268 t29 = ~(l.f0 | ~t53 % t76 * t78 % u + t29 | g) % ~-~t40 | l.f7; 269 t40 = ~(-t78 / 4 % t30 % ~(t33 | t29 | -t77) + ~(-l.f7 % ~t40 & l.f0) * -u); 270 if (l.f7) { 271 printf("", (long long)u); 272 goto LABEL_RhRhh; 273 } 274 if (t76 > t77) { 275 printf("", (long long)t29); 276 printf("", (long long)t40); 277 t40 = ~(-t53 % ((-t33 << t78) % l.f7)) | t40 / g * -t29 >> u; 278 u = ~(4 % l.f7 * ~t29 | t78 / t53 + t40 & ~g * t33 % t76 - u); 279 goto LABEL__h_hl; 280 } 281 } 282 t29 = t40 = t78; 283 short t79 = h; 284 uint32_t t80 = ~(~(t37 % (t32 || t44)) % ~(~u & t28 || t33 - h)); 285 uint8_t t81 = t33 / t34 / t32; 286 if (t31 > g) 287 q = 2; 288 uint8_t t82 = 289 -(l.f7 + ~t24 + (~t2 ^ -t30) | ~(-(4 & t34 + t43) | ~(t36 | o | t53))); 290 short t83 = ~(-(l.f7 + t34 & t53 | (4 + (o >> t24) | t30) | t2 | t36) + ~t82); 291 int t84 = ~(t2 | ~(t53 < t24) ^ o) + (t83 + t30 ^ t43 & l.f7 > 4) >> ~-~t34; 292 t30 = ~(~t82 + t30 + t2 | -o & t84 + ~(4 | -t36) & (t43 & (t34 & ~l.f7))); 293 t40 = ~(~v << ~t40 / t27) - ~(v & t2 * p) % ~t27 % (~h - t) & ~o; 294 t27 = ~(1 % v + t27 >> -t27 / (-t ^ -h) & -t37 ^ o); 295 v = -(t2 + t40 ^ v) % (-t27 | ~p % h & t37 / o + ~t27 & t); 296 if (h > 5) { 297 printf("", (long long)t40); 298 goto LABEL_ahahd; 299 } 300 if (t37 > 431447816) { 301 printf("", (long long)t27); 302 goto LABEL_XgXgd; 303 } 304 if (1 > t27) { 305 printf("", (long long)v); 306 goto LABEL_RhRhd; 307 } 308 t30 = t84; 309 s = h; 310 t31 = t80; 311 t52 = fn1(t53, 4); 312 x = fn5(f && fn2(t46 = g = t52, 313 fn6(fn7(fn8(f, fn9(fn10(t51, f, t53, t53)))) < t21, t53))); 314 t50 = a - t55; 315 t54 = (t20 == (0 != t19)) + t50; 316 if (t33 < t54 || t30) 317 q = t54; 318 for (; t24; ++t24) { 319 int t85 = -(~(t55 | -t36) ^ t40 + o | ~g & (t43 ^ t56)), 320 t86 = t55 ^ t36 << l.f7 ^ g & (t56 ^ t85 | ~t44 | t37); 321 uint32_t t87 = l.f7 + ~t40 ^ t44 ^ (t56 ^ ~t55 + g ^ -t85 & t43 & o); 322 if (t87) { 323 t86 = t37; 324 if (t44) 325 goto LABEL_ahahd; 326 if (t87) { 327 printf("", (long long)t55); 328 continue; 329 } 330 } 331 o = t37 = t86; 332 t55 = t87; 333 } 334 return t26; 335 } 336 int main() { 337 int i, j, k; 338 { 339 uint32_t t92; 340 int i, j; 341 i = 0; 342 for (; i < 56; i++) { 343 t92 = i; 344 j = 8; 345 for (; j; j--) 346 if (t92 & 1) 347 t92 = t92 >> 1 ^ 2; 348 else 349 t92 >>= 1; 350 c[i] = t92; 351 } 352 } 353 fn11(); 354 fn4(f, 0); 355 printf("", g); 356 fn4(h, 0); 357 printf("", l.f0); 358 fn4(n, 0); 359 fn4(o, 0); 360 printf("", p); 361 fn4(t, 0); 362 printf("", m); 363 printf("", s); 364 fn4(q, 0); 365 printf("", r); 366 printf("", u); 367 fn4(v, 0); 368 for (; i < 4; i++) { 369 j = 0; 370 for (; j < 5; j++) 371 ; 372 } 373 for (; i < 0; i++) 374 for (; k < 3; k++) 375 fn4(z[i][j][k], 0); 376 fn4(t1, 0); 377 i = 0; 378 for (; i < 7; i++) { 379 j = 0; 380 for (; j < 8; j++) 381 fn4(t23, 0); 382 } 383 printf("", t24); 384 fn4(t28, 0); 385 printf("", t29); 386 fn4(t28, 0); 387 printf("", t29); 388 fn4(t25, 0); 389 fn4(t30, 0); 390 printf("", t27); 391 }