2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / dbra-1.c
blob20ae8988ec8961ec338b56db58b76f97e5b1ac4f
1 f1 (a)
2 long a;
4 int i;
5 for (i = 0; i < 10; i++)
7 if (--a == -1)
8 return i;
10 return -1;
13 f2 (a)
14 long a;
16 int i;
17 for (i = 0; i < 10; i++)
19 if (--a != -1)
20 return i;
22 return -1;
25 f3 (a)
26 long a;
28 int i;
29 for (i = 0; i < 10; i++)
31 if (--a == 0)
32 return i;
34 return -1;
37 f4 (a)
38 long a;
40 int i;
41 for (i = 0; i < 10; i++)
43 if (--a != 0)
44 return i;
46 return -1;
49 f5 (a)
50 long a;
52 int i;
53 for (i = 0; i < 10; i++)
55 if (++a == 0)
56 return i;
58 return -1;
61 f6 (a)
62 long a;
64 int i;
65 for (i = 0; i < 10; i++)
67 if (++a != 0)
68 return i;
70 return -1;
74 main()
76 if (f1 (5L) != 5)
77 abort ();
78 if (f2 (1L) != 0)
79 abort ();
80 if (f2 (0L) != 1)
81 abort ();
82 if (f3 (5L) != 4)
83 abort ();
84 if (f4 (1L) != 1)
85 abort ();
86 if (f4 (0L) != 0)
87 abort ();
88 if (f5 (-5L) != 4)
89 abort ();
90 if (f6 (-1L) != 1)
91 abort ();
92 if (f6 (0L) != 0)
93 abort ();
94 exit (0);