1/* { dg-do compile } */ 2/* { dg-options "-Os -fno-tree-fre -fdump-tree-dom1" } */ 3 4void foo(int *); 5void f2(int dst[3], int R) 6{ 7 int i, inter[2]; 8 _Bool inter0p = 0; 9 _Bool inter1p = 0; 10 for (i = 1; i < R; i++) 11 { 12 inter0p = 1; 13 inter1p = 1; 14 } 15 if (inter0p) 16 inter[0] = 1; 17 if (inter1p) 18 inter[1] = 1; 19 foo(inter); 20} 21 22 23/* There should be precisely two conditionals. One for the loop condition 24 and one for the test after the loop. Previously we failed to eliminate 25 the second conditional after the loop. */ 26/* { dg-final { scan-tree-dump-times "if" 2 "dom1"} } */ 27 28/* { dg-final { cleanup-tree-dump "dom1" } } */ 29 30