fixup! riscv: Implement large addend for global address
[tinycc.git] / tests / pp / 18.c
blobde47790eaac73aac6c82264bf0265abd496b25e5
1 #define M_RETI_ARG27(x,y,z,aa, ...) aa
2 #define M_RET_ARG27(...) M_RETI_ARG27(__VA_ARGS__)
3 #define M_COMMA_P(...) M_RET_ARG27(__VA_ARGS__, 1, 1, 0, useless)
4 #define M_EMPTYI_DETECT(...) 0, 1,
5 #define M_EMPTYI_P_C1(...) M_COMMA_P(M_EMPTYI_DETECT __VA_ARGS__ () )
6 #define EX
7 #define empty(x)
8 #define fnlike(x) yeah x
9 /* If the following macro is called with empty arg (X183), the use
10 of 'x' between fnlike and '(' doesn't hinder the recognition of this
11 being a further fnlike macro invocation. */
12 #define usefnlike(x) fnlike x (x)
13 X181 M_EMPTYI_P_C1()
14 X182 M_EMPTYI_P_C1(x)
15 X183 usefnlike()
17 #define ABC(x) ABC : x
18 #define A(a,b,c) a ## b ## c
19 #define B(a,b,c) A(a,b,c)
20 #define C(a,b,c) a b c
22 C(A,C(,,),),
23 C(B(,,),B,B(,,)),
24 C(B(,,),B(,,),C)
25 )/* */(a b c)
27 #define TEST(x) TEST : x
28 #define K(a,b) a ## b
29 #define L(a,b) K( TE a , b ST )
30 L(,)(t e s t)