14 lines
529 B
C
14 lines
529 B
C
|
// Assorted macros to help test #include behavior across file boundaries.
|
||
|
|
||
|
#define helper1 0
|
||
|
|
||
|
void helper2(const char *, ...);
|
||
|
|
||
|
#define M1(a, ...) helper2(a, ##__VA_ARGS__);
|
||
|
|
||
|
// Note: M2 stresses vararg macro functions with macro arguments. The spelling
|
||
|
// locations of the args used to be set to the expansion site, leading to
|
||
|
// crashes (region LineEnd < LineStart). The regression test requires M2's line
|
||
|
// number to be greater than the line number containing the expansion.
|
||
|
#define M2(a, ...) M1(a, helper1, ##__VA_ARGS__);
|