6_8_30_switch_sparse_chain.c (587B)
1 /* Sparse case values: three cases spread over a 1000-element range. The 2 * density-driven jump-table policy must reject this and keep a chain. The 3 * test pins correct behavior independent of which strategy was picked. */ 4 static int pick(int x) { 5 switch (x) { 6 case 1: 7 return 11; 8 case 50: 9 return 22; 10 case 1000: 11 return 33; 12 default: 13 return 99; 14 } 15 } 16 17 int test_main(void) { 18 int s = 0; 19 s += pick(1); 20 s += pick(50); 21 s += pick(1000); 22 s += pick(2); 23 s += pick(999); 24 s += pick(1001); 25 return s - 263; /* 11+22+33+99+99+99 - 263 = 100 */ 26 }