1#define D1(s, ...) s 2#define D2(s, ...) s D1(__VA_ARGS__) 3#define D3(s, ...) s D2(__VA_ARGS__) 4#define D4(s, ...) s D3(__VA_ARGS__) 5 6D1(a) 7D2(a, b) 8D3(a, b, c) 9D4(a, b, c, d) 10 11 12#define __sun_attr___noreturn__ __attribute__((__noreturn__)) 13#define ___sun_attr_inner(__a) __sun_attr_##__a 14#define __sun_attr__(__a) ___sun_attr_inner __a 15#define __NORETURN __sun_attr__((__noreturn__)) 16__NORETURN 17#define X(...) 18#define Y(...) 1 __VA_ARGS__ 2 19Y(X X() ()) 20 21