1 /* PR middle-end/71691 */ 2 /* { dg-do run } */ 3 /* { dg-options "-fno-tree-vrp -O2 -funswitch-loops -fdump-tree-unswitch-details" } */ 4 5 /* Note: The -fno-tree-vrp above is only there to avoid VRP papering 6 over the problem. */ 7 8 char b; 9 short f; 10 unsigned e; 11 int g = 20; 12 13 void foo()14foo () 15 { 16 int l, h; 17 for (l = 0; l <= 7; l++) 18 { 19 int j = 38; 20 if (g) 21 h = 0; 22 for (; h <= 7; h++) 23 { 24 int i, k = b % (j % 4); 25 g = f; 26 for (;;) 27 { 28 j = 6 || b; 29 if (e) 30 { 31 for (; j; --j) 32 if (k) 33 __builtin_printf ("%d", 9); 34 if (i) 35 __builtin_printf ("%d", j); 36 } 37 if (l) 38 continue; 39 break; 40 } 41 i = f || b; 42 } 43 } 44 } 45 46 int main()47main () 48 { 49 foo (); 50 return 0; 51 } 52