2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / 981019-1.c
blob5d1f009009bfd16cce34ce076f23159ffe63933d
1 extern int f2(void);
2 extern int f3(void);
3 extern void f1(void);
5 void
6 ff(int fname, int part, int nparts)
8 if (fname) /* bb 0 */
10 if (nparts) /* bb 1 */
11 f1(); /* bb 2 */
13 else
14 fname = 2; /* bb 3 */
16 /* bb 4 is the branch to bb 10
17 (bb 10 is physically at the end of the loop) */
18 while (f3() /* bb 10 */)
20 if (nparts /* bb 5 */ && f2() /* bb 6 */)
22 f1(); /* bb 7 ... */
23 nparts = part;
24 if (f3()) /* ... bb 7 */
25 f1(); /* bb 8 */
26 f1(); /* bb 9 */
27 break;
31 if (nparts) /* bb 11 */
32 f1(); /* bb 12 */
33 return; /* bb 13 */
36 int main(void)
38 ff(0, 1, 0);
39 return 0;
42 int f3(void) { static int x = 0; x = !x; return x; }
43 void f1(void) { abort(); }
44 int f2(void) { abort(); }