1 /*
2    20050124-1.c from the execute part of the gcc torture suite.
3  */
4 
5 #include <testfwk.h>
6 
7 #ifdef __SDCC
8 #pragma std_c99
9 #endif
10 
11 /* PR rtl-optimization/19579 */
12 
13 int
foo(int i,int j)14 foo (int i, int j)
15 {
16   int k = i + 1;
17 
18   if (j)
19     {
20       if (k > 0)
21 	k++;
22       else if (k < 0)
23 	k--;
24     }
25 
26   return k;
27 }
28 
29 void
testTortureExecute(void)30 testTortureExecute (void)
31 {
32   if (foo (-2, 0) != -1)
33     ASSERT (0);
34   if (foo (-1, 0) != 0)
35     ASSERT (0);
36   if (foo (0, 0) != 1)
37     ASSERT (0);
38   if (foo (1, 0) != 2)
39     ASSERT (0);
40   if (foo (-2, 1) != -2)
41     ASSERT (0);
42   if (foo (-1, 1) != 0)
43     ASSERT (0);
44   if (foo (0, 1) != 2)
45     ASSERT (0);
46   if (foo (1, 1) != 3)
47     ASSERT (0);
48   return;
49 }
50