Home | History | Annotate | Download | only in Inputs
      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__);
     14