1 /* { dg-do preprocess } */ 2 /* { dg-options "-ftrack-macro-expansion=2" } */ 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) /* { dg-error "valid preprocessing token" } */ 10 b(1, 2, 3) 11 #define c(x, y, z...) foo(x, ##z) 12 c(1, 2) 13 c(1, 2, 3) 14 #define d(x) fo(##x) /* { dg-error "valid preprocessing token" } */ 15 d(1) 16