foo(int * bar)1 foo(int *bar)
2 {
3   *bar = 8;
4 }
5 
bugger()6 bugger()
7 {
8   int oldDepth, newDepth;
9 
10   foo(&oldDepth);
11 
12   switch (oldDepth)
13     {
14     case 8:
15     case 500:
16       newDepth = 8;
17       break;
18 
19     case 5000:
20       newDepth = 500;
21       break;
22 
23     default:
24       newDepth = 17;
25       break;
26     }
27 
28   return newDepth - oldDepth;
29 }
30 
main()31 main()
32 {
33   if (bugger() != 0)
34     abort ();
35   exit (0);
36 }
37