mirror of
https://github.com/frida/tinycc
synced 2024-11-24 16:49:44 +03:00
f5f82abc99
Insert a space when it is required to prevent mistokenisation of the output, and also in a few cases where it is not strictly required, imitating GCC's behaviour.
27 lines
286 B
C
27 lines
286 B
C
#define Y(x) Z(x)
|
|
#define X Y
|
|
X(1)
|
|
X(X(1))
|
|
X(X(X(X(X(1)))))
|
|
|
|
#define A B
|
|
#define B A
|
|
return A + B;
|
|
|
|
#undef A
|
|
#undef B
|
|
|
|
#define A B+1
|
|
#define B A
|
|
return A + B;
|
|
|
|
#define A1 B1+1
|
|
#define B1 C1+2
|
|
#define C1 A1+3
|
|
return A1 + B1;
|
|
|
|
#define i() x
|
|
#define n() 1
|
|
i()i()n()n()i()
|
|
i()+i()-n()+n()-
|