1int global; 2 3extern void trap (int, int); 4static void quit (int); 5static int foo (int); 6 7int 8main () 9{ 10 if (foo (0) != 0 || global != 0) 11 quit (1); 12 if (foo (1) != 1 || global != 1) 13 quit (1); 14 if (foo (2) != 2 || global != 2) 15 quit (1); 16 if (foo (3) != 3 || global != 3) 17 quit (1); 18 if (foo (4) != 4 || global != 4) 19 quit (1); 20 if (foo (5) != 5 || global != 5) 21 quit (1); 22 if (foo (6) != 6 || global != 6) 23 quit (1); 24 if (foo (7) != 7 || global != 7) 25 quit (1); 26 if (foo (8) != 8 || global != 8) 27 quit (1); 28 quit (0); 29} 30 31void 32__main () 33{ 34} 35 36static void 37quit (int status) 38{ 39 trap (1, status); 40} 41 42int 43bar (int i) 44{ 45 global = i; 46 return i; 47} 48 49int 50bar0 (int i) 51{ 52 global = 0; 53 return i; 54} 55 56int 57bar1 (int i) 58{ 59 global = 1; 60 return i; 61} 62 63int 64bar2 (int i) 65{ 66 global = 2; 67 return i; 68} 69 70int 71bar3 (int i) 72{ 73 global = 3; 74 return i; 75} 76 77int 78bar4 (int i) 79{ 80 global = 4; 81 return i; 82} 83 84int 85bar5 (int i) 86{ 87 global = 5; 88 return i; 89} 90 91int 92bar6 (int i) 93{ 94 global = 6; 95 return i; 96} 97 98int 99bar7 (int i) 100{ 101 global = 7; 102 return i; 103} 104 105int 106foo (int i) 107{ 108 switch (i) 109 { 110 case 0: bar0 (0); return 0; 111 case 1: bar1 (1); return 1; 112 case 2: bar2 (2); return 2; 113 case 3: bar3 (3); return 3; 114 case 4: bar4 (4); return 4; 115 case 5: bar5 (5); return 5; 116 case 6: bar6 (6); return 6; 117 case 7: bar7 (7); return 7; 118 default: return bar (i); 119 } 120} 121