OSDN Git Service

PR middle-end/35456
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.c-torture / execute / 20000801-2.c
1 extern void abort(void);
2 extern void exit(int);
3 int bar(void);
4 int baz(void);
5
6 struct foo {
7   struct foo *next;
8 };
9
10 struct foo *test(struct foo *node)
11 {
12   while (node) {
13     if (bar() && !baz())
14       break;
15     node = node->next;
16   }
17   return node;
18 }
19
20 int bar (void)
21 {
22   return 0;
23 }
24
25 int baz (void)
26 {
27   return 0;
28 }
29
30 int main(void)
31 {
32   struct foo a, b, *c;
33
34   a.next = &b;
35   b.next = (struct foo *)0;
36   c = test(&a);
37   if (c)
38     abort();
39   exit (0);
40 }