OSDN Git Service

* tree.c (build_zero_cst): New.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / torture / pr23821.c
1 /* { dg-do compile } */
2 /* { dg-skip-if "" { *-*-* } { "-O0" } { "" } } */
3 /* At -O1 DOM threads a jump in a non-optimal way which leads to
4    the bogus propagation.  */
5 /* { dg-skip-if "" { *-*-* } { "-O1" } { "" } } */
6 /* { dg-options "-fdump-tree-ivcanon-details" } */
7
8 int a[199];
9
10 extern void abort (void);
11
12 int
13 main ()
14 {
15   int i, x;
16   for (i = 0; i < 199; i++)
17     {
18       x = a[i];
19       if (x != i)
20         abort ();
21     }
22   return 0;
23 }
24
25 /* Verify that we do not propagate the equivalence x == i into the
26    induction variable increment.  */
27
28 /* { dg-final { scan-tree-dump "Added canonical iv" "ivcanon" } } */
29 /* { dg-final { cleanup-tree-dump "ivcanon" } } */