# hash: 1000 similar variable names -------------------------------------------
tcc -w -H 2>&1
// random numbers yield 1-2 collisions

#define A(n) $var_##n = 0x##n;
#define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) \
	     A(n##5) A(n##6) A(n##7) A(n##8) A(n##9)
#define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) \
	     B(n##5) B(n##6) B(n##7) B(n##8) B(n##9)

C(0) C(1) C(2) C(3) C(4) C(5) C(6) C(7) C(8) C(9)
EOF
variable hash: 1000 entries in 830 slots, max collisions 3
# hash: 1000 triples of similar variable names --------------------------------
tcc -w -H 2>&1
// random numbers yield 2-3 collisions

#define A(n) $var_##n = 0x##n; $sth_##n = 0x##n; $m##n##id = 0x##n;
#define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) \
	     A(n##5) A(n##6) A(n##7) A(n##8) A(n##9)
#define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) \
	     B(n##5) B(n##6) B(n##7) B(n##8) B(n##9)

C(0) C(1) C(2) C(3) C(4) C(5) C(6) C(7) C(8) C(9)
EOF
variable hash: 3000 entries in 2365 slots, max collisions 4
# hash: 5000 similar variable names -------------------------------------------
tcc -w -H 2>&1
// random numbers yield 2-4 collisions

// (Note: can't use much larger test cases or we run into problems with
//  ElectricFence)

#define A(n) $var_##n = 0x##n;
#define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) \
	     A(n##5) A(n##6) A(n##7) A(n##8) A(n##9)
#define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) \
	     B(n##5) B(n##6) B(n##7) B(n##8) B(n##9)
#define D(n) C(n##0) C(n##1) C(n##2) C(n##3) C(n##4) \
	     C(n##5) C(n##6) C(n##7) C(n##8) C(n##9)

D(0) D(1) D(2) D(3) D(4)
EOF
variable hash: 5000 entries in 3658 slots, max collisions 4
