1 /*
2    20060930-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 #pragma disable_warning 85
12 
13 /* PR rtl-optimization/28096 */
14 /* Origin: Jan Stein <jan@gatespacetelematics.com> */
15 
16 int bar (int, int);
bar(int a,int b)17 int bar (int a, int b)
18 {
19   if (b != 1)
20     ASSERT (0);
21 }
22 
23 void foo(int, int);
foo(int e,int n)24 void foo (int e, int n)
25 {
26   int i, bb2, bb5;
27 
28   if (e > 0)
29     e = -e;
30 
31   for (i = 0; i < n; i++)
32     {
33       if (e >= 0)
34 	{
35 	  bb2 = 0;
36 	  bb5 = 0;
37 	}
38       else
39 	{
40 	  bb5 = -e;
41 	  bb2 = bb5;
42 	}
43 
44       bar (bb5, bb2);
45     }
46 }
47 
testTortureExecute(void)48 void testTortureExecute (void)
49 {
50   foo (1, 1);
51   return;
52 }
53