------- 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

Reply via email to