1  /* PR preprocessor/105732 */
       2  /* { dg-do compile } */
       3  /* { dg-options "-std=gnu99" { target c } } */
       4  /* { dg-options "-std=c++20" { target c++ } } */
       5  
       6  #define m1(p1, p2, p3) p3
       7  #define m2(p1, ...) 1##__VA_OPT__(foo)
       8  #define m3(...) m1(1, 2, m2)
       9  #define m4(p1, ...) 1 __VA_OPT__()
      10  #define m5(...) m1(1, 2, m4)
      11  #if m3(,)(,)
      12  #else
      13  #error
      14  #endif
      15  #if m5(,)(,)
      16  #else
      17  #error
      18  #endif