diff --git a/clang/test/Preprocessor/macro_rescan_varargs.c b/clang/test/Preprocessor/macro_rescan_varargs.c new file mode 100644 index 000000000000..3c79d0e99312 --- /dev/null +++ b/clang/test/Preprocessor/macro_rescan_varargs.c @@ -0,0 +1,10 @@ +// RUN: clang -E %s | grep -F "1: F, (, 'a', 'b', );" && +// RUN: clang -E %s | grep -F "2: 'a' + 'b';" +#define LPAREN ( +#define RPAREN ) +#define F(x, y) x + y +#define ELLIP_FUNC(...) __VA_ARGS__ + +1: ELLIP_FUNC(F, LPAREN, 'a', 'b', RPAREN); /* 1st invocation */ +2: ELLIP_FUNC(F LPAREN 'a', 'b' RPAREN); /* 2nd invocation */ +