1  /* { dg-do preprocess } */
       2  /* { dg-options "-ftrack-macro-expansion=0" } */
       3  
       4  int foo(int, ...);
       5  
       6  #define a(x, y...) foo(x, ##y)
       7  a(1)
       8  a(1, 2, 3)
       9  #define b(x, y, z...) foo(x, ##y)
      10  b(1, 2, 3)			/* { dg-error "valid preprocessing token" } */
      11  #define c(x, y, z...) foo(x, ##z)
      12  c(1, 2)
      13  c(1, 2, 3)
      14  #define d(x) fo(##x)
      15  d(1)				/* { dg-error "valid preprocessing token" } */