tccpp: fix issues, add tests
[tinycc.git] / tests / pp / 11.c
blobc0edf629cab7709ecb2618182cfecb52a712833a
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__)
6 D1(a)
7 D2(a, b)
8 D3(a, b, c)
9 D4(a, b, c, d)
11 x D4(a, b, c, d) y
12 x D4(a, b, c) y
13 x D4(a, b) y
14 x D4(a) y
15 x D4() y
17 #define GNU_COMMA(X,Y...) X,## Y
19 x GNU_COMMA(A,B,C) y
20 x GNU_COMMA(A,B) y
21 x GNU_COMMA(A) y
22 x GNU_COMMA() y
24 #define __sun_attr___noreturn__ __attribute__((__noreturn__))
25 #define ___sun_attr_inner(__a) __sun_attr_##__a
26 #define __sun_attr__(__a) ___sun_attr_inner __a
27 #define __NORETURN __sun_attr__((__noreturn__))
28 __NORETURN
29 #define X(...)
30 #define Y(...) 1 __VA_ARGS__ 2
31 Y(X X() ())