blob: 0a2dadd1b81a371246adaa79bed94b869451809b [file] [log] [blame]
Vedant Kumar95a2a7f2016-05-19 23:44:02 +00001// Assorted macros to help test #include behavior across file boundaries.
2
3#define helper1 0
4
5void helper2(const char *, ...);
6
7#define M1(a, ...) helper2(a, ##__VA_ARGS__);
8
9// Note: M2 stresses vararg macro functions with macro arguments. The spelling
10// locations of the args used to be set to the expansion site, leading to
11// crashes (region LineEnd < LineStart). The regression test requires M2's line
12// number to be greater than the line number containing the expansion.
13#define M2(a, ...) M1(a, helper1, ##__VA_ARGS__);