| /* PR preprocessor/89971 */ | |
| /* { dg-do compile } */ | |
| /* { dg-options "-std=gnu99" { target c } } */ | |
| /* { dg-options "-std=c++20" { target c++ } } */ | |
| int a, c; | |
| #define m1(...) a /##__VA_OPT__(b) c | |
| #define m2(...) a /##__VA_OPT__() c | |
| #define m3(...) a##__VA_OPT__()##b = 1 | |
| #define m4(...) a##__VA_OPT__(b c d)##e = 2 | |
| int | |
| foo (void) | |
| { | |
| int d = m1(); | |
| int e = m2(1); | |
| int m3(1 2 3); | |
| int m4(); | |
| return d + e + ab + ae; | |
| } |