------- Comment #5 from steven at gcc dot gnu dot org 2006-09-15 21:22 ------- Test case:
------------------------------------- extern void bar (); extern void baz (); #define L1(x) \ case x##0: case x##1: case x##2: case x##3: \ case x##4: case x##5: case x##6: case x##7 #define L2(x) \ L1(x##0): L1(x##1): L1(x##2): L1(x##3): \ L1(x##4): L1(x##5): L1(x##6): L1(x##7) #define L3(x) \ L2(x##0): L2(x##1): L2(x##2): L2(x##3): \ L2(x##4): L2(x##5): L2(x##6): L2(x##7) #define L4(x) \ L3(x##0): L3(x##1): L3(x##2): L3(x##3): \ L3(x##4): L3(x##5): L3(x##6): L3(x##7) #define L5(x) \ L4(x##0): L4(x##1): L4(x##2): L4(x##3): \ L4(x##4): L4(x##5): L4(x##6): L4(x##7) #define CASES1 L5(00): L5(01): L5(02): L5(03) #define CASES2 L5(04): L5(05): L5(06): L5(07) void myfunction(unsigned int localChar) { switch (localChar) { CASES1: bar (); CASES2: baz (); break; }; return; }; ------------------------------------- -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29087