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