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" } */ 16