Vedant Kumar | 95a2a7f | 2016-05-19 23:44:02 +0000 | [diff] [blame^] | 1 | // Assorted macros to help test #include behavior across file boundaries. |
| 2 | |
| 3 | #define helper1 0 |
| 4 | |
| 5 | void 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__); |