+++ /dev/null
-extern void abort(void);
-extern void exit(int);
-int bar(void);
-int baz(void);
-
-struct foo {
- struct foo *next;
-};
-
-struct foo *test(struct foo *node)
-{
- while (node) {
- if (bar() && !baz())
- break;
- node = node->next;
- }
- return node;
-}
-
-int bar (void)
-{
- return 0;
-}
-
-int baz (void)
-{
- return 0;
-}
-
-int main(void)
-{
- struct foo a, b, *c;
-
- a.next = &b;
- b.next = (struct foo *)0;
- c = test(&a);
- if (c)
- abort();
- exit (0);
-}